Subject: bin/1734: New parallel make behaves incorrectly and non-intuitively.
To: None <email@example.com>
From: Jason Thorpe <firstname.lastname@example.org>
Date: 11/06/1995 15:41:42
>Synopsis: New parallel make behaves incorrectly and non-intuitively.
>Responsible: bin-bug-people (Utility Bug People)
>Arrival-Date: Mon Nov 6 18:50:01 1995
>Originator: Jason Thorpe
Numerical Aerodynamic Simulation Project - NASA Ames
>Release: NetBSD 1.0A, of Nov 5, 1995
System: NetBSD antie 1.0A NetBSD 1.0A (ANTIE) #377: Mon Nov 6 11:56:55 PST 1995 thorpej@antie:/work/netbsd/src/sys/arch/i386/compile/ANTIE i386
The new parallel make behaves in ways that are at best non-intuitive
and at worst incorrect.
Go to the top of a NetBSD source tree, fresh, with no obj
directories, depend files, or objects. Type the following command:
% make -j 4 obj depend all
Watch as .depend files and objects are sometimes created before
the obj directories and other such weirdness.
Alternatively, go to your kernel build directory. Type:
% make clean depend all
Watch as new objects begin to appear before the clean is finished.
Make should process targets on the command line in order, regardless
of whether or not it is operating in parallel mode. Additionally,
it is arguable that when the `-j N' option is not used, make should
behave in it's traditional manner. I.e., the following:
foo: bar zap
should be processed in that order _without_ requiring the additional
If nothing else, this provides a measure of sanity for those
packages external to NetBSD which are not expecting this
non-intuitive and incorrect behavior.