NameDateSize

..10-Nov-202518

aclocal.m4H A D10-Nov-2025121.5 KiB

Amoeba.cfH A D10-Nov-202512.6 KiB

apollo.cfH A D10-Nov-20251.1 KiB

bsd.cfH A D10-Nov-2025841

bsdi.cfH A D10-Nov-202510.2 KiB

bsdiLib.rulesH A D10-Nov-20258.3 KiB

bsdiLib.tmplH A D10-Nov-20251.6 KiB

bsdLib.rulesH A D10-Nov-202516.3 KiB

bsdLib.tmplH A D10-Nov-20253.4 KiB

cde.rulesH A D10-Nov-20255.8 KiB

cde.tmplH A D10-Nov-202510.7 KiB

ChangeLogH A D10-Nov-2025114.4 KiB

config.guessH A D10-Nov-202548.8 KiB

config.subH A D10-Nov-202535 KiB

configureH A D10-Nov-2025124.7 KiB

configure.acH A D10-Nov-20251.4 KiB

convex.cfH A D10-Nov-20252.6 KiB

COPYINGH A D10-Nov-20253.4 KiB

cray.cfH A D10-Nov-20251.1 KiB

cross.defH A D10-Nov-20251.3 KiB

cross.rulesH A D10-Nov-20254.9 KiB

cygwin.cfH A D10-Nov-202511.8 KiB

cygwin.rulesH A D10-Nov-202513.3 KiB

cygwin.tmplH A D10-Nov-20252.9 KiB

darwin.cfH A D10-Nov-20259.6 KiB

darwinLib.rulesH A D10-Nov-20256.1 KiB

darwinLib.tmplH A D10-Nov-20252.8 KiB

DGUX.cfH A D10-Nov-20255 KiB

dmx.cfH A D10-Nov-20251.7 KiB

DragonFly.cfH A D10-Nov-20259.2 KiB

empty.defH A D10-Nov-20250

FreeBSD.cfH A D10-Nov-202515 KiB

fujitsu.cfH A D10-Nov-20252.4 KiB

generic.cfH A D10-Nov-2025401

gnu.cfH A D10-Nov-20254.4 KiB

gnuLib.rulesH A D10-Nov-20255.3 KiB

gnuLib.tmplH A D10-Nov-20251 KiB

hp.cfH A D10-Nov-20255.6 KiB

hpLib.rulesH A D10-Nov-20254.5 KiB

hpLib.tmplH A D10-Nov-20251.6 KiB

ibm.cfH A D10-Nov-20255.9 KiB

ibmLib.rulesH A D10-Nov-202511.7 KiB

ibmLib.tmplH A D10-Nov-20253.5 KiB

Imake.cfH A D10-Nov-202525.8 KiB

Imake.rulesH A D10-Nov-2025113.1 KiB

Imake.tmplH A D10-Nov-202553.5 KiB

INSTALLH A D10-Nov-202515.4 KiB

install-shH A D10-Nov-202515 KiB

isc.cfH A D10-Nov-20256.2 KiB

Library.tmplH A D10-Nov-202517.6 KiB

linux.cfH A D10-Nov-202531.1 KiB

lnxdoc.rulesH A D10-Nov-20254.5 KiB

lnxdoc.tmplH A D10-Nov-20251.6 KiB

lnxLib.rulesH A D10-Nov-202523.2 KiB

lnxLib.tmplH A D10-Nov-20252.9 KiB

luna.cfH A D10-Nov-20253 KiB

lynx.cfH A D10-Nov-202511.8 KiB

mach.cfH A D10-Nov-20251.9 KiB

macII.cfH A D10-Nov-20251.3 KiB

Makefile.amH A D10-Nov-20252.2 KiB

Makefile.inH A D10-Nov-202523.5 KiB

meson.buildH A D10-Nov-20254.6 KiB

meson_options.txtH A D10-Nov-20251.4 KiB

mingw.cfH A D10-Nov-202513.4 KiB

mingw.rulesH A D10-Nov-202513.4 KiB

mingw.tmplH A D10-Nov-20252.9 KiB

minix.cfH A D10-Nov-20251.7 KiB

