summaryrefslogtreecommitdiff
path: root/usr.bin/make/make.c
diff options
context:
space:
mode:
authorSteve Price <steve@FreeBSD.org>1996-10-06 02:35:38 +0000
committerSteve Price <steve@FreeBSD.org>1996-10-06 02:35:38 +0000
commitc0d06fe46307038927b1e161cbb4d3f4527ac669 (patch)
treeab5bd5270becce85fa203b4b54d26c39fa7c14bc /usr.bin/make/make.c
parent81beb58a1ae55112cf28eb7227f5ca2940d84271 (diff)
Notes
Diffstat (limited to 'usr.bin/make/make.c')
-rw-r--r--usr.bin/make/make.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/usr.bin/make/make.c b/usr.bin/make/make.c
index d6959a80e78c..92074fc05b3b 100644
--- a/usr.bin/make/make.c
+++ b/usr.bin/make/make.c
@@ -207,7 +207,7 @@ Make_OODate (gn)
printf(".JOIN node...");
}
oodate = gn->childMade;
- } else if (gn->type & (OP_FORCE|OP_EXEC)) {
+ } else if (gn->type & (OP_FORCE|OP_EXEC|OP_PHONY)) {
/*
* A node which is the object of the force (!) operator or which has
* the .EXEC attribute is always considered out-of-date.
@@ -215,6 +215,8 @@ Make_OODate (gn)
if (DEBUG(MAKE)) {
if (gn->type & OP_FORCE) {
printf("! operator...");
+ } else if (gn->type & OP_PHONY) {
+ printf(".PHONY node...");
} else {
printf(".EXEC node...");
}
@@ -570,9 +572,16 @@ MakeAddAllSrc (cgnp, pgnp)
GNode *pgn = (GNode *) pgnp;
if ((cgn->type & (OP_EXEC|OP_USE|OP_INVISIBLE)) == 0) {
char *child;
- char *p1;
+ char *p1 = NULL;
- child = Var_Value(TARGET, cgn, &p1);
+ if (OP_NOP(cgn->type)) {
+ /*
+ * this node is only source; use the specific pathname for it
+ */
+ child = cgn->path ? cgn->path : cgn->name;
+ }
+ else
+ child = Var_Value(TARGET, cgn, &p1);
Var_Append (ALLSRC, child, pgn);
if (pgn->type & OP_JOIN) {
if (cgn->made == MADE) {