NetBSD/usr.bin/make
pk d5e7cd89bf When making a node which is the source of both a .MADE target and a
normal target (the latter dependency being the reason why it's made),
the .MADE parent should not be put on the `toBeMade' list again (in
Make_Update()) since it was already put on it in Make_ExpandUse().
Doing so would cause the rules for the .MADE target to be executed
(at least) twice, and also mess up the unmade children count of _its_
parent, resulting in spurious graph cylce detection.

To achieve this, make sure the unmade children count of the .MADE target
is set to zero before enqueueing it on the `toBeMade' list in
Make_ExpandUse(). Then, in Make_Update(), check if the parent has the
.MADE attribute before diddling with the queue.

For the same reason the status of a node must not be set to UPTODATE
unconditionally in compat mode, since that will prevent the node from
being built even if it is the source of a normal target. Instead,
check both its state and the type of the parent to decide whether to
continue on behalf of the current parent.
2002-02-07 16:48:22 +00:00
..
PSD.doc
lst.lib
Makefile Fix major bug in make(1) ... due to shadowing of the dotLast path used for 2002-01-27 01:50:54 +00:00
Makefile.boot
arch.c
bit.h
buf.c
buf.h
compat.c When making a node which is the source of both a .MADE target and a 2002-02-07 16:48:22 +00:00
cond.c
config.h Bleh, make the conditional work *correctly* this time (...teaches me not to 2002-01-16 03:40:29 +00:00
dir.c Resurrect revision 1.23: no need to stat .PHONY targets. 2002-02-03 20:08:30 +00:00
dir.h
for.c
hash.c
hash.h
job.c JobPrintCommand: avoid stale pointers on a node's command list. 2002-02-06 16:20:25 +00:00
job.h
list.h
lst.h
main.c Fix major bug in make(1) ... due to shadowing of the dotLast path used for 2002-01-27 01:50:54 +00:00
make.1 Edit -mdoc usage. 2002-02-07 03:15:06 +00:00
make.c When making a node which is the source of both a .MADE target and a 2002-02-07 16:48:22 +00:00
make.h Remove OP_NOSUFF, fix OP_MADE in compat mode [from pk], and make the OP_MADE 2002-02-04 17:24:56 +00:00
nonints.h Before we #define __attribute__ away, #undef it. 2002-01-18 03:36:00 +00:00
parse.c Remove OP_NOSUFF, fix OP_MADE in compat mode [from pk], and make the OP_MADE 2002-02-04 17:24:56 +00:00
pathnames.h
sprite.h
str.c
suff.c Remove OP_NOSUFF, fix OP_MADE in compat mode [from pk], and make the OP_MADE 2002-02-04 17:24:56 +00:00
targ.c Fix major bug in make(1) ... due to shadowing of the dotLast path used for 2002-01-27 01:50:54 +00:00
trace.c Fix major bug in make(1) ... due to shadowing of the dotLast path used for 2002-01-27 01:50:54 +00:00
trace.h
util.c Fix major bug in make(1) ... due to shadowing of the dotLast path used for 2002-01-27 01:50:54 +00:00
var.c Add `tu' and `tl' variable expansion modifiers, which transform the 2002-02-06 16:26:12 +00:00