=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/make/engine.c,v retrieving revision 1.42 retrieving revision 1.43 diff -u -r1.42 -r1.43 --- src/usr.bin/make/engine.c 2013/05/14 18:47:40 1.42 +++ src/usr.bin/make/engine.c 2013/05/22 12:14:08 1.43 @@ -1,4 +1,4 @@ -/* $OpenBSD: engine.c,v 1.42 2013/05/14 18:47:40 espie Exp $ */ +/* $OpenBSD: engine.c,v 1.43 2013/05/22 12:14:08 espie Exp $ */ /* * Copyright (c) 2012 Marc Espie. * @@ -286,8 +286,7 @@ void Make_TimeStamp(GNode *parent, GNode *child) { - if (is_strictly_before(parent->cmtime, child->mtime)) { - parent->cmtime = child->mtime; + if (is_strictly_before(parent->youngest->mtime, child->mtime)) { parent->youngest = child; } } @@ -382,7 +381,7 @@ if (child->built_status == MADE) do_oodate = true; } else if (is_strictly_before(gn->mtime, child->mtime) || - (!is_strictly_before(child->mtime, now) && + (!is_strictly_before(child->mtime, starttime) && child->built_status == MADE)) do_oodate = true; if (do_oodate) { @@ -446,7 +445,7 @@ if (DEBUG(MAKE)) { if (!is_out_of_date(gn->mtime)) printf("modified %s...", - time_to_string(gn->mtime)); + time_to_string(&gn->mtime)); else printf("non-existent..."); } @@ -491,8 +490,8 @@ 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) || + (is_out_of_date(gn->youngest->mtime) && (is_out_of_date(gn->mtime) || (gn->type & OP_DOUBLEDEP)))) { /* * A node whose modification time is less than that of its @@ -501,7 +500,7 @@ * 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))