help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Improvement on parallel make


From: Brendan Heading
Subject: Re: Improvement on parallel make
Date: Mon, 11 Dec 2006 21:43:24 +0000
User-agent: Thunderbird 1.5.0.8 (Windows/20061025)

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.







reply via email to

[Prev in Thread] Current Thread [Next in Thread]