help-make
[Top][All Lists]
Advanced

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

Re: Improvement on parallel make


From: Paul Smith
Subject: Re: Improvement on parallel make
Date: Tue, 12 Dec 2006 09:37:56 -0500

On Tue, 2006-12-12 at 14:23 +0000, Brendan Heading wrote:

> > There's one major disadvantage to this model: the .o's can no longer be
> > considered intermediate files.  That means they cannot be removed after
> > being added to the archive. 

> I see. I don't use Make this way but if there is a special concept of 
> "intermediate files" then perhaps we instead need something that treats 
> those in a special way whenever there is a parallel build in progress ?

You can look up intermediate files in the GNU make manual for details.

I'm not sure what you mean by your last sentence.  This issue (of
intermediate files) doesn't have anything to do with parallel vs. serial
compilation.  An intermediate file is a file make knows can be deleted
after its used; in future builds make can determine that the
intermediate file is not needed because the downstream prerequisites
have not changed.

If you do a full archive you cannot delete all the .o's because when one
changes, you need all the rest to recreate the archive.  If you delete
them then whenever one changes you have to rebuild them all: obviously
bogus.

If we add/remove them from the archive individually then after the .o
has been added to the archive make can remove it; if a different .o
needs to be changed next time the archive can be updated directly
without requiring all the other .o's.

Really, an archive is a kind of incremental target, but make has no
model for expressing incremental targets in general, and doesn't manage
them properly in a parallel environment.  There's actually a patch
floating around to force archives to be handled properly in parallel
builds.

-- 
-------------------------------------------------------------------------------
 Paul D. Smith <address@hidden>          Find some GNU make tips at:
 http://www.gnu.org                      http://make.paulandlesley.org
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist




reply via email to

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