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

Reply via email to