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's not as it life and death depends on this, anyway - I only discovered this effect while looking trying to understand the source. It is caused by rules without targets being ignored at the "case w_dcolon:" switch label in eval() in read.c - without expanding the dependency list. Back when expansion wasn't supposed to have side effects this must have been a sound optimization. -- Henning Makholm "De kan rejse hid og did i verden nok så flot Og er helt fortrolig med alverdens militær" _______________________________________________ Bug-make mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-make