blob: b11289743c69530d9933a0d902ee694036794ed8 [file] [log] [blame]
#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);