Alexey Neyman wrote:
<<<
foo: bar .WAIT baz
fum: bar boo
fun: baz buu
<<<
the command "make -j 4 fum fun" will still serialize the "bar" and
"baz" targets, with "bar" completed before "baz" is started. Note
that the targets command line does not include "foo" - which
specifies the .WAIT behavior.
Further to my reply to Philip earlier, why would bar and baz need to be
serialized in the first place unless there was a dependency ? And if
there is a dependency, why would someone chose to use this syntax rather
than making that dependency explicit in the Makefile ?
BSD make behaves so, because it records the "bar" target as a
predecessor for the "baz" target. If both targets are to be remade,
they will be serialized. If only one is to be remade, there will be
no serialization imposed.
Is this an attempt to try to make GNU make compatible with BSD make ? I
do not believe that alone is sufficient justification for introducing a
measure that appears to exist only to work around the fact that some
people may not understand how to define dependencies correctly in their
makefiles.
It would be interesting to hear of some real-world cases involving
valid/recommended uses of Make, which require this suspicious-looking
syntax.
_______________________________________________
Help-make mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-make