• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..05-Mar-2009-

Amoeba.cfH A D11-Jun-200012.7 KiB431369

DGUX.cfH A D11-Jun-2000554 2319

FreeBSD.cfH A D03-May-202211.8 KiB376331

Imake.cfH A D03-May-202220 KiB970920

Imake.rulesH A D11-Jun-200082.8 KiB2,6512,349

Imake.tmplH A D05-Mar-200933.2 KiB1,4341,365

ImakefileH A D11-Jun-20002.3 KiB143130

Library.tmplH A D11-Jun-200012.8 KiB413379

Mips.cfH A D11-Jun-20002.4 KiB7356

Motif.rulesH A D11-Jun-200026 KiB710653

Motif.tmplH A D11-Jun-200013.3 KiB569499

NetBSD.cfH A D11-Jun-20009.4 KiB378334

Oki.cfH A D11-Jun-2000797 3128

OpenBSD.cfH A D11-Jun-200010.5 KiB483377

READMEH A D11-Jun-200028.4 KiB682610

Server.tmplH A D11-Jun-20002.3 KiB9684

ServerLib.tmplH A D11-Jun-20003.9 KiB142127

Threads.tmplH A D11-Jun-20002.6 KiB9991

Win32.cfH A D11-Jun-20003.2 KiB129120

Win32.rulesH A D11-Jun-200015.6 KiB529457

WinLib.tmplH A D11-Jun-2000642 1412

X11.rulesH A D11-Jun-20002.3 KiB10392

X11.tmplH A D11-Jun-200044.3 KiB1,8161,720

apollo.cfH A D11-Jun-20001.1 KiB3933

bsd.cfH A D11-Jun-2000686 3024

bsdLib.rulesH A D11-Jun-20006.8 KiB239208

bsdLib.tmplH A D11-Jun-20001.8 KiB6049

bsdi.cfH A D11-Jun-20004.3 KiB152133

cde.rulesH A D11-Jun-20005.8 KiB227204

cde.tmplH A D11-Jun-200010.7 KiB440396

convex.cfH A D11-Jun-20002.6 KiB10391

cray.cfH A D11-Jun-20001.2 KiB5144

darwin.cfH A D19-Feb-200310.5 KiB484378

fujitsu.cfH A D11-Jun-20002.4 KiB9677

generic.cfH A D11-Jun-2000403 2218

hp.cfH A D30-Apr-20025.7 KiB211186

hpLib.rulesH A D11-Jun-20003.7 KiB120108

hpLib.tmplH A D11-Jun-20001.6 KiB3833

ibm.cfH A D11-Jun-20005.1 KiB169147

ibmLib.rulesH A D11-Jun-20006.4 KiB205182

ibmLib.tmplH A D11-Jun-20002.6 KiB7764

isc.cfH A D11-Jun-20004.6 KiB215168

linux.cfH A D05-Mar-200910.6 KiB391352

lnxLib.rulesH A D11-Jun-200019 KiB566526

lnxLib.tmplH A D11-Jun-20001.1 KiB4232

lnxdoc.rulesH A D11-Jun-20004.9 KiB167151

lnxdoc.tmplH A D11-Jun-20002.1 KiB10277

luna.cfH A D11-Jun-20003.1 KiB118107

lynx.cfH A D11-Jun-20009.2 KiB317302

macII.cfH A D11-Jun-20001.4 KiB5449

mach.cfH A D11-Jun-20002 KiB8267

minix.cfH A D11-Jun-20001.7 KiB6551

moto.cfH A D11-Jun-20001.5 KiB5945

ncr.cfH A D11-Jun-20004.1 KiB126105

nec.cfH A D11-Jun-20003 KiB132120

necLib.rulesH A D11-Jun-20002.8 KiB10490

necLib.tmplH A D11-Jun-2000517 3026

oldlib.rulesH A D11-Jun-20003 KiB11094

os2.cfH A D11-Jun-20006.5 KiB253211

os2.rulesH A D11-Jun-200017.2 KiB538466

os2Lib.rulesH A D11-Jun-20007.4 KiB245216

os2Lib.tmplH A D11-Jun-20003.4 KiB120111

osf1.cfH A D11-Jun-20006 KiB207188

osfLib.rulesH A D11-Jun-20003.4 KiB119109

osfLib.tmplH A D11-Jun-20002.3 KiB5346

pegasus.cfH A D11-Jun-2000880 3526

sco.cfH A D11-Jun-20006 KiB207172

sco5.cfH A D11-Jun-20004.2 KiB140119

scoLib.rulesH A D11-Jun-20001.7 KiB4439

sequent.cfH A D11-Jun-20002.1 KiB8567

sgi.cfH A D11-Jun-20007 KiB234208

sgiLib.rulesH A D11-Jun-20005.2 KiB167146

sgiLib.tmplH A D11-Jun-2000543 1512

