version 1.44, 2013/05/25 11:54:14 |
version 1.45, 2013/05/30 08:58:38 |
|
|
void |
void |
Make_TimeStamp(GNode *parent, GNode *child) |
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->youngest = child; |
parent->cmtime = child->mtime; |
|
} |
} |
} |
} |
|
|
|
|
printf(".EXEC node..."); |
printf(".EXEC node..."); |
} |
} |
oodate = true; |
oodate = true; |
} else if (is_strictly_before(gn->mtime, gn->cmtime) || |
} else if (is_strictly_before(gn->mtime, gn->youngest->mtime) || |
(is_out_of_date(gn->cmtime) && |
(gn == gn->youngest && |
(is_out_of_date(gn->mtime) || (gn->type & OP_DOUBLEDEP)))) { |
(is_out_of_date(gn->mtime) || (gn->type & OP_DOUBLEDEP)))) { |
/* |
/* |
* A node whose modification time is less than that of its |
* A node whose modification time is less than that of its |
* youngest child or that has no children (cmtime == |
* youngest child or that has no children (gn->youngest == gn) |
* OUT_OF_DATE) and either doesn't exist (mtime == OUT_OF_DATE) |
* and either doesn't exist (mtime == OUT_OF_DATE) |
* or was the object of a :: operator is out-of-date. |
* or was the object of a :: operator is out-of-date. |
*/ |
*/ |
if (DEBUG(MAKE)) { |
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)...", |
printf("modified before source(%s)...", |
gn->youngest->name); |
gn->youngest->name); |
else if (is_out_of_date(gn->mtime)) |
else if (is_out_of_date(gn->mtime)) |