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 <[EMAIL PROTECTED]> 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 _______________________________________________ Help-make mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-make