site.defH A D29-Jan-20034.9 KiB168134

sony.cfH A D11-Jun-20002.8 KiB10492

sun.cfH A D30-Apr-200210.4 KiB390345

sunLib.rulesH A D11-Jun-20003.2 KiB112103

sunLib.tmplH A D11-Jun-20002.9 KiB9275

sv3Lib.rulesH A D11-Jun-20008.1 KiB233209

sv3Lib.tmplH A D11-Jun-20002.3 KiB7870

sv4Lib.rulesH A D11-Jun-20004.2 KiB138124

sv4Lib.tmplH A D11-Jun-20001.7 KiB7862

svr3.cfH A D11-Jun-20008.2 KiB336285

svr4.cfH A D11-Jun-20004.3 KiB218203

ultrix.cfH A D11-Jun-20002.1 KiB7868

usl.cfH A D11-Jun-20003.4 KiB11392

vnc.defH A D05-Feb-20094.2 KiB157137

vnclibs.defH A D03-May-2022409 119

x386.cfH A D11-Jun-20004.3 KiB150118

xf86.rulesH A D11-Jun-20004.9 KiB187160

xf86.tmplH A D11-Jun-20001.5 KiB6657

xf86site.defH A D11-Jun-200014.3 KiB578509

xfree86.cfH A D29-Jan-200325.8 KiB1,2291,087

README

