version 1.42, 2007/09/17 12:01:17 |
version 1.43, 2007/11/02 17:27:24 |
|
|
|
|
#include <limits.h> |
#include <limits.h> |
#include <stdio.h> |
#include <stdio.h> |
|
#include <signal.h> |
#include "config.h" |
#include "config.h" |
#include "defines.h" |
#include "defines.h" |
#include "dir.h" |
#include "dir.h" |
|
|
#include "timestamp.h" |
#include "timestamp.h" |
#include "engine.h" |
#include "engine.h" |
#include "lst.h" |
#include "lst.h" |
|
#include "targ.h" |
|
|
static LIST toBeMade; /* The current fringe of the graph. These |
static LIST toBeMade; /* The current fringe of the graph. These |
* are nodes which await examination by |
* are nodes which await examination by |
|
|
* the Dir_MTime occurs, thus leading us to believe that the |
* the Dir_MTime occurs, thus leading us to believe that the |
* file is unchanged, wreaking havoc with files that depend |
* file is unchanged, wreaking havoc with files that depend |
* on this one. |
* on this one. |
* XXX If we are saving commands pretend that |
|
* the target is made now. Otherwise archives with ... rules |
|
* don't work! |
|
*/ |
*/ |
if (noExecute || (cgn->type & OP_SAVE_CMDS) || |
if (noExecute || is_out_of_date(Dir_MTime(cgn))) |
is_out_of_date(Dir_MTime(cgn))) |
|
cgn->mtime = now; |
cgn->mtime = now; |
if (DEBUG(MAKE)) |
if (DEBUG(MAKE)) |
printf("update time: %s\n", time_to_string(cgn->mtime)); |
printf("update time: %s\n", time_to_string(cgn->mtime)); |
|
|
gn->make = true; |
gn->make = true; |
numNodes++; |
numNodes++; |
|
|
|
look_harder_for_target(gn); |
/* |
/* |
* Apply any .USE rules before looking for implicit |
* Apply any .USE rules before looking for implicit |
* dependencies to make sure everything that should have |
* dependencies to make sure everything that should have |