version 1.34, 2003/11/08 19:17:29 |
version 1.35, 2004/04/07 13:11:36 |
|
|
*----------------------------------------------------------------------- |
*----------------------------------------------------------------------- |
*/ |
*/ |
void |
void |
Make_TimeStamp(pgn, cgn) |
Make_TimeStamp( |
GNode *pgn; /* the current parent */ |
GNode *pgn, /* the current parent */ |
GNode *cgn; /* the child we've just examined */ |
GNode *cgn) /* the child we've just examined */ |
{ |
{ |
if (is_strictly_before(pgn->cmtime, cgn->mtime)) |
if (is_strictly_before(pgn->cmtime, cgn->mtime)) |
pgn->cmtime = cgn->mtime; |
pgn->cmtime = cgn->mtime; |
|
|
|
|
/* Wrapper to call Make_TimeStamp from a forEach loop. */ |
/* Wrapper to call Make_TimeStamp from a forEach loop. */ |
static void |
static void |
MakeTimeStamp(pgn, cgn) |
MakeTimeStamp( |
void *pgn; /* the current parent */ |
void *pgn, /* the current parent */ |
void *cgn; /* the child we've just examined */ |
void *cgn) /* the child we've just examined */ |
{ |
{ |
Make_TimeStamp((GNode *)pgn, (GNode *)cgn); |
Make_TimeStamp((GNode *)pgn, (GNode *)cgn); |
} |
} |
|
|
*----------------------------------------------------------------------- |
*----------------------------------------------------------------------- |
*/ |
*/ |
bool |
bool |
Make_OODate(gn) |
Make_OODate(GNode *gn) /* the node to check */ |
GNode *gn; /* the node to check */ |
|
{ |
{ |
bool oodate; |
bool oodate; |
|
|
|
|
*----------------------------------------------------------------------- |
*----------------------------------------------------------------------- |
*/ |
*/ |
static void |
static void |
MakeAddChild(gnp, lp) |
MakeAddChild( |
void *gnp; /* the node to add */ |
void *gnp, /* the node to add */ |
void *lp; /* the list to which to add it */ |
void *lp) /* the list to which to add it */ |
{ |
{ |
GNode *gn = (GNode *)gnp; |
GNode *gn = (GNode *)gnp; |
Lst l = (Lst)lp; |
Lst l = (Lst)lp; |
|
|
*----------------------------------------------------------------------- |
*----------------------------------------------------------------------- |
*/ |
*/ |
void |
void |
Make_HandleUse(cgn, pgn) |
Make_HandleUse( |
GNode *cgn; /* The .USE node */ |
GNode *cgn, /* The .USE node */ |
GNode *pgn; /* The target of the .USE node */ |
GNode *pgn) /* The target of the .USE node */ |
{ |
{ |
GNode *gn; /* A child of the .USE node */ |
GNode *gn; /* A child of the .USE node */ |
LstNode ln; /* An element in the children list */ |
LstNode ln; /* An element in the children list */ |
|
|
} |
} |
} |
} |
static void |
static void |
MakeHandleUse(pgn, cgn) |
MakeHandleUse( |
void *pgn; /* the current parent */ |
void *pgn, /* the current parent */ |
void *cgn; /* the child we've just examined */ |
void *cgn) /* the child we've just examined */ |
{ |
{ |
Make_HandleUse((GNode *)pgn, (GNode *)cgn); |
Make_HandleUse((GNode *)pgn, (GNode *)cgn); |
} |
} |
|
|
*----------------------------------------------------------------------- |
*----------------------------------------------------------------------- |
*/ |
*/ |
void |
void |
Make_Update(cgn) |
Make_Update(GNode *cgn) /* the child node */ |
GNode *cgn; /* the child node */ |
|
{ |
{ |
GNode *pgn; /* the parent node */ |
GNode *pgn; /* the parent node */ |
char *cname; /* the child's name */ |
char *cname; /* the child's name */ |
|
|
*----------------------------------------------------------------------- |
*----------------------------------------------------------------------- |
*/ |
*/ |
static void |
static void |
MakeAddAllSrc(cgnp, pgnp) |
MakeAddAllSrc( |
void *cgnp; /* The child to add */ |
void *cgnp, /* The child to add */ |
void *pgnp; /* The parent to whose ALLSRC variable it should be */ |
void *pgnp) /* The parent to whose ALLSRC variable it should be */ |
/* added */ |
/* added */ |
{ |
{ |
GNode *cgn = (GNode *)cgnp; |
GNode *cgn = (GNode *)cgnp; |
|
|
*----------------------------------------------------------------------- |
*----------------------------------------------------------------------- |
*/ |
*/ |
void |
void |
Make_DoAllVar(gn) |
Make_DoAllVar(GNode *gn) |
GNode *gn; |
|
{ |
{ |
Lst_ForEach(&gn->children, MakeAddAllSrc, gn); |
Lst_ForEach(&gn->children, MakeAddAllSrc, gn); |
|
|
|
|
*----------------------------------------------------------------------- |
*----------------------------------------------------------------------- |
*/ |
*/ |
static bool |
static bool |
MakeStartJobs() |
MakeStartJobs(void) |
{ |
{ |
GNode *gn; |
GNode *gn; |
|
|
|
|
*----------------------------------------------------------------------- |
*----------------------------------------------------------------------- |
*/ |
*/ |
static void |
static void |
MakePrintStatus(gnp, cyclep) |
MakePrintStatus( |
void *gnp; /* Node to examine */ |
void *gnp, /* Node to examine */ |
void *cyclep; /* True if gn->unmade being non-zero implies |
void *cyclep) /* True if gn->unmade being non-zero implies |
* a cycle in the graph, not an error in an |
* a cycle in the graph, not an error in an |
* inferior */ |
* inferior */ |
{ |
{ |
|
|
*----------------------------------------------------------------------- |
*----------------------------------------------------------------------- |
*/ |
*/ |
bool |
bool |
Make_Run(targs) |
Make_Run(Lst targs) /* the initial list of targets */ |
Lst targs; /* the initial list of targets */ |
|
{ |
{ |
GNode *gn; /* a temporary pointer */ |
GNode *gn; /* a temporary pointer */ |
LIST examine; /* List of targets to examine */ |
LIST examine; /* List of targets to examine */ |