Lines Matching refs:gn

143 make_abort(GNode *gn, int line)
148 Targ_PrintNode(gn, &two);
205 * gn the node to check
216 Make_OODate(GNode *gn)
224 if ((gn->type & (OP_JOIN|OP_USE|OP_USEBEFORE|OP_EXEC)) == 0) {
225 (void)Dir_MTime(gn, 1);
227 if (gn->mtime != 0) {
228 fprintf(debug_file, "modified %s...", Targ_FmtTime(gn->mtime));
249 if (gn->type & (OP_USE|OP_USEBEFORE)) {
258 } else if ((gn->type & OP_LIB) &&
259 ((gn->mtime==0) || Arch_IsLib(gn))) {
268 oodate = (gn->mtime == 0 || Arch_LibOODate(gn) ||
269 (gn->cmgn == NULL && (gn->type & OP_DOUBLEDEP)));
270 } else if (gn->type & OP_JOIN) {
279 fprintf(debug_file, "source %smade...", gn->flags & CHILDMADE ? "" : "not ");
281 oodate = (gn->flags & CHILDMADE) ? TRUE : FALSE;
282 } else if (gn->type & (OP_FORCE|OP_EXEC|OP_PHONY)) {
288 if (gn->type & OP_FORCE) {
290 } else if (gn->type & OP_PHONY) {
297 } else if ((gn->cmgn != NULL && gn->mtime < gn->cmgn->mtime) ||
298 (gn->cmgn == NULL &&
299 ((gn->mtime == 0 && !(gn->type & OP_OPTIONAL))
300 || gn->type & OP_DOUBLEDEP)))
310 if (gn->cmgn != NULL && gn->mtime < gn->cmgn->mtime) {
312 gn->cmgn->path);
313 } else if (gn->mtime == 0) {
329 if (gn->flags & FORCE)
332 oodate = (gn->flags & FORCE) ? TRUE : FALSE;
337 oodate = meta_oodate(gn, oodate);
349 Lst_ForEach(gn->parents, MakeTimeStamp, gn);
376 GNode *gn = (GNode *)gnp;
379 if ((gn->flags & REMAKE) == 0 && !(gn->type & (OP_USE|OP_USEBEFORE))) {
382 gn->name, gn->cohort_num);
383 (void)Lst_EnQueue(l, gn);
409 GNode *gn = (GNode *)gnp;
412 (void)Dir_MTime(gn, 0);
413 Make_TimeStamp(pgn, gn);
478 GNode *tgn, *gn = (GNode *)Lst_Datum(ln);
486 if (gn->uname == NULL) {
487 gn->uname = gn->name;
489 if (gn->name)
490 free(gn->name);
492 gn->name = Var_Subst(NULL, gn->uname, pgn, FALSE);
493 if (gn->name && gn->uname && strcmp(gn->name, gn->uname) != 0) {
495 tgn = Targ_FindNode(gn->name, TARG_NOCREATE);
497 gn = tgn;
500 (void)Lst_AtEnd(pgn->children, gn);
501 (void)Lst_AtEnd(gn->parents, pgn);
579 Make_Recheck(GNode *gn)
581 time_t mtime = Dir_MTime(gn, 1);
598 * from before, parse.h won't have been updated and gn->mtime will
606 * check for gn->children being empty as well...
608 if (!Lst_IsEmpty(gn->commands) || Lst_IsEmpty(gn->children)) {
609 gn->mtime = now;
635 if (NoExecute(gn) || (gn->type & OP_SAVE_CMDS) ||
636 (mtime == 0 && !(gn->type & OP_WAIT))) {
639 gn->name, Targ_FmtTime(gn->mtime));
641 gn->mtime = now;
646 gn->name, Targ_FmtTime(gn->mtime));
972 Make_DoAllVar(GNode *gn)
974 if (gn->flags & DONE_ALLSRC)
977 Lst_ForEach(gn->children, MakeUnmark, gn);
978 Lst_ForEach(gn->children, MakeAddAllSrc, gn);
980 if (!Var_Exists (OODATE, gn)) {
981 Var_Set(OODATE, "", gn, 0);
983 if (!Var_Exists (ALLSRC, gn)) {
984 Var_Set(ALLSRC, "", gn, 0);
987 if (gn->type & OP_JOIN) {
989 Var_Set(TARGET, Var_Value(ALLSRC, gn, &p1), gn, 0);
993 gn->flags |= DONE_ALLSRC;
1085 GNode *gn;
1094 gn = (GNode *)Lst_DeQueue(toBeMade);
1097 gn->name, gn->cohort_num);
1099 if (gn->made != REQUESTED) {
1101 fprintf(debug_file, "state %d\n", gn->made);
1103 make_abort(gn, __LINE__);
1106 if (gn->checked == checked) {
1110 gn->name, gn->cohort_num);
1111 gn->made = DEFERRED;
1114 gn->checked = checked;
1116 if (gn->unmade != 0) {
1121 gn->made = DEFERRED;
1122 Lst_ForEach(gn->children, MakeBuildChild, Lst_First(toBeMade));
1125 fprintf(debug_file, "dropped %s%s\n", gn->name, gn->cohort_num);
1129 gn->made = BEINGMADE;
1130 if (Make_OODate(gn)) {
1137 Make_DoAllVar(gn);
1138 Job_Make(gn);
1144 gn->made = UPTODATE;
1145 if (gn->type & OP_JOIN) {
1152 Make_DoAllVar(gn);
1154 Make_Update(gn);
1174 * cyclep True if gn->unmade being non-zero implies a
1190 GNode *gn = gnp;
1198 gn->name, gn->cohort_num,
1203 gn->name, gn->cohort_num,
1211 GNode *gn = (GNode *)gnp;
1214 if (gn->flags & DONECYCLE)
1218 if (gn->unmade == 0) {
1219 gn->flags |= DONECYCLE;
1220 switch (gn->made) {
1222 printf("`%s%s' is up to date.\n", gn->name, gn->cohort_num);
1232 gn->name, gn->cohort_num, gn->made, gn->flags, gn->type);
1236 gn->name, gn->cohort_num, gn->made, gn->flags, gn->type);
1238 Lst_ForEach(gn->order_pred, MakePrintStatusOrder, gn);
1243 gn->name, gn->cohort_num);
1246 gn->name, gn->cohort_num);
1254 gn->name, gn->cohort_num, gn->unmade);
1259 if (!(gn->flags & CYCLE)) {
1261 gn->flags |= CYCLE;
1262 Lst_ForEach(gn->children, MakePrintStatus, errors);
1264 gn->flags |= DONECYCLE;
1269 gn->flags |= DONECYCLE;
1270 Error("Graph cycles through `%s%s'", gn->name, gn->cohort_num);
1276 Lst_ForEach(gn->children, MakePrintStatus, errors);
1296 GNode *gn; /* a temporary pointer */
1310 gn = (GNode *)Lst_DeQueue(examine);
1312 if (gn->flags & REMAKE)
1315 gn->flags |= REMAKE;
1318 gn->name, gn->cohort_num);
1320 if ((gn->type & OP_DOUBLEDEP) && !Lst_IsEmpty (gn->cohorts)) {
1323 new = Lst_Duplicate(gn->cohorts, NULL);
1334 if (gn->type & OP_ARCHV) {
1336 eoa = strchr(gn->name, '(');
1337 eon = strchr(gn->name, ')');
1342 Var_Set(MEMBER, eoa + 1, gn, 0);
1343 Var_Set(ARCHIVE, gn->name, gn, 0);
1348 (void)Dir_MTime(gn, 0);
1349 Var_Set(TARGET, gn->path ? gn->path : gn->name, gn, 0);
1350 Lst_ForEach(gn->children, MakeUnmark, gn);
1351 Lst_ForEach(gn->children, MakeHandleUse, gn);
1353 if ((gn->type & OP_MADE) == 0)
1354 Suff_FindDeps(gn);
1357 Lst_ForEach(gn->children, MakeFindChild, gn);
1358 if (gn->unmade != 0)
1360 gn->name, gn->cohort_num, gn->unmade);
1363 if (gn->unmade != 0)
1364 Lst_ForEach(gn->children, MakeAddChild, examine);