Subject: bin/1734: New parallel make behaves incorrectly and non-intuitively.
To: None <>
From: Jason Thorpe <>
List: netbsd-bugs
Date: 11/06/1995 15:41:42
>Number:         1734
>Category:       bin
>Synopsis:       New parallel make behaves incorrectly and non-intuitively.
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    bin-bug-people (Utility Bug People)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>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

	zap: bar

	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.