Follow-up Comment #12, bug #57751 (project make):

Re: comment #8: you are mistaken.

gmake has some deviations from POSIX and a classical UNIX make but these
deviations are *much* less important than the deviations found in bmake.

The BSD make program is not related to any UNIX make program, it was derived
from a program called pmake.

$ cat Makefile
foobar : $@.blurfl
$ make 
make: Fatal error: Don't know how to make target `.blurfl'
$ dmake
dmake: defaulting to parallel mode.
make: Fatal error: Don't know how to make target `.blurfl'
$ smake
smake: Can't find any source for '.blurfl'.
smake: Couldn't make 'foobar'.
$ gmake
gmake: *** No rule to make target `.blurfl', needed by `foobar'.  Stop.
$ bmake
bmake: don't know how to make foobar.blurfl. Stop

BTW: Make macros to the right of a colon are expanded by the parser already
and at that time, $@ is undefined.

I hope this explains the correct behavior of various make implementations.


Reply to this item at:


  Message sent via Savannah

Reply via email to