On 1/30/06, Angel Tsankov <[EMAIL PROTECTED]> wrote: > > %% "Angel Tsankov" <[EMAIL PROTECTED]> 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 _______________________________________________ Help-make mailing list Help-make@gnu.org http://lists.gnu.org/mailman/listinfo/help-make