1 XCOMM $TOG: Imake.cf /main/30 1998/04/28 13:55:25 barstow $
3 * To add support for another platform:
5 * 1. Identify a machine-specific cpp symbol. If your preprocessor
6 * does not have any built in, you will need to add the symbol to the
7 * cpp_argv table in config/imake/imakemdep.h and rebuild imake with
8 * the BOOTSTRAPCFLAGS variable set (see the macII for an example).
10 * 2. Add all machine-specific cpp symbols (either defined by you or by
11 * the preprocessor or compiler) to the predefs table in
12 * config/imake/imakemdep.h.
14 * 3. But a new #ifdef block below that defines MacroIncludeFile and
15 * MacroFile for your new platform and then #undefs the machine-
16 * specific preprocessor symbols (to avoid problems with file names).
18 * 4. Create a .cf file with the name given by MacroFile.
22 # define MacroIncludeFile <ultrix.cf>
23 # define MacroFile ultrix.cf
26 # define VaxArchitecture
30 # define MipsArchitecture
33 # define UltrixArchitecture
36 #if defined(vax) && !defined(UltrixArchitecture)
37 # define MacroIncludeFile <bsd.cf>
38 # define MacroFile bsd.cf
40 # define BSDArchitecture
41 # define VaxArchitecture
45 # define MacroIncludeFile <bsdi.cf>
46 # define MacroFile bsdi.cf
48 # define BSD386Architecture
49 # define i386BsdArchitecture
50 # define i386Architecture
55 # define MacroIncludeFile <NetBSD.cf>
56 # define MacroFile NetBSD.cf
58 # define NetBSDArchitecture
60 # define i386BsdArchitecture
61 # define i386Architecture
64 # if defined(__sparc__) || defined(sparc)
65 # define SparcArchitecture
71 # define MacroIncludeFile <FreeBSD.cf>
72 # define MacroFile FreeBSD.cf
74 # define FreeBSDArchitecture
76 # define i386BsdArchitecture
77 # define i386Architecture
80 #endif /* __FreeBSD__ */
83 /* Should be before the 'sun' entry because we may be cross-compiling */
84 # define MacroIncludeFile <Amoeba.cf>
85 # define MacroFile Amoeba.cf
86 # if defined(i80386) || defined(__i80386__)
88 # define i386Architecture
90 # if defined(mc68000) || defined(__mc68000__)
92 # define Sun3Architecture
93 # define SunArchitecture
95 # if defined(sparc) || defined(__sparc__)
97 # define SparcArchitecture
98 # define SunArchitecture
106 # define MacroIncludeFile <sun.cf>
107 # define MacroFile sun.cf
110 # define SVR4Architecture
114 # define SparcArchitecture
118 # define Sun3Architecture
122 # define i386Architecture
125 # define SunArchitecture
129 # define MacroIncludeFile <hp.cf>
130 # define MacroFile hp.cf
132 # define HPArchitecture
136 # define MacroIncludeFile <sco.cf>
137 # define MacroFile sco.cf
142 /* # define i386Architecture */
143 # define SCOArchitecture
147 # define MacroIncludeFile <usl.cf>
148 # define MacroFile usl.cf
152 # define SVR4Architecture
153 # define i386Architecture
154 # define USLArchitecture
158 # define MacroIncludeFile <ncr.cf>
159 # define MacroFile ncr.cf
163 # define SVR4Architecture
164 # define i386Architecture
165 # define NCRArchitecture
169 # define MacroIncludeFile <apollo.cf>
170 # define MacroFile apollo.cf
172 # define ApolloArchitecture
176 # define MacroIncludeFile <sony.cf>
177 # define MacroFile sony.cf
180 # define SonyArchitecture
184 # define Mc68020Architecture
188 # define MipsArchitecture
191 # define SVR4Architecture
193 # if !defined(bsd43) || defined(SYSTYPE_SYSV) || defined(_SYSTYPE_SYSV)
194 # define SonySysvArchitecture
196 # define SonyBsdArchitecture
202 # define MacroIncludeFile <pegasus.cf>
203 # define MacroFile pegasus.cf
205 # define PegasusArchitecture
209 # define MacroIncludeFile <m4330.cf>
210 # define MacroFile m4330.cf
212 # define M4330Architecture
216 # define MacroIncludeFile <macII.cf>
217 # define MacroFile macII.cf
219 # define MacIIArchitecture
223 # define MacroIncludeFile <cray.cf>
224 # define MacroFile cray.cf
230 # define CrayArchitecture
234 # define MacroIncludeFile <sgi.cf>
235 # define MacroFile sgi.cf
237 # define SGIArchitecture
239 # define MipsArchitecture
242 # define SVR4Architecture
244 # ifdef _SYSTYPE_SVR4
245 # undef _SYSTYPE_SVR4
246 # define SVR4Architecture
251 # define MacroIncludeFile <stellar.cf>
252 # define MacroFile stellar.cf
254 # define StellarArchitecture
257 #if defined(ibm) || defined(_IBMR2) || defined(ibm032) || defined(aix)
258 # define MacroIncludeFile <ibm.cf>
259 # define MacroFile ibm.cf
263 # define IBMArchitecture
266 # define PS2Architecture
270 # define RtArchitecture
274 # define AIXArchitecture
278 # define RsArchitecture
284 # define MacroIncludeFile <luna.cf>
285 # define MacroFile luna.cf
286 # define LunaArchitecture
289 # define Mc68000Architecture
292 # define Mc88000Architecture
297 # define MacroIncludeFile <Mips.cf>
298 # define MacroFile Mips.cf
301 # if defined(SYSTYPE_BSD43) || defined(BSD) || defined(BSD43)
302 # define MipsBsdArchitecture
304 # define MipsSysvArchitecture
309 # define MacroIncludeFile <moto.cf>
310 # define MacroFile moto.cf
313 # define MotoR3Architecture
316 # define MotoR4Architecture
318 #endif /* MOTOROLA */
322 # define i386Architecture
325 # define SVR4Architecture
326 # define MacroIncludeFile <svr4.cf>
327 # define MacroFile svr4.cf
333 # define MacroIncludeFile <x386.cf>
334 # define MacroFile x386.cf
335 # define i386SVR3Architecture
343 # define i386Architecture
344 # define SVR4Architecture
345 # define i386SVR4Architecture
346 # define MacroIncludeFile <svr4.cf>
347 # define MacroFile svr4.cf
350 # define MacroIncludeFile <x386.cf>
351 # define MacroFile x386.cf
352 # define i386SVR3Architecture
357 # define MacroIncludeFile <DGUX.cf>
358 # define MacroFile DGUX.cf
360 # define DguxArchitecture
364 # define MacroIncludeFile <convex.cf>
365 # define MacroFile convex.cf
369 # define ConvexArchitecture
370 #endif /* _convex_ */
373 # define MacroIncludeFile <osf1.cf>
374 # define MacroFile osf1.cf
375 # define OSF1Architecture
379 # define MipsArchitecture
383 # define AlphaArchitecture
388 # define MacroIncludeFile <Oki.cf>
389 # define MacroFile Oki.cf
391 # define i860SVR4Architecture
392 # define SVR4Architecture
397 # define MacroIncludeFile <Win32.cf>
398 # define MacroFile Win32.cf
399 # define Win32Architecture
403 # define MacroIncludeFile <linux.cf>
404 # define MacroFile linux.cf
406 # define LinuxArchitecture
408 # define i386Architecture
411 # ifndef i386Architecture
412 # define i386Architecture
417 # define AlphaArchitecture
419 # endif /* __alpha */
424 # define MacroIncludeFile <fujitsu.cf>
425 # define MacroFile fujitsu.cf
426 # define FujitsuArchitecture
428 # define UXPArchitecture
429 # define SVR4Architecture
432 # define SparcArchitecture
437 # define MacroIncludeFile <fujitsu.cf>
438 # define MacroFile fujitsu.cf
439 # define FujitsuArchitecture
441 # define mc68000Architecture
444 #if defined(sequent) || defined(_SEQUENT_)
445 # define MacroIncludeFile <sequent.cf>
446 # define MacroFile sequent.cf
449 # define Dynix3Architecture
453 # define DynixPtxArchitecture
455 # define SequentArchitecture
458 #if defined(_nec_ews_svr4) || defined(nec_ews_svr4) || defined(nec_ews_svr2) || defined(SX) || defined(_nec_up) || defined(_nec_ft) || defined(PC_UX)
462 # define MacroIncludeFile <nec.cf>
463 # define MacroFile nec.cf
464 # define NecArchitecture
467 #ifndef MacroIncludeFile
468 XCOMM WARNING: Imake.cf not configured; guessing at definitions!!!
469 XCOMM This might mean that BOOTSTRAPCFLAGS was not set when building imake.
470 #define MacroIncludeFile <generic.cf>
471 #define MacroFile generic.cf