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

..03-May-2022-

Amoeba.cfH A D22-Dec-201512.6 KiB429367

COPYINGH A D22-Dec-20153.4 KiB7156

ChangeLogH A D22-Dec-2015105.5 KiB2,7882,092

DGUX.cfH A D22-Dec-20155 KiB191150

DragonFly.cfH A D03-May-20229.2 KiB362302

FreeBSD.cfH A D03-May-202214.9 KiB584509

INSTALLH A D22-Dec-201515.4 KiB371288

Imake.cfH A D22-Dec-201525 KiB1,2031,147

Imake.rulesH A D03-May-2022113.1 KiB3,6503,259

Imake.tmplH A D03-May-202253.5 KiB2,3212,195

Library.tmplH A D03-May-202217.6 KiB583535

Makefile.amH A D22-Dec-20152.1 KiB162147

Makefile.inH A D22-Dec-201523.2 KiB830742

Mips.cfH A D22-Dec-20152.4 KiB7356

Motif.rulesH A D22-Dec-201526 KiB710653

Motif.tmplH A D22-Dec-201513.4 KiB574504

NetBSD.cfH A D22-Dec-201518.2 KiB700617

Oki.cfH A D22-Dec-2015794 3128

OpenBSD.cfH A D22-Dec-201523.2 KiB1,018818

OpenBSDLib.rulesH A D22-Dec-20154.7 KiB192165

OpenBSDLib.tmplH A D22-Dec-201510.8 KiB532519

QNX4.cfH A D22-Dec-20152.6 KiB9983

QNX4.rulesH A D22-Dec-20151.5 KiB6654

READMEH A D22-Dec-201531 KiB739653

Server.tmplH A D22-Dec-20152 KiB8069

ServerLib.tmplH A D22-Dec-20153.9 KiB143128

Threads.tmplH A D22-Dec-20152.6 KiB10694

Win32.cfH A D22-Dec-20153.6 KiB134125

Win32.rulesH A D22-Dec-201515.5 KiB532456

WinLib.tmplH A D22-Dec-2015629 1712

X11.rulesH A D22-Dec-20152.9 KiB137120

X11.tmplH A D03-May-2022115.3 KiB4,7734,428

aclocal.m4H A D22-Dec-2015129 KiB3,5983,295

apollo.cfH A D22-Dec-20151.1 KiB3933

bsd.cfH A D22-Dec-2015841 3828

bsdLib.rulesH A D22-Dec-201516.3 KiB541476

bsdLib.tmplH A D22-Dec-20153.4 KiB10189

bsdi.cfH A D22-Dec-201510.2 KiB365312

bsdiLib.rulesH A D22-Dec-20158.3 KiB240218

bsdiLib.tmplH A D22-Dec-20151.6 KiB4436

cde.rulesH A D22-Dec-20155.8 KiB227204

cde.tmplH A D22-Dec-201510.7 KiB440396

compileH A D22-Dec-20157.2 KiB348258

config.guessH A D22-Dec-201541.9 KiB1,4221,230

config.subH A D22-Dec-201535.1 KiB1,8081,670

configureH A D22-Dec-2015333 KiB11,9699,546

configure.acH A D22-Dec-20151.2 KiB4032

convex.cfH A D22-Dec-20152.6 KiB10391

cray.cfH A D22-Dec-20151.1 KiB5043

cross.defH A D22-Dec-20151.3 KiB4640

cross.rulesH A D22-Dec-20154.9 KiB148137

cygwin.cfH A D22-Dec-201511.8 KiB471422

cygwin.rulesH A D22-Dec-201513.3 KiB454376

cygwin.tmplH A D22-Dec-20152.9 KiB7968

darwin.cfH A D22-Dec-20159.3 KiB342291

darwinLib.rulesH A D22-Dec-20156.1 KiB168154

darwinLib.tmplH A D22-Dec-20152.8 KiB6256

dmx.cfH A D22-Dec-20151.7 KiB6658

fujitsu.cfH A D22-Dec-20152.4 KiB9677

generic.cfH A D22-Dec-2015401 2218

gnu.cfH A D22-Dec-20154.4 KiB188156

gnuLib.rulesH A D22-Dec-20155.3 KiB177159

gnuLib.tmplH A D22-Dec-20151 KiB2925

hp.cfH A D22-Dec-20155.6 KiB211186

hpLib.rulesH A D22-Dec-20154.5 KiB145130

hpLib.tmplH A D22-Dec-20151.6 KiB4032

