| #undef waitfor |
| #define waitfor mkwaitfor |
| |
| void addrule(char*, Word*, char*, Word*, int, int, char*); |
| void addrules(Word*, Word*, char*, int, int, char*); |
| void addw(Word*, char*); |
| void assert(char*, int); |
| int assline(Biobuf *, Bufblock *); |
| long atimeof(int,char*); |
| void atouch(char*); |
| void bufcpy(Bufblock *, char *, int); |
| Envy *buildenv(Job*, int); |
| void catchnotes(void); |
| int chgtime(char*); |
| void clrmade(Node*); |
| void delete(char*); |
| void delword(Word*); |
| int dorecipe(Node*); |
| void dumpa(char*, Arc*); |
| void dumpj(char*, Job*, int); |
| void dumpn(char*, Node*); |
| void dumpr(char*, Rule*); |
| void dumpv(char*); |
| void dumpw(char*, Word*); |
| void execinit(void); |
| int execsh(char*, char*, Bufblock*, Envy*, Shell*, Word*); |
| void Exit(void); |
| void expunge(int, char*); |
| void freebuf(Bufblock*); |
| void front(char*); |
| Node *graph(char*); |
| void growbuf(Bufblock *); |
| void initenv(void); |
| void initshell(void); |
| void insert(Bufblock *, int); |
| void ipop(void); |
| void ipush(void); |
| void killchildren(char*); |
| void *Malloc(int); |
| char *maketmp(int*); |
| int match(char*, char*, char*, Shell*); |
| char *membername(char*, int, char*); |
| void mk(char*); |
| unsigned long mkmtime(char*); |
| long mtime(char*); |
| Arc *newarc(Node*, Rule*, char*, Resub*); |
| Bufblock *newbuf(void); |
| Job *newjob(Rule*, Node*, char*, char**, Word*, Word*, Word*, Word*); |
| Word *newword(char*); |
| int nextrune(Biobuf*, int); |
| int nextslot(void); |
| void nproc(void); |
| void nrep(void); |
| int outofdate(Node*, Arc*, int); |
| void parse(char*, int, int); |
| int pipecmd(char*, Envy*, int*, Shell*, Word*); |
| void popshell(void); |
| void prusage(void); |
| void pushshell(void); |
| void rcopy(char**, Resub*, int); |
| void readenv(void); |
| void *Realloc(void*, int); |
| void rinsert(Bufblock *, Rune); |
| char *rulecnt(void); |
| void run(Job*); |
| char *setshell(Word*); |
| void setvar(char*, void*); |
| int shargv(Word*, int, char***); |
| char *shname(char*); |
| void shprint(char*, Envy*, Bufblock*, Shell*); |
| Word *stow(char*); |
| void subst(char*, char*, char*); |
| void symdel(char*, int); |
| void syminit(void); |
| Symtab *symlook(char*, int, void*); |
| void symstat(void); |
| void symtraverse(int, void(*)(Symtab*)); |
| void timeinit(char*); |
| long timeof(char*, int); |
| void touch(char*); |
| void update(int, Node*); |
| void usage(void); |
| Word *varsub(char**); |
| int waitfor(char*); |
| int waitup(int, int*); |
| Word *wdup(Word*); |
| int work(Node*, Node*, Arc*); |
| char *wtos(Word*, int); |