[Top][All Lists]

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

Re: improvements for parallel makes ?

From: Alexey Neyman
Subject: Re: improvements for parallel makes ?
Date: Tue, 4 Apr 2006 13:20:14 +0400
User-agent: KMail/1.6.2


On Tuesday 04 April 2006 11:41, Boris Kolpackov wrote:
> I don't think that was the conclusion. I know Paul is thinking about
> implementing .WAIT or something similar. I, however, think 
> that .WAIT approach is a bad way to do this. I think instead we
> should add another type of prerequisite model which further relaxes
> the order-only one. 

I already expressed that the "truly order-only prerequisites" (TOOP), 
introduced as a part of the Makefile syntax, will indeed solve the 
problem. But, the necessity to add these prerequisites to each and 
every rule (including implicit ones) will nearly render this 
extension unusable.

A better solution could be to use such TOOPs as an internal 
representation. I.e., the following rule:

foo: bar .WAIT baz

will add 'baz' to the list of the TOOPs for the 'bar' target. The 
behavior would be different in the implementation I suggested and in 
the implementation using TOOPs in the following example (which I 
shamelessly borrowed from your reply to my original e-mail):

foo: bar .WAIT baz
fum: bar baz

With TOOPs, the 'bar' target will always be remade completely before 
the 'baz' target starts. With my implementation, the 'make fum' 
command will make both 'bar' and 'baz' targets simultaneously. It is 
just a decision whether such "waiting" semantics shall be associated 
with a dependency or with a target.

I checked BSD's make, and it applies this "waiting" semantics to a 
target, not to a dependency. I.e., in the above example, 'bar' and 
'baz' are serialized even if 'make fum' is invoked.


And a dishonorable Queen is NO QUEEN AT ALL!
                        -- Yehat, SC2

reply via email to

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