ibm.cfH A D22-Dec-20155.9 KiB199172

ibmLib.rulesH A D22-Dec-201511.7 KiB350316

ibmLib.tmplH A D22-Dec-20153.5 KiB9783

install-shH A D22-Dec-201514.3 KiB502327

isc.cfH A D22-Dec-20156.2 KiB285225

linux.cfH A D22-Dec-201529.4 KiB1,095990

lnxLib.rulesH A D22-Dec-201523.2 KiB681631

lnxLib.tmplH A D22-Dec-20152.9 KiB8772

lnxdoc.rulesH A D22-Dec-20154.5 KiB146131

lnxdoc.tmplH A D22-Dec-20151.6 KiB8664

luna.cfH A D22-Dec-20153 KiB116105

lynx.cfH A D22-Dec-201511.8 KiB422389

macII.cfH A D22-Dec-20151.3 KiB5247

mach.cfH A D22-Dec-20151.9 KiB7761

mingw.cfH A D22-Dec-201513.4 KiB552495

mingw.rulesH A D22-Dec-201513.4 KiB446365

mingw.tmplH A D22-Dec-20152.9 KiB7868

minix.cfH A D22-Dec-20151.7 KiB6551

missingH A D22-Dec-20156.7 KiB216143

moto.cfH A D22-Dec-20151.5 KiB5945

ncr.cfH A D22-Dec-20154.2 KiB132107

nec.cfH A D22-Dec-20153 KiB132120

necLib.rulesH A D22-Dec-20153.7 KiB132115

necLib.tmplH A D22-Dec-2015515 3026

nto.cfH A D22-Dec-20154.1 KiB153128

nto.rulesH A D22-Dec-20157.4 KiB241215

oldlib.rulesH A D22-Dec-20153 KiB11094

os2.cfH A D22-Dec-20155.3 KiB213177

os2.rulesH A D22-Dec-20153.1 KiB11395

os2Lib.rulesH A D22-Dec-20158.3 KiB211181

os2Lib.tmplH A D22-Dec-20156.1 KiB209197

osf1.cfH A D22-Dec-20156 KiB212188

osfLib.rulesH A D22-Dec-20155 KiB164152

osfLib.tmplH A D22-Dec-20152.3 KiB5446

pegasus.cfH A D22-Dec-2015876 3526

sco.cfH A D22-Dec-20156 KiB207172

sco5.cfH A D22-Dec-20159.5 KiB381314

scoLib.rulesH A D22-Dec-20152.6 KiB6962

sequent.cfH A D22-Dec-201513.9 KiB445382

sequentLib.rulesH A D22-Dec-201510.7 KiB324300

sgi.cfH A D22-Dec-20159 KiB319282

sgiLib.rulesH A D22-Dec-20157.2 KiB205181

sgiLib.tmplH A D22-Dec-2015575 1912

site.defH A D22-Dec-20154.7 KiB157128

site.def.inH A D22-Dec-20154.6 KiB157128

site.sampleH A D22-Dec-20153.9 KiB126103

sony.cfH A D22-Dec-20152.7 KiB10189

sun.cfH A D22-Dec-201529.7 KiB1,011931

sunLib.rulesH A D22-Dec-20153.8 KiB134123

sunLib.tmplH A D22-Dec-20157.9 KiB259237

sv3Lib.rulesH A D22-Dec-20159.2 KiB253226

sv3Lib.tmplH A D22-Dec-20152.1 KiB7163

sv4Lib.rulesH A D22-Dec-20156.4 KiB207189

sv4Lib.tmplH A D22-Dec-20152 KiB9072

svr3.cfH A D22-Dec-20158.5 KiB349297

svr4.cfH A D22-Dec-20155.8 KiB291266

ultrix.cfH A D22-Dec-20152 KiB8370

usl.cfH A D22-Dec-20158.4 KiB319268

x386.cfH A D22-Dec-20154.3 KiB154121

xf86.rulesH A D22-Dec-20156.3 KiB230201

xf86.tmplH A D22-Dec-20153.6 KiB129103

xf86site.defH A D22-Dec-201516.7 KiB694599

xfree86.cfH A D22-Dec-201544.2 KiB2,1451,948

xorg.cfH A D22-Dec-201537.5 KiB1,7021,500

xorg.tmplH A D22-Dec-20154.1 KiB146120

xorgsite.defH A D22-Dec-201518.6 KiB769662

xorgversion.defH A D22-Dec-2015147 65

README

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