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.
17 #define imake_ccflags "-Wc,-Nd4000,-Ns3000 -DSYSV"
21 #define imake_ccflags "-DSYSV"
25 #define imake_ccflags "-DSYSV"
29 #define imake_ccflags "-DSYSV -DUSG"
33 #define imake_ccflags "-DSYSV -DUSG"
37 #define imake_ccflags "-Daix -DSYSV"
42 #define imake_ccflags "-DSYSV -I../../lib/X/mips -I/usr/include/bsd ../../lib/X/mips/mipssysvc.c -lbsd"
49 #define imake_ccflags "-O -DULTRIX31"
52 #define imake_ccflags "-O -DULTRIX40"
56 #else /* not CCIMAKE */
60 * If your OS doesn't have a dup2() system call to duplicate one file
61 * descriptor onto another, define such a mechanism here (if you don't
62 * already fall under the existing category(ies).
64 #if defined(SYSV) && !defined(CRAY)
65 #define dup2(fd1,fd2) ((fd1 == fd2) ? fd1 : (close(fd2), \
66 fcntl(fd1, F_DUPFD, fd2)))
71 * Step 3: FIXUP_CPP_WHITESPACE
72 * If your cpp collapses tabs macro expansions into a single space and
73 * replaces escaped newlines with a space, define this symbol. This will
74 * cause imake to attempt to patch up the generated Makefile by looking
75 * for lines that have colons in them (this is why the rules file escapes
76 * all colons). One way to tell if you need this is to see whether or not
77 * your Makefiles have no tabs in them and lots of @@ strings.
79 #if defined(sun) || defined(SYSV) || defined(_AIX)
80 #define FIXUP_CPP_WHITESPACE
86 * If the C preprocessor does not live in /lib/cpp, set this symbol to
87 * the appropriate location.
90 #define DEFAULT_CPP "/usr/lib/cpp"
96 * The following table contains the cpp flags that should be passed to
97 * cpp whenever a Makefile is being generated. If your preprocessor
98 * doesn't predefine any unique symbols, choose one and add it to the
99 * end of this table. Then, do the following:
101 * a. Use this symbol at the top of Imake.tmpl when setting MacroFile.
102 * b. Put this symbol in the definition of BootstrapCFlags in your
103 * <platform>.cf file.
104 * c. When doing a make World, always add "BOOTSTRAPCFLAGS=-Dsymbol"
105 * to the end of the command line.
107 * Note that you may define more than one symbols (useful for platforms
108 * that support multiple operating systems).
111 #define ARGUMENTS 50 /* number of arguments in various arrays */
112 char *cpp_argv[ARGUMENTS] = {
113 "cpp", /* replaced by the actual cpp program to exec */
114 "-I.", /* add current directory to include path */
116 "-Uunix", /* remove unix symbol so that filename unix.c okay */
119 "-DM4330", /* Tektronix */
122 "-DM4310", /* Tektronix */
125 "-DmacII", /* Apple A/UX */
128 "-Datt", /* AT&T products */
131 "-Daix", /* AIX instead of AOS */
133 #define ibm /* allow BOOTSTRAPCFLAGS="-Daix" */
137 "-Dibm", /* IBM PS/2 and RT under both AOS and AIX */
146 #else /* else MAKEDEPEND */
149 * If your compiler and/or preprocessor define any specific symbols, add
150 * them to the the following table. The definition of struct symtab is
151 * in util/makedepend/main.c.
153 struct symtab predefs[] = {
214 /* add any additional symbols before this line */
218 #endif /* MAKEDEPEND */