Mips.cfH A D10-Nov-20252.4 KiB

missingH A D10-Nov-20256.7 KiB

Motif.rulesH A D10-Nov-202526 KiB

Motif.tmplH A D10-Nov-202513.4 KiB

moto.cfH A D10-Nov-20251.5 KiB

ncr.cfH A D10-Nov-20254.2 KiB

nec.cfH A D10-Nov-20253 KiB

necLib.rulesH A D10-Nov-20253.7 KiB

necLib.tmplH A D10-Nov-2025515

NetBSD.cfH A D10-Nov-202518.3 KiB

noop.rulesH A D10-Nov-20251

nto.cfH A D10-Nov-20254.1 KiB

nto.rulesH A D10-Nov-20257.4 KiB

Oki.cfH A D10-Nov-2025794

oldlib.rulesH A D10-Nov-20253 KiB

OpenBSD.cfH A D10-Nov-202523.2 KiB

OpenBSDLib.rulesH A D10-Nov-20254.7 KiB

OpenBSDLib.tmplH A D10-Nov-202510.8 KiB

os2.cfH A D10-Nov-20255.3 KiB

os2.rulesH A D10-Nov-20253.1 KiB

os2Lib.rulesH A D10-Nov-20258.3 KiB

os2Lib.tmplH A D10-Nov-20256.1 KiB

osf1.cfH A D10-Nov-20256 KiB

osfLib.rulesH A D10-Nov-20255 KiB

osfLib.tmplH A D10-Nov-20252.3 KiB

pegasus.cfH A D10-Nov-2025876

QNX4.cfH A D10-Nov-20252.6 KiB

QNX4.rulesH A D10-Nov-20251.5 KiB

READMEH A D10-Nov-202530.8 KiB

sco.cfH A D10-Nov-20256 KiB

sco5.cfH A D10-Nov-20259.5 KiB

scoLib.rulesH A D10-Nov-20252.6 KiB

sequent.cfH A D10-Nov-202513.9 KiB

sequentLib.rulesH A D10-Nov-202510.7 KiB

Server.tmplH A D10-Nov-20252 KiB

ServerLib.tmplH A D10-Nov-20253.9 KiB

sgi.cfH A D10-Nov-20259 KiB

sgiLib.rulesH A D10-Nov-20257.2 KiB

sgiLib.tmplH A D10-Nov-2025575

site.defH A D10-Nov-20254.6 KiB

site.def.inH A D10-Nov-20254.6 KiB

site.sampleH A D10-Nov-20253.9 KiB

sony.cfH A D10-Nov-20252.7 KiB

sun.cfH A D10-Nov-202529.7 KiB

sunLib.rulesH A D10-Nov-20253.8 KiB

sunLib.tmplH A D10-Nov-20257.9 KiB

sv3Lib.rulesH A D10-Nov-20259.2 KiB

sv3Lib.tmplH A D10-Nov-20252.1 KiB

sv4Lib.rulesH A D10-Nov-20256.4 KiB

sv4Lib.tmplH A D10-Nov-20252 KiB

svr3.cfH A D10-Nov-20258.5 KiB

svr4.cfH A D10-Nov-20255.8 KiB

Threads.tmplH A D10-Nov-20252.6 KiB

ultrix.cfH A D10-Nov-20252 KiB

usl.cfH A D10-Nov-20258.4 KiB

Win32.cfH A D10-Nov-20253.6 KiB

Win32.rulesH A D10-Nov-202515.5 KiB

WinLib.tmplH A D10-Nov-2025629

X11.rulesH A D10-Nov-20252.9 KiB

X11.tmplH A D10-Nov-2025115.3 KiB

x386.cfH A D10-Nov-20254.3 KiB

xf86.rulesH A D10-Nov-20256.3 KiB

xf86.tmplH A D10-Nov-20253.6 KiB

xf86site.defH A D10-Nov-202516.6 KiB

xfree86.cfH A D10-Nov-202544.2 KiB

xorg.cfH A D10-Nov-202537.5 KiB

xorg.tmplH A D10-Nov-20254.2 KiB

xorgsite.defH A D10-Nov-202518.6 KiB

xorgversion.defH A D10-Nov-2025147

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