Lines Matching refs:gn

191 GNode_FprintDetails(FILE *f, const char *prefix, const GNode *gn,  in GNode_FprintDetails()  argument
199 GNodeMade_Name(gn->made), in GNode_FprintDetails()
200 GNodeType_ToString(gn->type, &type_freeIt), in GNode_FprintDetails()
201 GNodeFlags_ToString(gn->flags, &flags_freeIt), in GNode_FprintDetails()
208 GNode_ShouldExecute(GNode *gn) in GNode_ShouldExecute() argument
210 return !((gn->type & OP_MAKE) in GNode_ShouldExecute()
217 GNode_UpdateYoungestChild(GNode *gn, GNode *cgn) in GNode_UpdateYoungestChild() argument
219 if (gn->youngestChild == NULL || cgn->mtime > gn->youngestChild->mtime) in GNode_UpdateYoungestChild()
220 gn->youngestChild = cgn; in GNode_UpdateYoungestChild()
224 IsOODateRegular(GNode *gn) in IsOODateRegular() argument
228 if (gn->youngestChild != NULL) { in IsOODateRegular()
229 if (gn->mtime < gn->youngestChild->mtime) { in IsOODateRegular()
231 GNode_Path(gn->youngestChild)); in IsOODateRegular()
237 if (gn->mtime == 0 && !(gn->type & OP_OPTIONAL)) { in IsOODateRegular()
242 if (gn->type & OP_DOUBLEDEP) { in IsOODateRegular()
263 GNode_IsOODate(GNode *gn) in GNode_IsOODate() argument
271 if (!(gn->type & (OP_JOIN | OP_USE | OP_USEBEFORE | OP_EXEC))) { in GNode_IsOODate()
272 Dir_UpdateMTime(gn, true); in GNode_IsOODate()
274 if (gn->mtime != 0) in GNode_IsOODate()
276 Targ_FmtTime(gn->mtime)); in GNode_IsOODate()
300 if (gn->type & (OP_USE | OP_USEBEFORE)) { in GNode_IsOODate()
307 } else if ((gn->type & OP_LIB) && (gn->mtime == 0 || Arch_IsLib(gn))) { in GNode_IsOODate()
314 oodate = (gn->mtime == 0 || Arch_LibOODate(gn) || in GNode_IsOODate()
315 (gn->youngestChild == NULL && in GNode_IsOODate()
316 (gn->type & OP_DOUBLEDEP))); in GNode_IsOODate()
317 } else if (gn->type & OP_JOIN) { in GNode_IsOODate()
324 gn->flags.childMade ? "" : "not "); in GNode_IsOODate()
325 oodate = gn->flags.childMade; in GNode_IsOODate()
326 } else if (gn->type & (OP_FORCE | OP_EXEC | OP_PHONY)) { in GNode_IsOODate()
333 if (gn->type & OP_FORCE) { in GNode_IsOODate()
335 } else if (gn->type & OP_PHONY) { in GNode_IsOODate()
342 } else if (IsOODateRegular(gn)) { in GNode_IsOODate()
353 if (gn->flags.force) in GNode_IsOODate()
356 oodate = gn->flags.force; in GNode_IsOODate()
361 oodate = meta_oodate(gn, oodate); in GNode_IsOODate()
373 for (ln = gn->parents.first; ln != NULL; ln = ln->next) in GNode_IsOODate()
374 GNode_UpdateYoungestChild(ln->datum, gn); in GNode_IsOODate()
435 GNode *gn = ln->datum; in Make_HandleUse() local
443 if (gn->uname == NULL) { in Make_HandleUse()
444 gn->uname = gn->name; in Make_HandleUse()
446 free(gn->name); in Make_HandleUse()
448 gn->name = Var_Subst(gn->uname, pgn, VARE_WANTRES); in Make_HandleUse()
450 if (gn->uname != NULL && strcmp(gn->name, gn->uname) != 0) { in Make_HandleUse()
452 GNode *tgn = Targ_FindNode(gn->name); in Make_HandleUse()
454 gn = tgn; in Make_HandleUse()
457 Lst_Append(&pgn->children, gn); in Make_HandleUse()
458 Lst_Append(&gn->parents, pgn); in Make_HandleUse()
504 HandleUseNodes(GNode *gn) in HandleUseNodes() argument
507 for (ln = gn->children.first; ln != NULL; ln = nln) { in HandleUseNodes()
509 MakeHandleUse(ln->datum, gn, ln); in HandleUseNodes()
519 Make_Recheck(GNode *gn) in Make_Recheck() argument
523 Dir_UpdateMTime(gn, true); in Make_Recheck()
524 mtime = gn->mtime; in Make_Recheck()
549 if (!Lst_IsEmpty(gn->commands) || Lst_IsEmpty(gn->children)) { in Make_Recheck()
550 gn->mtime = now; in Make_Recheck()
576 if (!GNode_ShouldExecute(gn) || (gn->type & OP_SAVE_CMDS) || in Make_Recheck()
577 (mtime == 0 && !(gn->type & OP_WAIT))) { in Make_Recheck()
579 gn->name, in Make_Recheck()
580 gn->mtime == 0 ? "nonexistent" : Targ_FmtTime(gn->mtime)); in Make_Recheck()
581 gn->mtime = now; in Make_Recheck()
584 gn->name, Targ_FmtTime(gn->mtime)); in Make_Recheck()
616 IsWaitingForOrder(GNode *gn) in IsWaitingForOrder() argument
620 for (ln = gn->order_pred.first; ln != NULL; ln = ln->next) { in IsWaitingForOrder()
637 ScheduleOrderSuccessors(GNode *gn) in ScheduleOrderSuccessors() argument
642 for (ln = gn->order_succ.first; ln != NULL; ln = ln->next) { in ScheduleOrderSuccessors()
815 UnmarkChildren(GNode *gn) in UnmarkChildren() argument
819 for (ln = gn->children.first; ln != NULL; ln = ln->next) { in UnmarkChildren()
912 GNode_SetLocalVars(GNode *gn) in GNode_SetLocalVars() argument
916 if (gn->flags.doneAllsrc) in GNode_SetLocalVars()
919 UnmarkChildren(gn); in GNode_SetLocalVars()
920 for (ln = gn->children.first; ln != NULL; ln = ln->next) in GNode_SetLocalVars()
921 MakeAddAllSrc(ln->datum, gn); in GNode_SetLocalVars()
923 if (!Var_Exists(gn, OODATE)) in GNode_SetLocalVars()
924 Var_Set(gn, OODATE, ""); in GNode_SetLocalVars()
925 if (!Var_Exists(gn, ALLSRC)) in GNode_SetLocalVars()
926 Var_Set(gn, ALLSRC, ""); in GNode_SetLocalVars()
928 if (gn->type & OP_JOIN) in GNode_SetLocalVars()
929 Var_Set(gn, TARGET, GNode_VarAllsrc(gn)); in GNode_SetLocalVars()
930 gn->flags.doneAllsrc = true; in GNode_SetLocalVars()
934 ScheduleRandomly(GNode *gn) in ScheduleRandomly() argument
945 Lst_Append(&toBeMade, gn); in ScheduleRandomly()
952 Lst_InsertBefore(&toBeMade, ln, gn); in ScheduleRandomly()
1003 MakeChildren(GNode *gn) in MakeChildren() argument
1008 for (ln = gn->children.first; ln != NULL; ln = ln->next) in MakeChildren()
1023 GNode *gn; in MakeStartJobs() local
1035 gn = Lst_Dequeue(&toBeMade); in MakeStartJobs()
1036 DEBUG2(MAKE, "Examining %s%s...\n", gn->name, gn->cohort_num); in MakeStartJobs()
1038 if (gn->made != REQUESTED) { in MakeStartJobs()
1040 GNodeMade_Name(gn->made)); in MakeStartJobs()
1041 Targ_PrintNode(gn, 2); in MakeStartJobs()
1047 if (gn->checked_seqno == checked_seqno) { in MakeStartJobs()
1052 DEBUG2(MAKE, "already checked %s%s\n", gn->name, in MakeStartJobs()
1053 gn->cohort_num); in MakeStartJobs()
1054 gn->made = DEFERRED; in MakeStartJobs()
1057 gn->checked_seqno = checked_seqno; in MakeStartJobs()
1059 if (gn->unmade != 0) { in MakeStartJobs()
1064 gn->made = DEFERRED; in MakeStartJobs()
1066 MakeChildren(gn); in MakeStartJobs()
1069 DEBUG2(MAKE, "dropped %s%s\n", gn->name, in MakeStartJobs()
1070 gn->cohort_num); in MakeStartJobs()
1074 gn->made = BEINGMADE; in MakeStartJobs()
1075 if (GNode_IsOODate(gn)) { in MakeStartJobs()
1078 return strcmp(gn->name, ".MAIN") != 0; in MakeStartJobs()
1079 GNode_SetLocalVars(gn); in MakeStartJobs()
1080 Job_Make(gn); in MakeStartJobs()
1084 gn->made = UPTODATE; in MakeStartJobs()
1085 if (gn->type & OP_JOIN) { in MakeStartJobs()
1093 GNode_SetLocalVars(gn); in MakeStartJobs()
1095 Make_Update(gn); in MakeStartJobs()
1107 MakePrintStatusOrderNode(GNode *ogn, GNode *gn) in MakePrintStatusOrderNode() argument
1113 gn->name, gn->cohort_num, ogn->name, ogn->cohort_num); in MakePrintStatusOrderNode()
1118 gn->name, gn->cohort_num, ogn->name, ogn->cohort_num); in MakePrintStatusOrderNode()
1124 MakePrintStatusOrder(GNode *gn) in MakePrintStatusOrder() argument
1127 for (ln = gn->order_pred.first; ln != NULL; ln = ln->next) in MakePrintStatusOrder()
1128 MakePrintStatusOrderNode(ln->datum, gn); in MakePrintStatusOrder()
1138 MakePrintStatus(GNode *gn, int *errors) in MakePrintStatus() argument
1140 if (gn->flags.doneCycle) { in MakePrintStatus()
1148 if (gn->unmade == 0) { in MakePrintStatus()
1149 gn->flags.doneCycle = true; in MakePrintStatus()
1150 switch (gn->made) { in MakePrintStatus()
1152 printf("`%s%s' is up to date.\n", gn->name, in MakePrintStatus()
1153 gn->cohort_num); in MakePrintStatus()
1162 printf("`%s%s' was not built", gn->name, in MakePrintStatus()
1163 gn->cohort_num); in MakePrintStatus()
1164 GNode_FprintDetails(stdout, " (", gn, ")!\n"); in MakePrintStatus()
1166 debug_printf("`%s%s' was not built", gn->name, in MakePrintStatus()
1167 gn->cohort_num); in MakePrintStatus()
1168 GNode_FprintDetails(opts.debug_file, " (", gn, in MakePrintStatus()
1172 MakePrintStatusOrder(gn); in MakePrintStatus()
1177 gn->name, gn->cohort_num); in MakePrintStatus()
1181 gn->name, gn->cohort_num); in MakePrintStatus()
1188 gn->name, gn->cohort_num, gn->unmade); in MakePrintStatus()
1193 if (!gn->flags.cycle) { in MakePrintStatus()
1195 gn->flags.cycle = true; in MakePrintStatus()
1196 MakePrintStatusList(&gn->children, errors); in MakePrintStatus()
1198 gn->flags.doneCycle = true; in MakePrintStatus()
1203 gn->flags.doneCycle = true; in MakePrintStatus()
1204 Error("Graph cycles through `%s%s'", gn->name, gn->cohort_num); in MakePrintStatus()
1210 MakePrintStatusList(&gn->children, errors); in MakePrintStatus()
1230 GNode *gn = ln->datum; in ExamineLater() local
1232 if (gn->flags.remake) in ExamineLater()
1234 if (gn->type & (OP_USE | OP_USEBEFORE)) in ExamineLater()
1238 gn->name, gn->cohort_num); in ExamineLater()
1239 Lst_Enqueue(examine, gn); in ExamineLater()
1266 GNode *gn = Lst_Dequeue(&examine); in Make_ExpandUse() local
1268 if (gn->flags.remake) in Make_ExpandUse()
1271 gn->flags.remake = true; in Make_ExpandUse()
1273 gn->name, gn->cohort_num); in Make_ExpandUse()
1275 if (gn->type & OP_DOUBLEDEP) in Make_ExpandUse()
1276 Lst_PrependAll(&examine, &gn->cohorts); in Make_ExpandUse()
1286 if (gn->type & OP_ARCHV) { in Make_ExpandUse()
1287 char *eoa = strchr(gn->name, '('); in Make_ExpandUse()
1288 char *eon = strchr(gn->name, ')'); in Make_ExpandUse()
1293 Var_Set(gn, MEMBER, eoa + 1); in Make_ExpandUse()
1294 Var_Set(gn, ARCHIVE, gn->name); in Make_ExpandUse()
1299 Dir_UpdateMTime(gn, false); in Make_ExpandUse()
1300 Var_Set(gn, TARGET, GNode_Path(gn)); in Make_ExpandUse()
1301 UnmarkChildren(gn); in Make_ExpandUse()
1302 HandleUseNodes(gn); in Make_ExpandUse()
1304 if (!(gn->type & OP_MADE)) in Make_ExpandUse()
1305 Suff_FindDeps(gn); in Make_ExpandUse()
1307 PretendAllChildrenAreMade(gn); in Make_ExpandUse()
1308 if (gn->unmade != 0) { in Make_ExpandUse()
1312 gn->name, gn->cohort_num, gn->unmade); in Make_ExpandUse()
1316 if (gn->unmade != 0) in Make_ExpandUse()
1317 ExamineLater(&examine, &gn->children); in Make_ExpandUse()