$PH/COOL-BDE/bdegen13/imakemanpagesLinux051114.txt ================================ man imake: on Mercury: ... -Ttemplate Tc #include IMAKE_TEMPLATE where Imake.tmpl and Imakefile may be overridden by the -T and -f command options, respectively. The IMAKE_TEMPLATE typically reads in a file containing machine- dependent parameters (specified as cpp symbols), a site-specific parameters file, a file defining variables, a file containing cpp macro functions for generat­ ing make rules, and finally the Imakefile (specified by INCLUDE_IMAKEFILE) in the current directory. The Imakefile uses the macro functions to indi­ cate what targets should be built; imake takes care of generating the appro­ priate rules. Imake configuration files contain two types of variables, imake variables and make variables. The imake variables are interpreted by cpp when imake is run. By convention they are mixed case. The make variables are written into the Makefile for later interpretation by make. By convention make variables are upper case. The rules file (usually named Imake.rules in the configuration directory) contains a variety of cpp macro functions that are configured according to the current platform. Imake replaces any occurrences of the string ``@@'' with a newline to allow macros that generate more than one line of make rules. For example, the macro etc. .... .... INPUT FILES Here is a summary of the files read by imake as used by X. The indentation shows what files include what other files. Imake.tmpl generic variables site.def site-specific, BeforeVendorCF defined *.cf machine-specific *Lib.rules shared library rules site.def site-specific, AfterVendorCF defined Imake.rules rules Project.tmpl X-specific variables *Lib.tmpl shared library variables Imakefile Library.tmpl library rules Server.tmpl server rules Threads.tmpl multi-threaded rules Note that site.def gets included twice, once before the *.cf file and once after. Although most site customizations should be specified after the *.cf file, some, such as the choice of compiler, need to be specified before, because other variable settings may depend on them. The first time site.def is included, the variable BeforeVendorCF is defined, and the second time, the variable AfterVendorCF is defined. All code in site.def should be inside an #ifdef for one of these symbols. FILES Imakefile.c temporary input file for cpp /tmp/Imf.XXXXXX temporary Makefile for -sc< /tmp/IIf.XXXXXX temporary Ic pwd /usr/X11R6/lib/X11/config mercury.cs.uml.edu(80)> lf Amoeba.cf generic.cf lnxdoc.rules NetBSD.cf sco5.cf sv4Lib.tmpl apollo.cf gnu.cf lnxdoc.tmpl noop.rules sco.cf svr3.cf bsd.cf gnuLib.rules lnxLib.rules nto.cf scoLib.rules svr4.cf bsdi.cf gnuLib.tmpl lnxLib.tmpl nto.rules sequent.cf Threads.tmpl bsdLib.rules host.def luna.cf Oki.cf ServerLib.tmpl ultrix.cf bsdLib.tmpl hp.cf lynx.cf oldlib.rules Server.tmpl usl.cf cde.rules hpLib.rules mach.cf OpenBSD.cf sgi.cf version.def cde.tmpl hpLib.tmpl macII.cf os2.cf sgiLib.rules Win32.cf convex.cf ibm.cf minix.cf os2Lib.rules sgiLib.tmpl Win32.rules cray.cf ibmLib.rules Mips.cf os2Lib.tmpl site.def WinLib.tmpl cygwin.cf ibmLib.tmpl Motif.rules os2.rules sony.cf X11.rules cygwin.rules Imake.cf Motif.tmpl osf1.cf sun.cf X11.tmpl cygwin.tmpl Imake.rules moto.cf osfLib.rules sunLib.rules x386.cf darwin.cf Imake.tmpl ncr.cf osfLib.tmpl sunLib.tmpl xf86.rules DGUX.cf isc.cf nec.cf pegasus.cf sv3Lib.rules xf86site.def FreeBSD.cf Library.tmpl necLib.rules QNX4.cf sv3Lib.tmpl xf86.tmpl fujitsu.cf linux.cf necLib.tmpl QNX4.rules sv4Lib.rules xfree86.cf mercury.cs.uml.edu(81)> --------------------------------------------------------------