Subject: CVS commit: basesrc/usr.bin/make
To: None <source-changes@netbsd.org>
From: Paul Kranenburg <pk@netbsd.org>
List: source-changes
Date: 03/20/2002 20:10:32
Module Name:	basesrc
Committed By:	pk
Date:		Wed Mar 20 18:10:32 UTC 2002

Modified Files:
	basesrc/usr.bin/make: make.c make.h parse.c targ.c

Log Message:
Xref: parse.c, rev 1.46; make.c, rev 1.23

In these revisions `::' dependency handling was simplified by not linking
the cohort nodes into the dependency graph. This broke dependency checking
on all but the first instance of a `::' target since all of the cohort nodes
now just form a collection of disconnected dependency graphs.

Fix this by keeping a back-reference in each cohort to its leader (the
first instance of a :: node with the same name) and a count of the number
of cohorts that need to be made before dependent nodes are scheduled.

Classically, we'd need six centurions for cohort, but in this case one
suffices...


To generate a diff of this commit:
cvs rdiff -r1.46 -r1.47 basesrc/usr.bin/make/make.c
cvs rdiff -r1.42 -r1.43 basesrc/usr.bin/make/make.h
cvs rdiff -r1.82 -r1.83 basesrc/usr.bin/make/parse.c
cvs rdiff -r1.26 -r1.27 basesrc/usr.bin/make/targ.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.