/* Compiling under Linux */ #include <string.h> #include <stdio.h> #define QUOTE(x) #x #define STR(x) QUOTE(x) static char rcsid[] = "$Id: linux.c,v 1.5 1998/09/16 20:41:09 drh Exp $"; char *suffixes[] = { ".c", ".i", ".s", "." STR(TARGET), ".out", 0 }; char inputs[256] = ""; char *cpp[] = {"/usr/bin/cpp", "-DLCC", "-U__GNUC__", "-D__STRICT_ANSI__", "-D__" STR(TARGET), "-D__STDC__=1", "-D__STRICT_ANSI__", "$1", "$2", "$3", 0 }; char *include[] = {"-I" LCCDIR "gcc/include", "-I/usr/include", 0 }; char *com[] = {LCCDIR "scc", "-target=" STR(TARGET), "$1", "$2", "$3", 0 }; char *as[] = {LCCDIR "as-" STR(TARGET), "-o$3", "$1", "$2", 0 }; char *peep[] = {LCCDIR "peep-" STR(TARGET), "$1", "$2", 0 }; char *ld[] = {LCCDIR "link-" STR(TARGET), "-path" LCCDIR "lib", "-llcc", "-e", "-n", "-o$3", "$1", "$2", 0 }; extern char *concat(char *, char *); int option(char *arg) { if (strncmp(arg, "-L", 2) == 0) { include[0] = concat("-I", concat(&arg[2], "/include")); com[0] = concat(&arg[2], "/scc"); as[0] = concat(&arg[2], "/as-" STR(TARGET)); peep[0] = concat(&arg[2], "/peep-" STR(TARGET)); ld[0] = concat(&arg[2], "/link-" STR(TARGET)); ld[1] = concat("-path", concat(&arg[2], "/lib")); } else if (strcmp(arg, "-p") == 0 || strcmp(arg, "-pg") == 0) { } else if (strcmp(arg, "-b") == 0) { /* Profiling not supported */; } else if (strcmp(arg, "-g") == 0) { as[1] = arg; } else if (strncmp(arg, "-ld=", 4) == 0) { ld[0] = &arg[4]; } else { return 0; } return 1; }