help-make
[Top][All Lists]
Advanced

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

Re: parallel rebuild


From: Philip Guenther
Subject: Re: parallel rebuild
Date: Mon, 30 Jan 2006 16:32:59 -0700

On 1/30/06, Angel Tsankov <address@hidden> wrote:
> > %% "Angel Tsankov" <address@hidden> writes:
...
> > Interesting.  I wasn't aware that parallelism worked on Windows
> > platforms.
>
> Ha-ha-haaa... What a futile attempt at being funny!

Umm, are you so sure that Paul's comment wasn't honest?  The Windows
version of GNU make is different in a number of way; it isn't obvious
that it supports the parallelism bits.

(In my experience, Paul doesn't waste his time with Windows bashing.)

...
> > That being the case, the order in which "build" is invoked relative to
> > "clean" is not defined.  It could be invoked first, or second.  I'm not
> > sure if this is your problem or not; without a definition of "build" I
> > don't see any other issue above.
>
> You have obviously missed the point, Paul.
<sarcasm elided>

Paul's point was that the chunk of makefile you gave does not include
anything that would force the actions associated with the 'clean'
target to be completed before the 'build' target is started when the
'rebuild' target is invoked.  Ergo, during a 'make rebuild', you may
be overlapping the removing of files with the determination of which
files must be rebuilt.  If the removing runs faster, then you'll see
stuff rebuilt.  If the determination of what must be rebuilt runs
faster then only some of the stuff will be rebuilt.  Apparently you
missed that point of Paul's.

So, how can you force the 'clean' actions to be completed before
starting the rebuild?  Simple: put the building in the action part of
the 'rebuild' target instead of trying to treat it as a dependency.

rebuild:   clean
        @$(MAKE) build

I see no purpose for the build_after_clean target (it has no effect on
the ordering of actions in your makefile), but perhaps in your real
makefile it has some useful actions associated with it.  If not, I
would suggest removing it to avoid confusing the issue.


Philip Guenther




reply via email to

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