All,

Is anyone else finding 'makedepend' to be broken in 7.0?  It gets into a
recursive hell when analyzing a project and has problems handling
dependencies that its predecessor breezed through.

e.g.:

------------------------- snip -----------------

SRCS = allegro_parse.c allegro_scan.c 

OBJS:= $(SRCS:.c=.o)

my_binary: $(OBJS)
        blah, blah, link it together


allegro_parse.c y.tab.h: allegro.y
        $(YACC) -d allegro.y
        mv -f y.tab.c allegro_parse.c

allegro_scan.c: allegro.l y.tab.h
        $(LEX) allegro.l
        mv -f lex.yy.c allegro_scan.c

depend: allegro_parse.c allegro_scan.c
        makedepend -- $(CPPFLAGS) -- $(SRCS)

------------------------ snip --------------------


For reasons unknown, a 'make depend' spits out reams of:

allegro.y:72: macro or #include recursion too deep
allegro.y:80: macro or #include recursion too deep
allegro.y:84: macro or #include recursion too deep
allegro.y:92: macro or #include recursion too deep
allegro.y:95: macro or #include recursion too deep
allegro.y:116: macro or #include recursion too deep
allegro.y:122: macro or #include recursion too deep
allegro.y:127: macro or #include recursion too deep
allegro.y:154: macro or #include recursion too deep
allegro.y:167: macro or #include recursion too deep
allegro.y:225: macro or #include recursion too deep
allegro.y:265: macro or #include recursion too deep
allegro.y:282: macro or #include recursion too deep
lex.yy.c:643: macro or #include recursion too deep
lex.yy.c:646: macro or #include recursion too deep
lex.yy.c:1632: macro or #include recursion too deep
allegro.l:144: macro or #include recursion too deep

(There is no macro on, nor anywhere near, any of those lines)

Someone is sure-as-heck making assumptions about lex.yy.c being a
dependency <g>.  The only occurance of this string is in an action.  I
know what I'm doing here and the preprocessor is being way too helpful.

So one of the generated dependencies is:

allegro_scan.o: allegro.l info.h lex.yy.c y.tab.h


Which naturally fails at compile time with:

make: *** No rule to make target `lex.yy.c', needed by \
            `allegro_scan.o'.  Stop.

If I comment-out the above line, it builds as always.

Is the cascade of cpp complaints avoidable?

Steve




_______________________________________________
Redhat-devel-list mailing list
[EMAIL PROTECTED]
https://listman.redhat.com/mailman/listinfo/redhat-devel-list

Reply via email to