summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--usr.bin/make/compat.c10
-rw-r--r--usr.bin/make/engine.c15
-rw-r--r--usr.bin/make/gnode.h4
-rw-r--r--usr.bin/make/targ.c3
4 files changed, 14 insertions, 18 deletions
diff --git a/usr.bin/make/compat.c b/usr.bin/make/compat.c
index 91e20e53262..4e81db02377 100644
--- a/usr.bin/make/compat.c
+++ b/usr.bin/make/compat.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: compat.c,v 1.81 2013/05/25 11:54:14 espie Exp $ */
+/* $OpenBSD: compat.c,v 1.82 2013/05/30 08:58:38 espie Exp $ */
/* $NetBSD: compat.c,v 1.14 1996/11/06 17:59:01 christos Exp $ */
/*
@@ -217,15 +217,15 @@ CompatMake(void *gnp, /* The node to make */
*/
if (noExecute || is_out_of_date(Dir_MTime(gn)))
clock_gettime(CLOCK_REALTIME, &gn->mtime);
- if (is_strictly_before(gn->mtime, gn->cmtime))
- gn->mtime = gn->cmtime;
+ if (is_strictly_before(gn->mtime, gn->youngest->mtime))
+ gn->mtime = gn->youngest->mtime;
if (sib != gn) {
if (noExecute || is_out_of_date(Dir_MTime(sib)))
clock_gettime(CLOCK_REALTIME,
&sib->mtime);
if (is_strictly_before(sib->mtime,
- sib->cmtime))
- sib->mtime = sib->cmtime;
+ sib->youngest->mtime))
+ sib->mtime = sib->youngest->mtime;
}
if (DEBUG(MAKE))
printf("update time: %s\n",
diff --git a/usr.bin/make/engine.c b/usr.bin/make/engine.c
index f40fd03c6fd..ddc8dbc1010 100644
--- a/usr.bin/make/engine.c
+++ b/usr.bin/make/engine.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: engine.c,v 1.44 2013/05/25 11:54:14 espie Exp $ */
+/* $OpenBSD: engine.c,v 1.45 2013/05/30 08:58:38 espie Exp $ */
/*
* Copyright (c) 2012 Marc Espie.
*
@@ -286,9 +286,8 @@ Job_Touch(GNode *gn)
void
Make_TimeStamp(GNode *parent, GNode *child)
{
- if (is_strictly_before(parent->cmtime, child->mtime)) {
+ if (is_strictly_before(parent->youngest->mtime, child->mtime)) {
parent->youngest = child;
- parent->cmtime = child->mtime;
}
}
@@ -491,17 +490,17 @@ Make_OODate(GNode *gn)
printf(".EXEC node...");
}
oodate = true;
- } else if (is_strictly_before(gn->mtime, gn->cmtime) ||
- (is_out_of_date(gn->cmtime) &&
+ } else if (is_strictly_before(gn->mtime, gn->youngest->mtime) ||
+ (gn == gn->youngest &&
(is_out_of_date(gn->mtime) || (gn->type & OP_DOUBLEDEP)))) {
/*
* A node whose modification time is less than that of its
- * youngest child or that has no children (cmtime ==
- * OUT_OF_DATE) and either doesn't exist (mtime == OUT_OF_DATE)
+ * youngest child or that has no children (gn->youngest == gn)
+ * and either doesn't exist (mtime == OUT_OF_DATE)
* or was the object of a :: operator is out-of-date.
*/
if (DEBUG(MAKE)) {
- if (is_strictly_before(gn->mtime, gn->cmtime))
+ if (is_strictly_before(gn->mtime, gn->youngest->mtime))
printf("modified before source(%s)...",
gn->youngest->name);
else if (is_out_of_date(gn->mtime))
diff --git a/usr.bin/make/gnode.h b/usr.bin/make/gnode.h
index 77dc98c6bc8..e5b34ab377a 100644
--- a/usr.bin/make/gnode.h
+++ b/usr.bin/make/gnode.h
@@ -1,6 +1,6 @@
#ifndef GNODE_H
#define GNODE_H
-/* $OpenBSD: gnode.h,v 1.27 2013/05/25 11:54:14 espie Exp $ */
+/* $OpenBSD: gnode.h,v 1.28 2013/05/30 08:58:38 espie Exp $ */
/*
* Copyright (c) 2001 Marc Espie.
@@ -144,8 +144,6 @@ struct GNode_ {
int unmade; /* The number of unmade children */
struct timespec mtime; /* Its modification time */
- struct timespec cmtime; /* The modification time of its youngest
- * child */
GNode *youngest; /* Its youngest child */
GNode *impliedsrc;
diff --git a/usr.bin/make/targ.c b/usr.bin/make/targ.c
index 8d87d940477..ec04e3b3378 100644
--- a/usr.bin/make/targ.c
+++ b/usr.bin/make/targ.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: targ.c,v 1.73 2013/05/25 11:54:14 espie Exp $ */
+/* $OpenBSD: targ.c,v 1.74 2013/05/30 08:58:38 espie Exp $ */
/* $NetBSD: targ.c,v 1.11 1997/02/20 16:51:50 christos Exp $ */
/*
@@ -158,7 +158,6 @@ Targ_NewGNi(const char *name, const char *ename)
gn->childMade = false;
gn->order = 0;
ts_set_out_of_date(gn->mtime);
- ts_set_out_of_date(gn->cmtime);
gn->youngest = gn;
Lst_Init(&gn->cohorts);
Lst_Init(&gn->parents);