version 1.116, 2016/05/13 12:18:11 |
version 1.117, 2016/10/21 16:12:38 |
|
|
static bool handle_undef(const char *); |
static bool handle_undef(const char *); |
#define ParseReadLoopLine(linebuf) Parse_ReadUnparsedLine(linebuf, "for loop") |
#define ParseReadLoopLine(linebuf) Parse_ReadUnparsedLine(linebuf, "for loop") |
static bool handle_bsd_command(Buffer, Buffer, const char *); |
static bool handle_bsd_command(Buffer, Buffer, const char *); |
|
static bool register_target(GNode *, struct ohash *); |
static char *strip_comments(Buffer, const char *); |
static char *strip_comments(Buffer, const char *); |
static char *resolve_include_filename(const char *, const char *, bool); |
static char *resolve_include_filename(const char *, const char *, bool); |
static void handle_include_file(const char *, const char *, bool, bool); |
static void handle_include_file(const char *, const char *, bool, bool); |
|
|
* tend to do anything with their local variables, but better |
* tend to do anything with their local variables, but better |
* safe than sorry. */ |
* safe than sorry. */ |
for (ln = Lst_First(&gn->parents); ln != NULL; ln = Lst_Adv(ln)) |
for (ln = Lst_First(&gn->parents); ln != NULL; ln = Lst_Adv(ln)) |
ParseLinkSrc((GNode *)Lst_Datum(ln), cohort); |
ParseLinkSrc(Lst_Datum(ln), cohort); |
cohort->type = OP_DOUBLEDEP|OP_INVISIBLE; |
cohort->type = OP_DOUBLEDEP|OP_INVISIBLE; |
Lst_AtEnd(&gn->cohorts, cohort); |
Lst_AtEnd(&gn->cohorts, cohort); |
|
|
|
|
|
|
for (ln=Lst_First(&gn->cohorts); ln != NULL; |
for (ln=Lst_First(&gn->cohorts); ln != NULL; |
ln = Lst_Adv(ln)){ |
ln = Lst_Adv(ln)){ |
apply_op(targets, tOp, |
apply_op(targets, tOp, Lst_Datum(ln)); |
(GNode *)Lst_Datum(ln)); |
|
} |
} |
} |
} |
break; |
break; |
|
|
Lst_Init(&curTargs); |
Lst_Init(&curTargs); |
Dir_Expandi(line, end, &emptyPath, &curTargs); |
Dir_Expandi(line, end, &emptyPath, &curTargs); |
Lst_Destroy(&emptyPath, Dir_Destroy); |
Lst_Destroy(&emptyPath, Dir_Destroy); |
while ((targName = (char *)Lst_DeQueue(&curTargs)) != NULL) { |
while ((targName = Lst_DeQueue(&curTargs)) != NULL) { |
add_target_node(targName, targName + strlen(targName)); |
add_target_node(targName, targName + strlen(targName)); |
} |
} |
Lst_Destroy(&curTargs, NOFREE); |
Lst_Destroy(&curTargs, NOFREE); |
|
|
|
|
for (ln = Lst_First(&paths); ln != NULL; |
for (ln = Lst_First(&paths); ln != NULL; |
ln = Lst_Adv(ln)) |
ln = Lst_Adv(ln)) |
Dir_AddDiri((Lst)Lst_Datum(ln), line, cp); |
Dir_AddDiri(Lst_Datum(ln), line, cp); |
break; |
break; |
} |
} |
default: |
default: |
|
|
return; |
return; |
} |
} |
|
|
while ((gn = (GNode *)Lst_DeQueue(&sources)) != |
while ((gn = Lst_DeQueue(&sources)) != NULL) |
NULL) |
|
ParseDoSrc(>argets, &gsources, tOp, |
ParseDoSrc(>argets, &gsources, tOp, |
gn->name, NULL); |
gn->name, NULL); |
cp = line; |
cp = line; |
|
|
} |
} |
|
|
/* postprocess group of targets prior to linking stuff with them */ |
/* postprocess group of targets prior to linking stuff with them */ |
bool |
static bool |
register_target(GNode *gn, struct ohash *t) |
register_target(GNode *gn, struct ohash *t) |
{ |
{ |
unsigned int slot; |
unsigned int slot; |