+static int make_argindex;
+static int cpp_argindex;
+static char *Imakefile = NULL;
+static char *Makefile = "Makefile";
+static char *Template = "Imake.tmpl";
+static char *ImakefileC = "Imakefile.c";
+static boolean haveImakefileC = FALSE;
+static char *cleanedImakefile = NULL;
+static char *program;
+static boolean verbose = FALSE;
+static boolean show = TRUE;
+
+static char *FindImakefile(char *);
+static char *ReadLine(FILE *, const char *);
+static char *CleanCppInput(char *);
+static char *Strdup(const char *);
+static char *Emalloc(int);
+static void LogFatal(const char *, ...);
+static void LogMsg(const char *, ...);
+static void Log(const char *, va_list);
+
+static void showit(FILE *);
+static void wrapup(void);
+static
+#ifdef SIGNALRETURNSINT
+int
+#else
+void
+#endif
+catch(int);
+static void init(void);
+static void AddMakeArg(char *);
+static void AddCppArg(char *);
+static void SetOpts(int, char **);
+static void showargs(char **);
+static void CheckImakefileC(const char *);
+static boolean optional_include(FILE *, const char *, const char *);
+static void doit(FILE *, const char *, char **);
+#if (defined(DEFAULT_OS_NAME) || defined(DEFAULT_OS_MAJOR_REV) || \
+ defined(DEFAULT_OS_MINOR_REV) || defined(DEFAULT_OS_TEENY_REV))
+static void parse_utsname(struct utsname *, const char *, char *, const char *);
+#endif
+#if (defined(DEFAULT_OS_MAJOR_REV) || defined(DEFAULT_OS_MINOR_REV) || defined(DEFAULT_OS_TEENY_REV))
+static const char *trim_version(const char *);
+#endif
+#ifdef linux
+static void get_distrib(FILE *);
+static void get_libc_version(FILE *);
+static void get_ld_version(FILE *);
+#endif
+#if defined(sun) && defined(__SVR4)
+static char *get_full_path(const char *program);
+static int get_sun_compiler_version(const char *fspec, const char *product,
+ int *cmajor, int *cminor);
+static void get_sun_compiler_versions(FILE *);
+#endif
+static void get_gcc_incdir(FILE *);
+static boolean define_os_defaults(FILE *);
+static void cppit(const char *i, const char *, const char *, FILE *, const char *);
+static void makeit(void);
+static void CleanCppOutput(FILE *, const char *);
+static boolean isempty(char *);
+static void writetmpfile(FILE *, const char *, int, const char *);