The purpose of 'make' is to build the minimum amount needed after a change (otherwise one could just type 'gcc *.c').
The purpose of '.INTERMEDIATE' is to say that a file does not need to exist, which is often used to save disk space. The missing file will have an effective timestamp of its latest dependency, until it actually needs to be built. In http://savannah.gnu.org/bugs/?func=detailbug&bug_id=3330&group_id=71 I have a fairly simple makefile, which uses .INTERMEDIATE. It produes very different results if run with '-j1' and '-j2'. I believe the makefile is correct. The behaviour I get with '-j1' is exactly the behaviour I expect. With '-j2' the system always creates the '.INTERMEDIATE' file, even if it does not need to. This appears to be because at the time it is deciding to do it, the file does not exist, but it has not yet completed building the dependencies, so it decides to build it anyhow. When it later finds that all of its dependencies were up-to-date, it does not stop running the rules to build the '.INTERMEDIATE' file. Icarus _______________________________________________ Bug-make mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-make