/************************************************************/
parse_file_name(File *file);
breakup_command_line(Command *command);
set_target_symbol(Target *target,char *name, char *value);
new_target_symbol(Target *target,char *name,char *value);
incarnate(Target *deftarg,char *targname,char *pname,char *root);
instantiate_rule(Target *deftarg,char *targname,char *pname, char *root);
Target *new_rule(char *name);
parse_symbol_line(char *line);
parse_target_line(char *line,char *targs[],int *tnum,char *preqs[],int *pnum);
match_symbol(Symbol *symbol,char *name);
match_file(File *file,char *name);
match_prereq(Prereq *prereq,char *name);
match_target(Target *target,char *name);
Qentry *search_queue(Qentry *queue_header,char *value,int (*compare)());
init_queue(Qentry *queue_header);
include(char *input);
isinclude(char *curline);
void perform_commands();
void learn_rules();
char *substitute_symbols(char *input);
build(Target *target);
try_default(char *targname);
make(char *targname);
getrevdate(File *file);
File *new_file(char *name);
add_prereq(Target *targ, char *name);
add_shell_line(Target *targ, char *line);
new_symbol(char *name, char *value);
Target *new_target(char *name);
parse(FILE *infile);
main(int argc,char **argv);
usage();
/************************************************************/
char *findwhite(char *string);
char *findnonwhite(char *string);
char *talloc(int i);
void error(char *errmsg);
password(char **p);
char passnonsp(char **p);
char passpace(char **p);
char *strperm(char *s);
char *mstrcat(char *p, char *q);
char *lastnonspace(char *line);
char *getline(FILE *stream);
