[jamming] yet another newbie

Anton Evgrafov antone at colorado.edu
Wed Apr 6 17:58:03 PDT 2005


Hi,

I got stuck with the following problem. In my Jamfile I have:

SubDir TOP Parser.d ;
Library libparser : paux.C lex.yy.c y.tab.c ;
MyYacc y.tab.c y.tab.h : p.y ;
MyLex lex.yy.c : lexer.l y.tab.h ;

where y.tab.c, y.tab.h, and lex.yy.c are supposed to be generated by lex/yacc.
Basically, MyLex1 & MyYacc1 are the standard rules, which do not copy output 
files (see below). Anyway, I can run smoothly "jam lex.yy.c", which produces 
all three files as desired. Unfortunately, "jam all" fails miserably saying:

...can't find 2 target(s)...
...can't make 2 target(s)...
...skipped <Parser.d>lex.yy.o for lack of <Parser.d>lex.yy.c...
...skipped <Parser.d>y.tab.o for lack of <Parser.d>y.tab.c...

Any help?

--Anton

PS:
In $(TOP)/Jamrules we have:
rule MyLex
{
   Depends $(<) : $(>) ;
   MyLex1 $(<) : $(>) ;
   MakeLocate $(<) : $(LOCATE_SOURCE) ;
   Clean clean : $(<) ;
}
actions MyLex1
{
   $(LEX) $(LEXFLAGS) "-o$(1)" $(2[1]:Q)
}
rule MyYacc
{
   Depends $(<) : $(>) ;
   MyYacc1 $(<) : $(>) ;
   MakeLocate $(<) : $(LOCATE_SOURCE) ;
   Clean clean : $(<) ;
}
actions MyYacc1
{
   $(YACC) $(YACCFLAGS) "$(2)"
}



More information about the jamming mailing list