2 * $XConsortium: imakemdep.h,v 1.10 89/12/18 16:56:38 jim Exp $
4 * This file contains machine-dependent constants for the imake utility. When
5 * porting imake, read each of the steps below and add in any necessary
6 * definitions. Do *not* edit ccimake.c or imake.c!
11 * Step 1: imake_ccflags
12 * Define any special flags that will be needed to get imake.c to compile.
13 * These will be passed to the compile along with the contents of the
14 * make variable BOOTSTRAPCFLAGS.
18 #define imake_ccflags "-DSYSV"
22 #define imake_ccflags "-Wc,-Nd4000,-Ns3000 -DSYSV"
26 #define imake_ccflags "-DSYSV"
30 #define imake_ccflags "-DSYSV"
34 #define imake_ccflags "-DSYSV -DUSG"
38 #define imake_ccflags "-DSYSV -DUSG"
42 #define imake_ccflags "-Daix -DSYSV"
47 #define imake_ccflags "-DSYSV -I../../lib/X/mips -I/usr/include/bsd ../../lib/X/mips/mipssysvc.c -lbsd"
54 #define imake_ccflags "-O -DULTRIX31"
57 #define imake_ccflags "-O -DULTRIX40"
61 #else /* not CCIMAKE */
65 * If your OS doesn't have a dup2() system call to duplicate one file
66 * descriptor onto another, define such a mechanism here (if you don't
67 * already fall under the existing category(ies).
69 #if defined(SYSV) && !defined(CRAY)
70 #define dup2(fd1,fd2) ((fd1 == fd2) ? fd1 : (close(fd2), \
71 fcntl(fd1, F_DUPFD, fd2)))
76 * Step 3: FIXUP_CPP_WHITESPACE
77 * If your cpp collapses tabs macro expansions into a single space and
78 * replaces escaped newlines with a space, define this symbol. This will
79 * cause imake to attempt to patch up the generated Makefile by looking
80 * for lines that have colons in them (this is why the rules file escapes
81 * all colons). One way to tell if you need this is to see whether or not
82 * your Makefiles have no tabs in them and lots of @@ strings.
84 #if defined(sun) || defined(SYSV) || defined(_AIX)
85 #define FIXUP_CPP_WHITESPACE
91 * If the C preprocessor does not live in /lib/cpp, set this symbol to
92 * the appropriate location.
95 #define DEFAULT_CPP "/usr/lib/cpp"
101 * The following table contains the cpp flags that should be passed to
102 * cpp whenever a Makefile is being generated. If your preprocessor
103 * doesn't predefine any unique symbols, choose one and add it to the
104 * end of this table. Then, do the following:
106 * a. Use this symbol at the top of Imake.tmpl when setting MacroFile.
107 * b. Put this symbol in the definition of BootstrapCFlags in your
108 * <platform>.cf file.
109 * c. When doing a make World, always add "BOOTSTRAPCFLAGS=-Dsymbol"
110 * to the end of the command line.
112 * Note that you may define more than one symbols (useful for platforms
113 * that support multiple operating systems).
116 #define ARGUMENTS 50 /* number of arguments in various arrays */
117 char *cpp_argv[ARGUMENTS] = {
118 "cpp", /* replaced by the actual cpp program to exec */
119 "-I.", /* add current directory to include path */
121 "-Uunix", /* remove unix symbol so that filename unix.c okay */
124 "-DM4330", /* Tektronix */
127 "-DM4310", /* Tektronix */
130 "-DmacII", /* Apple A/UX */
133 "-Datt", /* AT&T products */
136 "-Daix", /* AIX instead of AOS */
138 #define ibm /* allow BOOTSTRAPCFLAGS="-Daix" */
142 "-Dibm", /* IBM PS/2 and RT under both AOS and AIX */
151 #else /* else MAKEDEPEND */
154 * If your compiler and/or preprocessor define any specific symbols, add
155 * them to the the following table. The definition of struct symtab is
156 * in util/makedepend/main.c.
158 struct symtab predefs[] = {
219 /* add any additional symbols before this line */
223 #endif /* MAKEDEPEND */