char *	Arch_FindSymbol ();
ReturnStatus	Arch_ParseArchive ();
void	Arch_Touch ();
void	Arch_TouchLib ();
int	Arch_MTime ();
int	Arch_MemMTime ();
void	Arch_FindLib ();
Boolean	Arch_LibOODate ();
void	Arch_Init ();
void	Compat_Run();
void	Dir_Init ();
Boolean	Dir_HasWildcards ();
void	Dir_Expand ();
char *	Dir_FindFile ();
int	Dir_MTime ();
void	Dir_AddDir ();
ClientData	Dir_CopyDir ();
char *	Dir_MakeFlags ();
void	Dir_Destroy ();
void	Dir_ClearPath ();
void	Dir_Concat ();
void	Dir_PrintDirectories();
void	Dir_PrintPath();
int	Make_TimeStamp ();
Boolean	Make_OODate ();
int	Make_HandleUse ();
void	Make_Update ();
void	Make_DoAllVar ();
Boolean	Make_Run ();
void	Make_FreeCommands ();
void	Rmt_Init();
void	Rmt_AddServer ();
Boolean	Rmt_Begin ();
void	Rmt_Exec ();
#ifndef RMT_NO_EXEC
Boolean	Rmt_Export();
#endif
Boolean	Rmt_ReExport();
int	Rmt_LastID();
void	Rmt_Done ();
Boolean	Rmt_Defer();
#ifdef RMT_WANTS_SIGNALS
Boolean	Rmt_Signal();
#endif
#ifdef RMT_WILL_WATCH
void	Rmt_Watch();
void	Rmt_Wait();
void	Rmt_Ignore();
void	Rmt_Event();
#endif
void    Job_PrintTarget ();
void	Job_Touch ();
Boolean	Job_CheckCommands ();
void	Job_CatchChildren ();
void	Job_CatchOutput ();
Boolean	Job_Make ();
char *	Job_ShellPath ();
void	Job_Init ();
Boolean	Job_Full ();
Boolean	Job_Empty ();
ReturnStatus	Job_ParseShell ();
int	Job_End ();
void	Job_Wait();
void	Job_AbortAll ();
void	Main_ParseArgLine ();
void	Main_Unlock ();
void	Main_Access ();
void	Error ();
void	Fatal ();
void	Punt ();
void	DieHorribly ();
void	Finish ();
void	Debug ();
void	Parse_Init();
void	Parse_Error ();
Boolean	Parse_AnyExport();
Boolean	Parse_IsVar ();
void	Parse_DoVar ();
void	Parse_AddIncludeDir ();
void	Parse_File();
Lst	Parse_MainName();
void	Suff_ClearSuffixes ();
Boolean	Suff_IsTransform ();
GNode *	Suff_AddTransform ();
void	Suff_AddSuffix ();
int	Suff_EndTransform ();
Lst	Suff_GetPath ();
void	Suff_DoPaths();
void	Suff_AddInclude ();
void	Suff_AddLib ();
void	Suff_FindDeps ();
void	Suff_SetNull();
void	Suff_Init ();
void	Suff_PrintAll();
void	Targ_Init ();
GNode *	Targ_NewGN ();
GNode *	Targ_FindNode ();
Lst	Targ_FindList ();
Boolean	Targ_Ignore ();
Boolean	Targ_Silent ();
Boolean	Targ_Precious ();
char *	Targ_Name ();
void	Targ_SetMain ();
int	Targ_PrintCmd ();
char *	Targ_FmtTime ();
void	Targ_PrintType ();
void	Rmt_Init();
void	Rmt_AddServer ();
Boolean	Rmt_Begin ();
Boolean	Rmt_ReExport();
void	Rmt_Exec ();
int	Rmt_LastID();
void	Rmt_Done ();
char *	Str_Concat ();
char *	Str_New ();
char **	Str_BreakString ();
void	Str_FreeVec ();
char *	Str_FindSubstring();
int	Str_Match();
void	Var_Destroy();
void	Var_Delete();
void	Var_Set ();
void	Var_Append ();
Boolean	Var_Exists();
char *	Var_Value ();
char *	Var_Parse ();
char *	Var_Subst ();
char *	Var_GetTail();
char *	Var_GetHead();
void	Var_Init ();
void	Var_Dump();