1$TOG: README /main/66 1997/05/20 10:05:36 kaleb $
2
3
4
5
6$XFree86: xc/config/cf/README,v 1.1.1.9.2.3 1998/01/23 12:35:07 dawes Exp $
7
8The easiest way to write an Imakefile is to find another one that does
9something similar and copy/modify it!
10
11To change any of these variables, edit the site.def file.
12
13Imake.tmpl provides defaults for the following variables:
14
15	AlternateIncRoot	compiler needs -I to find project includes
16	AlternateUsrLibDir	linker needs -L to find project libraries
17	ArCmd			command used to create libraries
18	ArCmdBase		program name part of ArCmd
19	ArAddCmd		flags to have ArCmdBase add files to a library
20	ArExtCmd		flags to have ArCmdBase extract files
21	AsCmd			command used to run assembler
22	BootstrapCFlags		missing cpp symbols needed to get started
23	BourneShell		command used to run Bourne Shell
24	CCsuf			suffix that C++ source files have
25	CURDIR			current directory relative to top of sources
26	CcCmd			command to run C compiler
27	CompressCmd		command to run compress program
28	GzipCmd			command to run gzip program
29	ConstructMFLAGS		System V option to set MFLAGS make variable
30	CpCmd			command to copy one file to another
31	CplusplusCmd		command to run C++ compiler
32	CplusplusFilt		command to run C++ name demangler
33	CplusplusYaccCmd	command to produce C++ source from yacc source
34	CppCmd			command to run C preprocessor
35	CrossCompiling		cross compiling? (not fully supported)
36	DebuggableCDebugFlags	C compiler -I's and -D's to turn on debug info
37	DefaultCCOptions	default special C compiler options
38	DefaultCDebugFlags	debug/optimize flags for programs
39	DefaultUsrBin		program directory used even if PATH not set
40	DependFlags		extra makedepend flags
41	DoRanlibCmd		boolean for system uses ranlib
42	EqnCmd			command used for eqn
43	ExecableScripts		boolean for systems that can exec() #!/bin/sh
44	ExpandManNames		boolean to expand man pages names to long form
45	ExtraFilesToClean	extra files to remove on make clean
46	ExtraLibraries		system-specific libraries need to link
47	ExtraLoadFlags		system-specific loader flags
48	FileManSuffix		man suffix for file format pages
49	FilesToClean		files to delete in make clean
50	FortranCmd		command to run Fortran compiler
51	FortranDebugFlags	flags for Fortran debug info
52	FortranFlags		Fortran compiler flags
53	HasBSD44Sockets		boolean for system has BSD4.4 sockets
54	HasBsdMake		use the 4.4BSD variant of the make program?
55	HasBsearch		boolean for libc has bsearch()
56	HasBrokenCCForLink	boolean for brain damaged cc driver
57	HasCenterLineC		boolean for system has CenterLine C compiler
58	HasCenterLineCplusplus	boolean for system has CenterLine C++ compiler
59	HasClearmake		use Clearcase's clearmake make program?
60	HasCodeCenter		boolean for system has CodeCenter
61	HasCplusplus		system has a C++ compiler?
62	HasDECnet		system has DECnet?
63	HasFortran		boolean for system has Fortran compiler
64	HasGcc			boolean for system has GNU gcc compiler
65	HasGcc2			boolean for system has GNU gcc 2.x compiler
66	HasGcc2ForCplusplus	use gcc 2 for C++ programs?
67	HasGnuMake		use the GNU make program?
68	HasKrb5			system has Kerberos version 5 support?
69	HasLargeTmp		boolean for system has /tmp space
70	HasLatex		system has LaTeX document preparation software
71	HasLibCrypt		boolean for system has libcrypt
72	HasNdbm			boolean for system has ndbm routines
73	HasPoll			use poll() syscall?
74	HasPurify		boolean for system has Purify
75	HasPutenv		boolean for libc has putenv()
76	HasSecureRPC		boolean for Sun Secure RPC
77	HasSetUserContext	boolean for setusercontext()
78	HasSentinel		boolean for system has Sentinel available
79	HasSharedLibraries	boolean for system has shared libraries
80	HasShm			boolean for System V shared memory
81	HasSockets		boolean for system has BSD sockets
82	HasStrcasecmp		boolean for system implements str[n]casecmp
83	HasStreams		use STREAMS I/O interface?
84	HasSymLinks		boolean for system has symbolic links
85	HasTestCenter		boolean for system has TestCenter
86	HasVarDirectory		boolean for system has /var
87	HasVFork		boolean for system has vfork()
88	HasVoidSignalReturn	boolean for POSIX signal() procs
89	HasZlib			boolean for system has libz
90	IncRoot			parent of X11 include directory
91	InstBinFlags		install flags for binaries
92	InstDatFlags		install flags for data files
93	InstIncFlags		install flags for header files
94	InstKmemFlags		install flags for xload to get at /dev/kmem
95	InstLibFlags		install flags for libraries
96	InstManFlags		install flags for manual pages
97	InstPgmFlags		install flags for normal programs
98	InstUidFlags		install flags for xterm to chown /dev/ptys
99	InstallCmd		command to install files
100	Krb5Includes		where to include Kerberos header files from
101	Krb5Libraries		where to load Kerberos libraries from
102	LdCmd			command to run loader
103	LdCombineFlags		flags for incremental loading
104	LexCmd			command to run lex
105	LexLib			library for programs using lex output
106	LintCmd			command to run lint
107	LintLibFlag		flags to generate lint libraries
108	LintOpts		lint options to control strictness
109	LnCmd			command to link two files
110	LoaderLibPrefix		loader flags before libraries
111	LocalRulesFile		site-specific file with additional imake rules
112	LocalTmplFile		file with additional imake variables
113	MacroFile		name of machine-dependent config params file
114	MacroIncludeFile	<MacroFile>
115	MakeCmd			command to run make
116	Malloc0ReturnsNull	boolean for malloc(0) == NULL
117	Malloc0ReturnsNullDefines -D's to build libX11/libXt
118	MathLibrary		library for programs using C math functions
119	MsMacros		macro flag for TroffCmd, normally "-ms"
120	MvCmd			command to rename a file
121	NdbmDefines		-D's to turn on use of ndbm routines
122	NeedConstPrototoypes	whether const is supported
123	NeedFunctionPrototypes	whether or not to force function prototypes
124	NeedNestedPrototypes	whether nested prototypes are supported
125	NeedVarargsPrototypes	whether varargs prototypes are supported
126	NeedWidePrototypes	whether or not to widen function prototypes
127	NoOpCDebugFlags		C compiler flags to not debug or optimize
128	NoRConst		YES if const for structs of funcs is bad
129	OSMajorVersion		major version number of operating system
130	OSMinorVersion		minor version number of operating system
131	OptimizedCDebugFlags	C compiler flags to turn on optimization
132	PreProcessCmd		command to run /lib/cpp on scripts
133	RanlibCmd		command to clean up libraries
134	RanlibInstFlags		flags to ranlib after copying
135	RmCmd			command to delete files
136	ShLibDir		directory in which to install shared libraries
137	StandardCppDefines	-D's for running cpp
138	StandardDefines		-D's for running C compiler
139	StandardIncludes	-I's for running C compiler
140	StripInstalledPrograms	boolean for sites that want to install -s
141	SystemV			boolean for systems that are at least SVR2
142	SystemV4		boolean for SVR4 systems
143	TOPDIR			relative path to top of sources
144	TagsCmd			command to run tags
145	TblCmd			command to run tbl
146	TroffCmd		command to run troff to get PostScript
147	UNCOMPRESSPATH		command to run uncompress
148	UnalignedReferencesAllowed	boolean for unaligned copies ok
149	UsrLibDir		directory in which to install libraries
150	VarDirectory		directory in /var for logs, etc., and config
151	YaccCmd			command to run yacc
152
153X11.tmpl provides defaults for the following variables:
154
155	AdmDir			directory containing system log files
156	AllocateLocalDefines	-D's to turn on alloca()
157	BDFTOSNFFILT		command to run bdftosnf
158	BaseExtensionDefines	universal extensions to use
159	BinDir			directory in which to install programs
160	BuildAppgroup		build AppGroup extension
161	BuildFontServer		build font server
162	BuildFonts		build pcf fonts
163	BuildIncRoot		relative path to location of headers in build
164	BuildIncTop		path from build includes directory to top
165	BuildLBX		build LBX (aka X.fast) server extension
166	BuildPexExt		build PEX server extension and fonts
167	BuildPhigs		build Phigs (obsolete)
168	BuildServer		build X server
169	BuildXAudio		build Audio
170	BuildXAServer		build Audio server
171	BuildXIE		build X Image Extension
172	BuildDIS		build Document Imaging Subset of XIE
173	BuildXCSecurity		Build Security Extension
174	BuildXInputExt		build X Input extension (requires ddx support,
175					which exists only in Xhp)
176	BuildXInputLib		build X Input library
177	BuildXKB		build X Keyboard Extension?
178	BuildXKBlib		build X Keyboard Extension into Xlib?
179	UseXKBInClients		Use XKB functions in normal clients?
180	BuildDBE		build DOUBLE-BUFFER extension
181	BuildMultibuffer	build Multibuffer extension (obsolete)
182	BuildRECORD		Build RECORD extension
183	BuildPlugin		build xrx plug-in for web browsers
184	ConfigDir		install directory for config files
185	ConnectionFlags		-D's for supported transports
186	ContribDir		location of user-contributed sources
187	DebugLibFS		build libFS_d.a
188	DebugLibICE		build libICE_d.a
189	DebugLibPex		build libPEX5_d.a
190	DebugLibSM		build libSM_d.a
191	DebugLibX11		build libX11_d.a
192	DebugLibXau		build libXau_d.a
193	DebugLibXaw		build libXaw_d.a
194	DebugLibXdmcp		build libXdmcp_d.a
195	DebugLibXext		build libXext_d.a
196	DebugLibXi		build libXi_d.a
197	DebugLibXie		build libXie_d.a
198	DebugLibXmu		build libXmu_d.a
199	DebugLibXt		build libXt_d.a
200	DebugLibXtst		build libXtst_d.a
201	DebugLibXag		build libXag_d.a
202	DebugOldX		build liboldX_d.a
203	DefaultFSConfigFile	default font server config file
204	DefaultFontPath		default server font path
205	DefaultRGBDatabase	default server rgb color database
206	DefaultSystemPath	default system xdm PATH environment variable
207	DefaultSystemShell	default /bin/sh
208	DefaultUserPath		default user xdm PATH environment variable
209	DependCmd		command to run makedepend
210	DependDir		build directory containing makedepend program
211	ExtensionDefines	-D's for universal extensions
212	ExtensionOSDefines	-D's for additional extensions
213	FontCompilerFlags	flags for bdftosnf
214	FontDefines		-D's to turn on font options
215	FontDir			directory in which to install fonts
216	FontFilters		-D's to specify font conversion filters
217	FontOSDefines		-D's for which fonts to support
218	ForceNormalLib		force building of .a in addition to shared lib
219	GzipFontCompression	boolean for using gzip instead of compress
220	HasXdmAuth		boolean for using XDM-AUTHORIZATION-1;
221					needs Wraphelp.c, see Release Notes
222	InstallAppDefFiles	install new app defaults files over old?
223	InstallFSConfig		install fs config file over old?
224	InstallLibManPages	boolean for installing library man pages
225	InstallSecurityConfig	install server security policy file over old?
226	InstallXdmConfig	install xdm config files over old?
227	InstallXinitConfig	install xinit config files over old?
228	LibDir			directory in which to install X11 support files
229	LibManSuffix		man suffix for library pages
230	LibmanDir		directory in which to install library man pages
231	LintlibDir		directory in which to install lint libs
232	ManDir			directory in which to install program man pages
233	ManDirectoryRoot	parent of man directories relative to root
234	ManPath			full path of parent directory
235	ManSourcePath		common prefix of man page directories
236	ManSuffix		man suffix for programs
237	NeedDefaultDepLibs	boolean for enabling default DEPLIBS
238	NlsDir			directory in which to install nls files
239	NormalLibFS		build libFS.a
240	NormalLibICE		build libICE.a
241	NormalLibPex		build libPEX5.a
242	NormalLibPhigs		build libphigs.a
243	NormalLibSM		build libSM.a
244	NormalLibX11		build libX11.a
245	NormalLibXau		build libXau.a
246	NormalLibXaw		build libXaw.a
247	NormalLibXdmcp		build libXdmcp.a
248	NormalLibXext		build libXext.a
249	NormalLibXi		build libXi.a
250	NormalLibXie		build libXie.a
251	NormalLibXmu		build libXmu.a
252	NormalLibXt		build libXt.a
253	NormalLibXtst		build libXtst.a
254	NormalLibXag		build libXag.a
255	NormalOldX		build liboldX.a
256	OsNameDefines		beats me
257	PexApiDir		PEX include file location
258	PexCCOptions		special options for building PEX library
259	PexCDebugFlags		special flags for building PEX library
260	PexClientDefines	special -D's for building PEX clients
261	PexDipexDefines		special -D's for building PEX di files
262	PexPhigsDefines		special -D's for building PEX library
263	PexShmIPC		boolean for using shared memory in phigsmon
264	PhigsInclude		include directory for phigs clients
265	PrimaryScreenResolution	resolution of default server screen
266	ProfileLibFS		build libFS_p.a
267	ProfileLibICE		build libICE_p.a
268	ProfileLibPex		build libPEX5_p.a
269	ProfileLibSM		build libSM_p.a
270	ProfileLibX11		build libX11_p.a
271	ProfileLibXau		build libXau_p.a
272	ProfileLibXaw		build libXaw_p.a
273	ProfileLibXdmcp		build libXdmcp_p.a
274	ProfileLibXext		build libXext_p.a
275	ProfileLibXi		build libXi_p.a
276	ProfileLibXie		build libXie_p.a
277	ProfileLibXmu		build libXmu_p.a
278	ProfileLibXt		build libXt_p.a
279	ProfileLibXtst		build libXtst_p.a
280	ProfileLibXag		build libXag_p.a
281	ProfileOldX		build liboldX_p.a
282	ProjectX		version indicating this is the X Window System
283	RemoveTargetProgramByMoving	boolean for rm -f that doesn't
284	SHELLPATH		-D for /bin/sh
285	ServerConfigDir		directory for server security config files
286	ServerDefines		complete -D's for server
287	ServerExtraDefines	special -D's for server
288	ServerOSDefines		OS -D's for server
289	ServerAssertDefines	-DNDEBUG for no assertions, /**/ for assertions
290	SharedLibFS		boolean for making sharable libFS.so
291	SharedLibICE		boolean for making sharable libICE.so
292	SharedLibPex		boolean for making sharable libPEX5.so
293	SharedLibPhigs		boolean for making sharable libphigs.so
294	SharedLibSM		boolean for making sharable libSM.so
295	SharedLibX11		boolean for making sharable libX11.so
296	SharedLibXau		boolean for making sharable libXau.so
297	SharedLibXaw		boolean for making sharable libXaw.so
298	SharedLibXdmcp		boolean for making sharable libXdmcp.so
299	SharedLibXext		boolean for making sharable libXext.so
300	SharedLibXi		boolean for making sharable libXi.so
301	SharedLibXie		boolean for making sharable libXie.so
302	SharedLibXmu		boolean for making sharable libXmu.so
303	SharedLibXt		boolean for making sharable libXt.so
304	SharedLibXtst		boolean for making sharable libXtst.so
305	SharedLibXag		boolean for making sharable libXag.so
306	SharedOldX		boolean for making sharable liboldX.so
307	ShmDefines		MIT-SHM define
308	TwmDir			directory in which to install twm config files
309	UseCCMakeDepend		boolean for using alternate makedepend script
310	UseRgbTxt		use rgb.txt file as is instead of DBM-compiled
311	VendorHasX11R6_3libXext	don't need Security & AppGroup in xrx plug-in
312	XAppLoadDir		directory in which to install app defaults
313	XFileSearchPathBase	base file search path
314	XFileSearchPathDefault	default path to search for app defaults files
315	XInputDefines		XINPUT define
316	XMalloc0ReturnsNullDefines -D's specifically for libX11
317	XawClientDepLibs	DEPLIBS for clients that use Xaw
318	XawClientLibs		LOCAL_LIBRARIES for clients that use Xaw
319	XdmConfigurationSubdirectory	name of default xdm configuration
320	XdmDir			directory in which to install xdm files
321	XdmServersType		type of xdm Xservers file to install
322	XinitDir		directory in which to install xinit files
323	XPrintDir		parent of X Print server config directory
324	XprtServer		build the X Print server
325	XmanLocalSearchPath	non-standard path for man pages
326	XtErrorPrefix		leading text in XtError() msg; eg. 'X Toolkit '
327	XtWarningPrefix		leading text in XtWarning()msg, same as above
328	XtMalloc0ReturnsNullDefines -D's specifically for libXt
329	ZBDFTOSNFFILT		-D to run uncompress and bdftosnf
330
331
332Library.tmpl provides defaults for the following variables:
333
334	AvoidNullMakeCommand	for makes that spout about $(_NULLCMD_)
335	LibraryCCOptions	special C compiler options for libraries
336	LibraryCDebugFlags	library debug/optimize flags to override defs
337	LibraryCcCmd		command to run C compiler in libraries
338	LibraryCplusplusOptions special C++ options for libraries
339	LibraryCplusplusDebugFlags  library debug/optimize flags for C++
340	LibraryCplusplusCmd	command to run C++ compiler in libraries
341	LibraryDefines		-D's for libraries
342	SeparateSharedCompile	shared and unshared libs use same binaries?
343
344
345Server.tmpl provides defaults for the following variables:
346
347	ServerCCOptions		server C compiler options to override defaults
348	ServerCcCmd		command to run C compiler in server
349	ServerCDebugFlags	server debug/opt compiler flags
350	ServerDefines		server standard -D's
351	InstallServerSetUID	does this system need X server suid to root?
352
353
354Threads.tmpl provides defaults for the following variables:
355
356	LocalThreads		whether to enable multi-threading support
357	LocalThreadsDefines	-D flags needed in this directory
358
359
360An <os>Lib.rules file provides defaults for the following variables:
361
362	HasSharedLibraries	boolean for using shared libraries
363	SharedDataSeparation	boolean indicating separate data/code
364	SharedCodeDef		-D's for compiling shared library files
365	SharedLibraryDef	-D's for defining which kind of shared lib
366	ShLibIncludeFile	location of the <os>Lib.tmpl file
367	SharedLibraryLoadFlags	loader flags when making the library
368	UseExportLists		boolean for using an export list
369	PositionIndependentCFlags 		PIC compiler flags for C
370	PositionIndependentCplusplusFlags	PIC compiler flags for C++
371
372	  Note: PositionIndependentCplusplusFlags is only required if the
373	  C and C++ compilers use different flags to build PIC code.  The
374	  default configuration will try to use PositionIndependentCFlags
375	  for both C and C++ compiles.
376
377An <os>Lib.tmpl file provides defaults for the following variables:
378
379	SharedFSReqs		required libs for libFS.so
380	SharedFSRev		version number for libFS.so
381	SharedICEReqs		required libs for libICE.so
382	SharedICERev		version number for libICE.so
383	SharedOldXReqs		required libs for liboldX.so
384	SharedOldXRev		version number for liboldX.so
385	SharedPexReqs		required libs for libPEX5.so
386	SharedPexRev		version number for libPEX5.so
387	SharedSMReqs		required libs for libSM.so
388	SharedSMRev		version number for libSM.so
389	SharedX11Reqs		required libs for libX11.so
390	SharedX11Rev		version number for libX11.so
391	SharedXauReqs		required libs for libXau.so
392	SharedXauRev		version number for libXau.so
393	SharedXawReqs		required libs for libXaw.so
394	SharedXawRev		version number for libXaw.so
395	SharedXdmcpReqs		required libs for libXdmcp.so
396	SharedXdmcpRev		version number for libXdmcp.so
397	SharedXextReqs		required libs for libXext.so
398	SharedXextRev		version number for libXext.so
399	SharedXiReqs		required libs for libXi.so
400	SharedXiRev		version number for libXi.so
401	SharedXieReqs		required libs for libXie.so
402	SharedXieRev		version number for libXie.so
403	SharedXmuReqs		required libs for libXmu.so
404	SharedXmuRev		version number for libXmu.so
405	SharedXtReqs		required libs for libXt.so
406	SharedXtRev		version number for libXt.so
407	SharedXtstReqs		required libs for libXtst.so
408	SharedXtstRev		version number for libXtst.so
409	SharedXmReqs		required libs for libXm.so
410	SharedXmRev		version number for libXm.so
411	SharedMrmReqs		required libs for libMrm.so
412	SharedMrmRev		version number for libMrm.so
413	SharedUilReqs		required libs for libUil.so
414	SharedUilRev		version number for libUil.so
415	SharedTtReqs		required libs for libtt.so
416	SharedTtRev		version number for libtt.so
417	SharedPamReqs		required libs for libpam.so
418	SharedPamRev		version number for libpam.so
419	SharedDtSvcReqs		required libs for libDtSvc.so
420	SharedDtSvcRev		version number for libDtSvc.so
421	SharedDtSearchReqs	required libs for libDtSearch.so
422	SharedDtSearchRev	version number for libDtSearch.so
423	SharedDtWidgetReqs	required libs for libDtWidget.so
424	SharedDtWidgetRev	version number for libDtWidget.so
425	SharedDtHelpReqs	required libs for libDtHelp.so
426	SharedDtHelpRev		version number for libDtHelp.so
427	SharedDtPrintReqs	required libs for libDtPrint.so
428	SharedDtPrintRev	version number for libDtPrint.so
429	SharedDtTermReqs	required libs for libDtTerm.so
430	SharedDtTermRev		version number for libDtTerm.so
431	SharedDtMrmReqs		required libs for libDtMrm.so
432	SharedDtMrmRev		version number for libDtMrm.so
433
434The following variables are used by some part of the tree:
435
436	AckToolset		programs/Xserver/hw/xfree86
437	BuildChooser		build the xdm chooser program?
438	SharedLibXdmGreet	use xdm shared dynamic greeter library?
439	LatexCmd		command to run LaTeX on a document
440	DvipsCmd		command to turn .dvi file into PostScript
441	MotifBC			using Motif 1.1.1, 1.1.2, or 1.1.3?
442	GetValuesBC		compat GetValues behavior for broken apps?
443	NeedBerklib		application needs libXbsd?
444	SvgaConfig		default SVGA configuration
445	HasGetReturnAddress	util/memleak
446	HasShadowPasswd		system has getspnam() function
447	XnestServer		build X server with Xlib-based ddx
448	XVirtualFramebufferServer	build X server with virtual memory framebuffer
449	XpRasterDDX		include the raster print ddx driver
450	XpColorPclDDX		include the color PCL print ddx driver
451	XpMonoPclDDX		include the monochrome PCL print ddx driver
452	XpPostScriptDDX		include the PostScript print ddx driver
453	WebServer		host:port of your Web server (see programs/xrx)
454	HtmlDir			path used by Web server for HTML and RX docs
455	CgiBinDir		path used by Web server for CGI programs
456	ProxyManager		ICE network ID to contact a running proxymngr
457
458
459Make Variables
460
461The following make variables are used by imake rules and may be set in
462an individual Imakefile.
463
464DEFINES			program-specific -D flags and other arguments
465			to pass to the C compiler, lint, and makedepend.
466DEPEND_DEFINES		program-specific flags in addition to
467			$(DEFINES) to pass to lint and makedepend.
468			This is usually used when there are special
469			compilation rules for individual files, and
470			the defines passed to those files affect
471			makedepend results.  If they can be passed to
472			all files during the makedepend step without
473			affecting the results for other files,
474			DEPEND_DEFINES is used to do that.  Example is
475			the Xlib Imakefile.
476INCLUDES		program-specific -I flags.
477HEADERS			.h files to install with "make includes" and
478			"make install".  If this Imakefile includes
479			Library.tmpl there are no headers, include
480			this line instead of a HEADERS definition:
481			#define LibHeaders NO
482REQUIREDLIBS		when building a shared library, other libraries used
483			by this library that should be referenced at
484			link time.
485LINTLIBS		program-specific libraries for lint.
486LOCAL_LDFLAGS		program-specific flags for the linker.
487LOCAL_LIBRARIES		project libraries (usually specified
488			as -lname) needed by this program.
489			For example, "-lXt -lXext -lX11".
490			Used by SimpleProgramTarget and
491			ComplexProgramTarget* rules.
492			Do not include any system-specific libraries here.
493SYS_LIBRARIES		system libraries (usually specified
494			as -lname) needed by this program.
495			For example "MathLibrary".
496			Do not include any system-specific libraries
497			such as "-lnsl" here; they are automatically
498			added to the link command by the
499			vendor-specific .cf file.
500SUBDIRS			for an Imakefile in a directory containing
501			subdirectories, this names the subdirectories.
502			Such an Imakefile also needs to #define IHaveSubdirs
503			and call MakeSubdirs() and DependSubdirs().
504MANSUFFIX		suffix used by InstallManPage* rules.
505			May be set to $(LIBMANSUFFIX) or $(FILEMANSUFFIX) in
506			directories for libraries or data files.
507
508
509Rule-specific variables that may be set in an individual Imakefile.
510If you aren't using these rules, you may need variables with a similar
511function, but you need not use these names.  However, following these
512conventions may make your Imakefile easier to read and maintain.
513
514DEPLIBS			library dependencies for ComplexProgramTarget
515SRCS			source files used by ComplexProgramTarget and
516			DependTarget.
517OBJS			object files used by ComplexProgramTarget
518PROGRAMS		default target used with ComplexProgramTarget_(n)
519SRCS1			source files used by ComplexProgramTarget_1
520OBJS1			object files used by ComplexProgramTarget_1
521DEPLIBS1		library dependencies for ComplexProgramTarget_1
522SRCS2			source files used by ComplexProgramTarget_2
523OBJS2			object files used by ComplexProgramTarget_2
524DEPLIBS2		library dependencies for ComplexProgramTarget_2
525SRCS3			source files used by ComplexProgramTarget_3
526OBJS3			object files used by ComplexProgramTarget_3
527DEPLIBS3		library dependencies for ComplexProgramTarget_3
528
529Variables that can be set on the make command line:
530
531DESTDIR			directory under which "make install" should
532			install instead of "/"; used only for testing
533			"make install" rules.
534FILE			file for "lint1" target to run lint on.
535CDEBUGFLAGS		-g and/or -O flag to control C compiler optimization.
536CXXDEBUGFLAGS		-g and/or -O flag to control C++ optimization.
537LDSTRIPFLAGS		flag to have linker strip objects (typically -x).
538			Typically set to the empty string to prevent
539			the linker from stripping objects; use this
540			way when setting CDEBUGFLAGS to "-g".
541
542These variables are set in project-specific files such as X11.tmpl.
543They should NOT be set in an Imakefile.  These variables are sometimes
544misused; they are included here to remind Imakefile writers NOT to use
545them:
546
547EXTRA_DEFINES		project-specific -D flags
548EXTRA_INCLUDES		project-specific -I flags
549EXTRA_ICONFIGFILES	Additional project-specific imake config files
550			to add to ICONFIGFILES.
551			This is a list of files that define variables
552			that might affect compilation of some files.
553
554Many other make variables are set up by the imake config files and can
555be used in an Imakefile.  The easiest way to discover them is to look
556at the Makefile generated by an empty Imakefile.
557
558
559Comments
560
561Use C comment syntax in an Imakefile for comments that should not
562appear in the resulting Makefile.
563Use "XCOMM" at the start of each
564line to produce a comment that will appear in the Makefile.
565(The "XCOMM" will
566be translated into the Makefile comment character "#" by imake.)
567Do NOT use "#" as a comment character in Imakefiles; it confuses the C
568preprocessor used by imake on some systems.
569
570
571Imake variables
572
573Don't abuse the variables in X11.tmpl that describe
574particular pieces of X by using them to describe your own subsystems.
575Instead, create new variables that are defaulted using
576Imake.tmpl variables.
577
578
579Examples
580
581Since the easiest way to write an Imakefile is to start with one that
582works, here are some short, easy-to-read Imakefile examples in the X
583distribution:
584
585with subdirs:	config/Imakefile
586library:	lib/Xau/Imakefile
587simple program: programs/xdpyinfo/Imakefile
588complex progs:  programs/xclipboard/Imakefile
589complex prog:	programs/xmodmap/Imakefile
590
591Common Rules
592
593Here are some of the common rules for building programs.  How to use
594them is described in Imake.rules and in the O'Reilly book "Software
595Portability with imake."
596
597Basic program-building rules
598
599All of these except NormalProgramTarget also generate rules to install
600the program and its manual page, and to generate dependencies.
601
602SimpleProgramTarget	Use if there is only one program to be made
603			and it has only one source file.
604
605ComplexProgramTarget	Use if there is only one program to be made
606			and it has multiple source files.  Set SRCS to
607			the names of the source files, set OBJS to
608			the names of the object files, and set DEPLIBS
609			to the libraries that this program depends on.
610
611ComplexProgramTarget_1	Like ComplexProgramTarget, but uses SRCS1,
612			OBJS1, and DEPLIBS1 and can be used with
613			ComplexProgramTarget_2 and ComplexProgramTarget_3
614			to build up to three programs in the same directory.
615			Set PROGRAMS to the programs built by all of
616			these rules.  For more than 3 programs, use
617			NormalProgramTarget for each.
618ComplexProgramTarget_2	Use after ComplexProgramTarget_1 for the
619			second program in a directory.  Uses SRCS2,
620			OBJS2, and DEPLIBS2.
621ComplexProgramTarget_3	Use after ComplexProgramTarget_2 for the
622			third program in a directory.  Uses SRCS3,
623			OBJS3, and DEPLIBS3.
624
625NormalProgramTarget	Build a program.  Can be used multiple times
626			with different arguments in the same Imakefile.
627
628Lower level rules, often used with NormalProgramTarget
629
630InstallProgram		install a program.
631
632InstallManPage		install a manual page.
633
634DependTarget()		include once at end of Imakefile with
635			NormalProgramTarget rules or that uses Library.tmpl.
636			Generates dependencies for files named in SRCS.
637
638Manual page rules, commonly used only in special documentation directories:
639
640InstallManPage
641InstallManPageLong
642InstallManPageAliases
643
644Other rules:
645
646SpecialCObjectRule	Compile a C file with special flags.
647AllTarget		Declare additional targets to build.
648InstallAppDefaults	Install X application defaults file.
649
650Imakefile for directory with subdirectories
651
652XCOMM this is a sample Imakefile for a directory containing subdirectories
653#define IHaveSubdirs
654#define PassCDebugFlags CDEBUGFLAGS="$(CDEBUGFLAGS)"
655SUBDIRS = list of subdirs ...
656MakeSubdirs($(SUBDIRS))
657DependSubdirs($(SUBDIRS))
658
659
660Common Targets
661
662These targets are typically NOT defined explicitly by the Imakefile
663writer; rather they are generated automatically by imake rules.
664They are listed here for the convenience of people using the resulting
665Makefile, not people writing the original Imakefile.
666
667all			Default rule; builds whatever is in this directory.
668Makefile		Remake the Makefile (use after changing Imakefile).
669			Run "make depend" after.
670Makefiles		Remake all Makefiles in subdirectories.  (Does
671			nothing if no subdirectories.)
672			Run "make depend" after.
673includes		Generate and install in the tree any necessary
674			header files.
675depend			Update dependencies in the Makefile calculated
676			by examining the source files.
677install			Install what "make all" built on the system.
678install.man		Install manual pages.
679clean			Remove built objects and other derived files.
680lint			Run lint.
681tags			Create a tags file.
682