GNode
Job_CheckCommands(GNode *gn, void (*abortProc)(const char *, ...))
ParseVErrorInternal(FILE *f, bool useVars, const GNode *gn,
Job_CheckCommands(GNode *gn, void (*abortProc)(const char *, ...))
ParseVErrorInternal(FILE *f, bool useVars, const GNode *gn,
GNode_VarTarget(GNode *gn) { return GNode_ValueDirect(gn, TARGET); }
GNode_VarTarget(GNode *gn)
*(GNode **)Vector_Push(&vec) = ln->datum;
Arch_ParseArchive(char **pp, GNodeList *gns, GNode *scope)
GNode *gn; /* New node */
Arch_Touch(GNode *gn)
Arch_TouchLib(GNode *gn MAKE_ATTR_UNUSED)
Arch_UpdateMTime(GNode *gn)
Arch_UpdateMemberMTime(GNode *gn)
GNode *pgn = ln->datum;
Arch_FindLib(GNode *gn, SearchPath *path)
RanlibOODate(const GNode *gn MAKE_ATTR_UNUSED)
Arch_LibOODate(GNode *gn)
Arch_IsLib(GNode *gn)
CompatDeleteTarget(GNode *gn)
GNode *gn = Targ_FindNode(".INTERRUPT");
DebugFailedTarget(const char *cmd, const GNode *gn)
Compat_RunCommand(const char *cmdp, GNode *gn, StringListNode *ln)
GNode *endNode = Targ_GetEndNode();
RunCommands(GNode *gn)
MakeInRandomOrder(GNode **gnodes, GNode **end, GNode *pgn)
GNode **it;
GNode *t = gnodes[r - 1];
MakeWaitGroupsInRandomOrder(GNodeList *gnodes, GNode *pgn)
GNode **nodes;
Vector_Init(&vec, sizeof(GNode *));
*(GNode **)Vector_Push(&vec) = ln->datum;
MakeNodes(GNodeList *gnodes, GNode *pgn)
GNode *cgn = ln->datum;
MakeUnmade(GNode *gn, GNode *pgn)
MakeOther(GNode *gn, GNode *pgn)
Compat_Make(GNode *gn, GNode *pgn)
GNode *gn = Targ_FindNode(".BEGIN");
GNode *errorNode = NULL;
GNode *gn = Lst_Dequeue(targets);
GNode *endNode = Targ_GetEndNode();
static GNode *curTarg;
GNode *gn = Targ_FindNode(node);
GNode *gn = Targ_FindNode(node);
ResolveMovedDepends(GNode *gn)
ResolveFullName(GNode *gn)
Dir_UpdateMTime(GNode *gn, bool forceRefresh)
void Dir_UpdateMTime(GNode *, bool);
TouchRegular(GNode *gn)
Job_Touch(GNode *gn, bool echo)
Job_CheckCommands(GNode *gn, void (*abortProc)(const char *, ...))
JobWriteShellCommands(Job *job, GNode *gn, bool *out_run)
Job_Make(GNode *gn)
GNode *node;
JobRun(GNode *target)
GNode *dotInterrupt = Targ_FindNode(".INTERRUPT");
GNode *dotEnd = Targ_GetEndNode();
GNode *gn = Targ_FindNode(target);
SwitchOutputTo(GNode *gn)
static GNode *lastNode = NULL;
GNode *
JobDeleteTarget(GNode *gn)
void Job_Make(GNode *);
GNode *Job_Node(Job *) MAKE_ATTR_USE;
void Job_Touch(GNode *, bool);
bool Job_CheckCommands(GNode *, void (*abortProc)(const char *, ...))
GNode *defaultNode; /* .DEFAULT node */
shouldDieQuietly(GNode *gn, int bf)
SetErrorVars(GNode *gn)
PrintOnError(GNode *gn, const char *msg)
static GNode *errorNode = NULL;
GNode *gn;
MakePrintStatusOrderNode(GNode *ogn, GNode *gn)
MakePrintStatusOrder(GNode *gn)
MakePrintStatus(GNode *gn, int *errors)
GNode *gn = ln->datum;
GNode *gn = Lst_Dequeue(&examine);
AddWaitDependency(GNodeListNode *prevWaitNode, GNode *waitNode)
GNode *gn = ln->datum;
GNode *pgn; /* 'parent' node we are examining */
GNode *cgn = ln->datum;
GNode *cgn = ln->datum;
GNode_FprintDetails(FILE *f, const char *prefix, const GNode *gn,
GNode_ShouldExecute(GNode *gn)
GNode_UpdateYoungestChild(GNode *gn, GNode *cgn)
IsOODateRegular(GNode *gn)
GNode_IsOODate(GNode *gn)
PretendAllChildrenAreMade(GNode *pgn)
GNode *cgn = ln->datum;
Make_HandleUse(GNode *cgn, GNode *pgn)
GNode *gn = ln->datum;
GNode *tgn = Targ_FindNode(gn->name);
MakeHandleUse(GNode *cgn, GNode *pgn, GNodeListNode *ln)
HandleUseNodes(GNode *gn)
Make_Recheck(GNode *gn)
UpdateImplicitParentsVars(GNode *cgn, const char *cname)
GNode *pgn = ln->datum;
IsWaitingForOrder(GNode *gn)
GNode *ogn = ln->datum;
static bool MakeBuildChild(GNode *, GNodeListNode *);
ScheduleOrderSuccessors(GNode *gn)
GNode *succ = ln->datum;
Make_Update(GNode *cgn)
GNode *centurion;
GNode *pgn = ln->datum;
UnmarkChildren(GNode *gn)
GNode *child = ln->datum;
MakeAddAllSrc(GNode *cgn, GNode *pgn)
GNode_SetLocalVars(GNode *gn)
ScheduleRandomly(GNode *gn)
MakeBuildChild(GNode *cn, GNodeListNode *toBeMadeNext)
MakeChildren(GNode *gn)
void Var_Delete(GNode *, const char *);
void Var_DeleteAll(GNode *scope);
void Var_Set(GNode *, const char *, const char *);
void Var_SetExpand(GNode *, const char *, const char *);
void Var_SetWithFlags(GNode *, const char *, const char *, VarSetFlags);
void Var_Append(GNode *, const char *, const char *);
void Var_AppendExpand(GNode *, const char *, const char *);
bool Var_Exists(GNode *, const char *) MAKE_ATTR_USE;
bool Var_ExistsExpand(GNode *, const char *) MAKE_ATTR_USE;
FStr Var_Value(GNode *, const char *) MAKE_ATTR_USE;
const char *GNode_ValueDirect(GNode *, const char *) MAKE_ATTR_USE;
FStr Var_Parse(const char **, GNode *, VarEvalMode);
char *Var_Subst(const char *, GNode *, VarEvalMode);
char *Var_SubstInTarget(const char *, GNode *);
void Var_Expand(FStr *, GNode *, VarEvalMode);
void Var_Dump(GNode *);
void Var_ReexportVars(GNode *);
void GNode_UpdateYoungestChild(GNode *, GNode *);
bool GNode_IsOODate(GNode *) MAKE_ATTR_USE;
time_t Make_Recheck(GNode *) MAKE_ATTR_USE;
void Make_HandleUse(GNode *, GNode *);
void Make_Update(GNode *);
void GNode_SetLocalVars(GNode *);
bool shouldDieQuietly(GNode *, int) MAKE_ATTR_USE;
void PrintOnError(GNode *, const char *);
void GNode_FprintDetails(FILE *, const char *, const GNode *, const char *);
bool GNode_ShouldExecute(GNode *gn) MAKE_ATTR_USE;
GNode_IsTarget(const GNode *gn)
GNode_Path(const GNode *gn)
GNode_IsWaitingFor(const GNode *gn)
GNode_IsReady(const GNode *gn)
GNode_IsDone(const GNode *gn)
GNode_IsError(const GNode *gn)
GNode_IsMainCandidate(const GNode *gn)
GNode_IsPrecious(const GNode *gn)
GNode_VarTarget(GNode *gn) { return GNode_ValueDirect(gn, TARGET); }
GNode_VarOodate(GNode *gn) { return GNode_ValueDirect(gn, OODATE); }
GNode_VarAllsrc(GNode *gn) { return GNode_ValueDirect(gn, ALLSRC); }
GNode_VarImpsrc(GNode *gn) { return GNode_ValueDirect(gn, IMPSRC); }
GNode_VarPrefix(GNode *gn) { return GNode_ValueDirect(gn, PREFIX); }
GNode_VarArchive(GNode *gn) { return GNode_ValueDirect(gn, ARCHIVE); }
GNode_VarMember(GNode *gn) { return GNode_ValueDirect(gn, MEMBER); }
struct GNode *youngestChild;
struct GNode *centurion;
extern GNode *defaultNode;
extern GNode *SCOPE_INTERNAL;
extern GNode *SCOPE_GLOBAL;
extern GNode *SCOPE_CMDLINE;
extern GNode *mainNode;
bool Arch_ParseArchive(char **, GNodeList *, GNode *);
void Arch_Touch(GNode *);
void Arch_TouchLib(GNode *);
void Arch_UpdateMTime(GNode *);
void Arch_UpdateMemberMTime(GNode *);
void Arch_FindLib(GNode *, SearchPath *);
bool Arch_LibOODate(GNode *) MAKE_ATTR_USE;
bool Arch_IsLib(GNode *) MAKE_ATTR_USE;
bool Compat_RunCommand(const char *, GNode *, StringListNode *);
void Compat_Make(GNode *, GNode *);
void PrintLocation(FILE *, bool, const GNode *);
bool Parse_VarAssign(const char *, bool, GNode *) MAKE_ATTR_USE;
GNode *Suff_AddTransform(const char *);
void Suff_EndTransform(GNode *);
void Suff_FindDeps(GNode *);
SearchPath *Suff_FindPath(GNode *) MAKE_ATTR_USE;
GNode *GNode_New(const char *) MAKE_ATTR_USE;
GNode *Targ_FindNode(const char *) MAKE_ATTR_USE;
GNode *Targ_GetNode(const char *) MAKE_ATTR_USE;
GNode *Targ_NewInternalNode(const char *) MAKE_ATTR_USE;
GNode *Targ_GetEndNode(void);
void Targ_PrintCmds(GNode *);
void Targ_PrintNode(GNode *, int);
meta_filter(GNode *gn, char *s, const char *filter)
meta_cmd_cmp(GNode *gn, char *a, char *b, bool filter)
meta_oodate(GNode *gn, bool oodate)
any_is_submake(GNode *gn)
printCMD(const char *ucmd, FILE *fp, GNode *gn)
printCMDs(GNode *gn, FILE *fp)
meta_needed(GNode *gn, const char *dname,
meta_create(BuildMon *pbm, GNode *gn)
meta_job_start(Job *job, GNode *gn)
meta_job_error(Job *job, GNode *gn, bool ignerr, int status)
meta_ignore(GNode *gn, const char *p)
void meta_job_start(struct Job *, GNode *);
void meta_job_error(struct Job *, GNode *, bool, int);
bool meta_oodate(GNode *, bool) MAKE_ATTR_USE;
GNode *gn = Targ_GetNode(targetName);
GNode *gn = GNode_New(".DEFAULT");
GNode *gn = Suff_IsTransform(name)
GNode *gn = Lst_Dequeue(&sources);
VarCheckSyntax(VarAssignOp op, const char *uvalue, GNode *scope)
VarAssign_EvalSubst(GNode *scope, const char *name, const char *uvalue,
VarAssign_EvalShell(const char *name, const char *uvalue, GNode *scope,
GNode *scope, FStr *out_true_avalue)
Parse_Var(VarAssign *var, GNode *scope)
GNode_AddCommand(GNode *gn, char *cmd)
static void Parse_Var(VarAssign *, GNode *);
GNode *mainNode;
static GNode *order_pred;
GNode *gn = ln->datum;
GNode *gn = ln->datum;
Parse_VarAssign(const char *line, bool finishDependencyGroup, GNode *scope)
RememberLocation(GNode *gn)
PrintLocation(FILE *f, bool useVars, const GNode *gn)
ParseVErrorInternal(FILE *f, bool useVars, const GNode *gn,
ParseErrorInternal(const GNode *gn,
LinkSource(GNode *pgn, GNode *cgn, bool isSpecial)
LinkToTargets(GNode *gn, bool isSpecial)
TryApplyDependencyOperator(GNode *gn, GNodeType op)
GNode *cohort;
GNode *gn;
GNode *gn;
GNode *gn;
GNode *gn = ln->datum;
GNode *tgn; /* Target GNode */
GNode *sgn; /* Source GNode */
ExpandWildcards(GNodeListNode *cln, GNode *pgn)
GNode *cgn = cln->datum;
GNode *gn;
ExpandChildrenRegular(char *p, GNode *pgn, GNodeList *members)
GNode *gn;
GNode *gn = Targ_GetNode(start);
ExpandChildren(GNodeListNode *cln, GNode *pgn)
GNode *cgn = cln->datum;
GNode *gn = Lst_Dequeue(&members);
ExpandAllChildren(GNode *gn)
Suff_FindPath(GNode *gn)
ApplyTransform(GNode *tgn, GNode *sgn, Suffix *tsuff, Suffix *ssuff)
GNode *gn; /* Node for the transformation rule */
ExpandMember(GNode *gn, const char *eoarch, GNode *mem, Suffix *memSuff)
static void FindDeps(GNode *, CandidateSearcher *);
FindDepsArchive(GNode *gn, CandidateSearcher *cs)
GNode *mem; /* Node for member */
FindDepsLib(GNode *gn)
FindDepsRegularKnown(const char *name, size_t nameLen, GNode *gn,
FindDepsRegularUnknown(GNode *gn, const char *sopref,
FindDepsRegularPath(GNode *gn, Candidate *targ)
FindDepsRegular(GNode *gn, CandidateSearcher *cs)
Suff_FindDeps(GNode *gn)
FindDeps(GNode *gn, CandidateSearcher *cs)
PrintTransformation(GNode *t)
GNode *node;
static GNode *
GNode *gn = ln->datum;
GNode *
GNode *gn = FindTransformByName(name);
Suff_EndTransform(GNode *gn)
RebuildGraph(GNode *transform, Suffix *suff)
UpdateTarget(GNode *target, Suffix *suff, bool *inout_removedMain)
GNode *gn = ln->datum;
GNode *gn)
static void GNode_Free(GNode *);
GNode *
GNode *gn;
GNode_Free(GNode *gn)
GNode *
GNode *
GNode *gn = Targ_NewInternalNode(name);
GNode *
GNode *gn = GNode_New(name);
GNode *
static GNode *endNode = NULL;
GNode *gn = Targ_GetNode(name);
GNode *gn = ln->datum;
Targ_PrintCmds(GNode *gn)
GNode_OpName(const GNode *gn)
Targ_PrintNode(GNode *gn, int pass)
GNode *gn = ln->datum;
GNode *gn = ln->datum;
GNode *cohort = cln->datum;
GNode *gn = Job_Node(job);
Var_SetWithFlags(GNode *scope, const char *name, const char *val,
Var_Set(GNode *scope, const char *name, const char *val)
Var_SetExpand(GNode *scope, const char *name, const char *val)
Var_Append(GNode *scope, const char *name, const char *val)
Var_AppendExpand(GNode *scope, const char *name, const char *val)
Var_Exists(GNode *scope, const char *name)
Var_ExistsExpand(GNode *scope, const char *name)
Var_Value(GNode *scope, const char *name)
GNode_ValueDirect(GNode *gn, const char *name)
GNode *scope;
GNode *scope;
GNode *const_member scope;
GNode *gn;
GNode *SCOPE_CMDLINE;
GNode *SCOPE_GLOBAL;
GNode *SCOPE_INTERNAL;
GNode *scope;
const GNode *gn;
UndefinedShortVarValue(char varname, const GNode *scope)
GNode *scope, VarEvalMode emode,
ParseVarnameShort(char varname, const char **pp, GNode *scope,
FindLocalLegacyVar(Substring varname, GNode *scope,
GNode *scope,
VarEvalMode emode, GNode *scope, ExprDefined defined)
Var_Parse(const char **pp, GNode *scope, VarEvalMode emode)
GNode_FindVar(GNode *scope, Substring varname, unsigned hash)
VarSubstExpr(const char **pp, Buffer *buf, GNode *scope, VarEvalMode emode)
Var_Subst(const char *str, GNode *scope, VarEvalMode emode)
Var_SubstInTarget(const char *str, GNode *scope)
Var_Expand(FStr *str, GNode *scope, VarEvalMode emode)
Var_Dump(GNode *scope)
VarFindSubstring(Substring name, GNode *scope, bool elsewhere)
VarFind(const char *name, GNode *scope, bool elsewhere)
VarAdd(const char *name, const char *value, GNode *scope, VarSetFlags flags)
Var_Delete(GNode *scope, const char *varname)
Var_DeleteAll(GNode *scope)
ExportVarEnv(Var *v, GNode *scope)
ExportVar(const char *name, GNode *scope, VarExportMode mode)
Var_ReexportVars(GNode *scope)