Lst
static bool parse_archive(Buffer, const char **, Lst, SymTable *);
static void add_archive_node(Lst, const char *);
Arch_ParseArchive(const char **line, Lst nodes, SymTable *ctxt)
add_archive_node(Lst nodes, const char *name)
parse_archive(Buffer expand, const char **linePtr, Lst nodeLst, SymTable *ctxt)
extern bool Arch_ParseArchive(const char **, Lst, SymTable *);
Compat_Run(Lst targs, bool *has_errors, bool *out_of_date)
extern void Compat_Run(Lst, bool *, bool *);
Lst defaultPath= &theDefaultPath;
Lst expansions)
Dir_FindFileComplexi(const char *name, const char *ename, Lst path,
Dir_AddDiri(Lst path, const char *name, const char *ename)
Dir_Concat(Lst path1, Lst path2)
Dir_PrintPath(Lst path)
extern char *Dir_FindFileComplexi(const char *, const char *, Lst, bool);
extern Lst defaultPath;
Lst);
extern void Dir_AddDiri(Lst, const char *, const char *);
extern void Dir_Concat(Lst, Lst);
extern void Dir_PrintPath(Lst);
DirExpandWildi(const char *word, const char *eword, Lst path, Lst expansions)
DirExpandCurlyi(const char *word, const char *eword, Lst path, Lst expansions)
Dir_Expandi(const char *word, const char *eword, Lst path, Lst expansions)
static void PathMatchFilesi(const char *, const char *, Lst, Lst);
static void DirExpandWildi(const char *, const char *, Lst, Lst);
static void DirExpandCurlyi(const char *, const char *, Lst, Lst);
PathMatchFilesi(const char *word, const char *eword, Lst path, Lst expansions)
extern void Dir_Expandi(const char *, const char *, Lst, Lst);
void (*run_list)(Lst, bool *, bool *);
engine_run_list(Lst l, bool *has_errors, bool *out_of_date)
extern void engine_run_list(Lst, bool *, bool *);
Lst path; /* Search path along which to expand */
static unsigned long build_words_list(Lst, const char *);
build_words_list(Lst lst, const char *s)
extern void Lst_AtFront(Lst, void *);
extern void Lst_Append(Lst, LstNode, void *);
extern void Lst_AtEnd(Lst, void *);
extern void Lst_Remove(Lst, LstNode);
extern void Lst_ConcatDestroy(Lst, Lst);
extern void Lst_Concat(Lst, Lst);
extern void Lst_Requeue(Lst, LstNode);
extern LstNode Lst_Member(Lst, void *);
extern void Lst_Every(Lst, SimpleProc);
extern bool Lst_AddNew(Lst, void *);
extern void * Lst_DeQueue(Lst);
Lst_FindConst(Lst l, FindProcConst cProc, const void *d)
extern Lst Lst_Clone(Lst, Lst, DuplicateProc);
extern void Lst_Insert(Lst, LstNode, void *);
extern void Lst_Remove(Lst, LstNode);
extern void Lst_ConcatDestroy(Lst, Lst);
extern void Lst_Concat(Lst, Lst);
extern void Lst_Requeue(Lst, LstNode);
extern LstNode Lst_Member(Lst, void *);
extern void Lst_Every(Lst, SimpleProc);
extern bool Lst_AddNew(Lst, void *);
extern void * Lst_DeQueue(Lst);
Lst_FindConst(Lst l, FindProcConst cProc, const void *d)
extern Lst Lst_Clone(Lst, Lst, DuplicateProc);
extern void Lst_Insert(Lst, LstNode, void *);
extern void Lst_AtFront(Lst, void *);
extern void Lst_Append(Lst, LstNode, void *);
extern void Lst_AtEnd(Lst, void *);
Lst_AddNew(Lst l, void *d)
Lst_Append(Lst l, LstNode after, void *d)
Lst_AtEnd(Lst l, void *d)
Lst_Concat(Lst l1, Lst l2)
Lst_ConcatDestroy(Lst l1, Lst l2)
Lst_DeQueue(Lst l)
Lst_Destroy(Lst l, SimpleProc freeProc)
Lst
Lst_Clone(Lst nl, Lst l, DuplicateProc copyProc)
Lst_Every(Lst l, SimpleProc proc)
Lst_Init(Lst l)
Lst_Insert(Lst l, LstNode before, void *d)
Lst_AtFront(Lst l, void *d)
Lst_Member(Lst l, void *d)
Lst_Remove(Lst l, LstNode ln)
Lst_Requeue(Lst l, LstNode ln)
static void read_all_make_rules(bool, bool, Lst, struct dirs *);
static void read_makefile_list(Lst, struct dirs *);
add_dirpath(Lst l, const char *n)
read_makefile_list(Lst mk, struct dirs *d)
Lst makefiles, struct dirs *d)
Lst create = &to_create;
static void add_dirpath(Lst, const char *);
extern Lst create;
static void break_and_print_cycles(Lst);
static GNode *find_cycle(Lst, struct growableArray *);
static void add_targets_to_make(Lst);
add_targets_to_make(Lst todo)
Make_Run(Lst targs, bool *has_errors, bool *out_of_date)
break_and_print_cycles(Lst t)
find_cycle(Lst l, struct growableArray *cycle)
extern void Make_Run(Lst, bool *, bool *);
Lst systemIncludePath = &theSysIncPath;
Lst userIncludePath = &theUserIncPath;
static const char *parse_do_targets(Lst, unsigned int *, const char *);
Parse_MainName(Lst listmain) /* result list */
static unsigned int handle_special_targets(Lst);
Lst path = p;
parse_do_targets(Lst paths, unsigned int *op, const char *line)
handle_special_targets(Lst paths)
extern Lst systemIncludePath;
extern Lst userIncludePath;
extern void Parse_MainName(Lst);
record_possible_suffix(Suff *s, GNode *gn, char *eoname, Lst srcs, Lst targs)
record_possible_suffixes(GNode *gn, Lst srcs, Lst targs)
Lst slst)
Lst l;
SuffFindDeps(GNode *gn, Lst slst)
static void record_possible_suffix(Suff *, GNode *, char *, Lst, Lst);
static void record_possible_suffixes(GNode *, Lst, Lst);
static Suff *find_suffix_as_suffix(Lst, const char *, const char *);
static void SuffInsert(Lst, Suff *);
static bool SuffRemoveSrc(Lst);
static void SuffAddLevel(Lst, Src *);
static Src *SuffFindThem(Lst, Lst);
static Src *SuffFindCmds(Src *, Lst);
static void SuffFindDeps(GNode *, Lst);
static void SuffFindArchiveDeps(GNode *, Lst);
static void SuffFindNormalDeps(GNode *, Lst);
SuffInsert(Lst l, Suff *s)
Lst
Lst
Lst l, /* list to which to add the new level */
SuffRemoveSrc(Lst l)
Lst srcs, /* list of Src structures to search through */
Lst slst)
SuffFindCmds(Src *targ, Lst slst)
find_suffix_as_suffix(Lst l, const char *b, const char *e)
Lst slst)
extern Lst find_suffix_path(GNode *);
extern Lst find_best_path(const char *name);
Targ_FindList(Lst nodes, Lst names)
extern void Targ_FindList(Lst, Lst);
Lst l = find_suffix_path(a);