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