Further strange behavior of the parser

2002-12-12 Thread Henning Makholm
Further strange behavior that becomes apparent while I read through the code: pc-043:~/tmp/foo$ cat Makefile A = all:: B = all:: $(A) : aaa $(B) ; : bbb pc-043:~/tmp/foo$ gmake : aaa : bbb pc-043:~/tmp/foo$ gmake A="all:: ; : xxx" : xxx : aaa : bbb pc-043:~/tmp/foo$ gmake B="all:: ; : xxx"

Rules with no targets ignored too well?

2002-12-12 Thread Henning Makholm
Is the following a bug? pc-043:~/tmp/foo$ cat Makefile declare = $(eval all:: ; : $1) $(call declare, A) foo: $(call declare, B) ; $(call declare, C) : $(call declare, D) ; $(call declare, E) pc-043:~/tmp/foo$ gmake : A : B pc-043:~/tmp/foo$ Intuitively I'd expect make to run ": D" too. It