README revision d7ffce2a
11cc8c64fSmrgThe xorg-cf-files package contains the data files for the imake utility,
21cc8c64fSmrgdefining the known settings for a wide variety of platforms (many of which
318eba588Smrghave not been verified or tested in over a decade), and for many of the
41cc8c64fSmrglibraries formerly delivered in the X.Org monolithic releases.
518eba588Smrg
61cc8c64fSmrgThe X Window System used imake extensively up through the X11R6.9 release,
7b5d2086dSmrgfor both full builds within the source tree and external software.
818eba588SmrgX has since moved to GNU autoconf and automake for its build system in
918eba588SmrgX11R7.0 and later releases, but still maintains imake for building existing
10b5d2086dSmrgexternal software programs that have not yet converted.
11b5d2086dSmrg
121cc8c64fSmrgMore information about Imake and its usage may be found in the resources
131cc8c64fSmrgat:
14b5d2086dSmrg	http://www.snake.net/software/imake-stuff/
15b5d2086dSmrg	http://www.kitebird.com/imake-book/
16b5d2086dSmrg
171cc8c64fSmrgAll questions regarding this software should be directed at the
18b9bb67cbSmrgXorg mailing list:
19b9bb67cbSmrg
2018eba588Smrg        http://lists.freedesktop.org/mailman/listinfo/xorg
2118eba588Smrg
2218eba588SmrgPlease submit bug reports to the Xorg bugzilla:
231cc8c64fSmrg
241cc8c64fSmrg        https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
25b9bb67cbSmrg
261cc8c64fSmrgThe master development code repository can be found at:
271cc8c64fSmrg
28b9bb67cbSmrg        git://anongit.freedesktop.org/git/xorg/util/cf
2918eba588Smrg
30b5d2086dSmrg        http://cgit.freedesktop.org/xorg/util/cf
31b5d2086dSmrg
32b5d2086dSmrgFor patch submission instructions, see:
33b5d2086dSmrg
34b5d2086dSmrg	http://www.x.org/wiki/Development/Documentation/SubmittingPatches
35b9bb67cbSmrg
36b9bb67cbSmrgFor more information on the git code manager, see:
37b9bb67cbSmrg
38b9bb67cbSmrg        http://wiki.x.org/wiki/GitPage
3918eba588Smrg
4018eba588Smrg------------------------------------------------------------------------------
4118eba588Smrg
4218eba588Smrg$Xorg: README,v 1.4 2000/08/18 04:03:58 coskrey Exp $
4318eba588Smrg$XFree86: xc/config/cf/README,v 1.20 2003/04/14 20:35:50 herrb Exp $
4418eba588Smrg
4518eba588SmrgThe easiest way to write an Imakefile is to find another one that does
4618eba588Smrgsomething similar and copy/modify it!
47b9bb67cbSmrg
48b9bb67cbSmrgTo change any of these variables, edit the site.def file.
49b9bb67cbSmrg
5018eba588SmrgImake.tmpl provides defaults for the following variables:
5118eba588Smrg
5218eba588Smrg	AlternateIncRoot	compiler needs -I to find project includes
5318eba588Smrg	AlternateUsrLibDir	linker needs -L to find project libraries
5418eba588Smrg	ArCmd			command used to create libraries
5518eba588Smrg	ArCmdBase		program name part of ArCmd
5618eba588Smrg	ArAddCmd		flags to have ArCmdBase add files to a library
5718eba588Smrg	ArExtCmd		flags to have ArCmdBase extract files
5818eba588Smrg	AsCmd			command used to run assembler
5918eba588Smrg	BootstrapCFlags		missing cpp symbols needed to get started
6018eba588Smrg	BourneShell		command used to run Bourne Shell
6118eba588Smrg	CCsuf			suffix that C++ source files have
6218eba588Smrg	CURDIR			current directory relative to top of sources
6318eba588Smrg	CcCmd			command to run C compiler
6418eba588Smrg	CompressCmd		command to run compress program
6518eba588Smrg	ConstructMFLAGS		System V option to set MFLAGS make variable
6618eba588Smrg	CpCmd			command to copy one file to another
6718eba588Smrg	CplusplusCmd		command to run C++ compiler
6818eba588Smrg	CplusplusFilt		command to run C++ name demangler
6918eba588Smrg	CplusplusYaccCmd	command to produce C++ source from yacc source
7018eba588Smrg	CppCmd			command to run C preprocessor
7118eba588Smrg	CrossCompiling		cross compiling? (not fully supported)
7218eba588Smrg	DebuggableCDebugFlags	C compiler -I's and -D's to turn on debug info
7318eba588Smrg	DefaultCCOptions	default special C compiler options
7418eba588Smrg	DefaultCDebugFlags	debug/optimize flags for programs
7518eba588Smrg	DefaultUsrBin		program directory used even if PATH not set
76b9bb67cbSmrg	DependFlags		extra makedepend flags
77b9bb67cbSmrg	DoRanlibCmd		boolean for system uses ranlib
7818eba588Smrg	EqnCmd			command used for eqn
79b9bb67cbSmrg	ExecableScripts		boolean for systems that can exec() #!/bin/sh
80b9bb67cbSmrg	ExpandManNames		boolean to expand man pages names to long form
81b9bb67cbSmrg	ExtraFilesToClean	extra files to remove on make clean
82b9bb67cbSmrg	ExtraLibraries		system-specific libraries need to link
83b9bb67cbSmrg	ExtraLoadFlags		system-specific loader flags
841cc8c64fSmrg	FileManSuffix		man suffix for file format pages
851cc8c64fSmrg	FilesToClean		files to delete in make clean
861cc8c64fSmrg	FortranCmd		command to run Fortran compiler
87b9bb67cbSmrg	FortranDebugFlags	flags for Fortran debug info
88b5d2086dSmrg	FortranFlags		Fortran compiler flags
89b5d2086dSmrg	GzipCmd			command to run gzip program
90b9bb67cbSmrg	HasBSD44Sockets		boolean for system has BSD4.4 sockets
91b9bb67cbSmrg	HasBsdMake		use the 4.4BSD variant of the make program?
92b9bb67cbSmrg	HasBsearch		boolean for libc has bsearch()
93b9bb67cbSmrg	HasBrokenCCForLink	boolean for brain damaged cc driver
94b9bb67cbSmrg	HasCenterLineC		boolean for system has CenterLine C compiler
9518eba588Smrg	HasCenterLineCplusplus	boolean for system has CenterLine C++ compiler
9618eba588Smrg	HasClearmake		use Clearcase's clearmake make program?
9718eba588Smrg	HasCodeCenter		boolean for system has CodeCenter
9818eba588Smrg	HasCookieMaker		boolean for system has xauth cookie generator
9918eba588Smrg	HasCplusplus		system has a C++ compiler?
10018eba588Smrg	HasDECnet		system has DECnet?
101b5d2086dSmrg	HasFortran		boolean for system has Fortran compiler
102b9bb67cbSmrg	HasGcc			boolean for system has GNU gcc compiler
103b9bb67cbSmrg	HasGcc2			boolean for system has GNU gcc 2.x compiler
104b9bb67cbSmrg	HasGcc2ForCplusplus	use gcc 2 for C++ programs?
105b9bb67cbSmrg	HasGnuMake		use the GNU make program?
106b9bb67cbSmrg        HasGhostPCL             boolean for system has GhostPCL
107b9bb67cbSmrg        HasGhostScript          boolean for system has GhostScript
108b9bb67cbSmrg	HasKrbIV		system has Kerberos version IV support?
109b9bb67cbSmrg	HasKrb5			system has Kerberos version 5 support?
110b9bb67cbSmrg	HasLargeTmp		boolean for system has /tmp space
111b9bb67cbSmrg	HasLatex		system has LaTeX document preparation software
11218eba588Smrg	HasLibCrypt		boolean for system has libcrypt
113b5d2086dSmrg        HasMotif                boolean for system has Motif
114b9bb67cbSmrg        HasMotif2               boolean for system has Motif2 or OpenMotif
115b9bb67cbSmrg	HasNdbm			boolean for system has ndbm routines
116b5d2086dSmrg	HasPoll			use poll() syscall?
11718eba588Smrg	HasPurify		boolean for system has Purify
11818eba588Smrg	HasPutenv		boolean for libc has putenv()
11918eba588Smrg	HasSecureRPC		boolean for Sun Secure RPC
12018eba588Smrg	HasSetProcTitle		boolean for setproctitle()
12118eba588Smrg	HasSetUserContext	boolean for setusercontext()
12218eba588Smrg	HasSentinel		boolean for system has Sentinel available
12318eba588Smrg	HasSharedLibraries	boolean for system has shared libraries
12418eba588Smrg	HasShm			boolean for System V shared memory
12518eba588Smrg	HasSockets		boolean for system has BSD sockets
12618eba588Smrg	HasStrcasecmp		boolean for system implements str[n]casecmp
12718eba588Smrg	HasStreams		use STREAMS I/O interface?
12818eba588Smrg	HasSymLinks		boolean for system has symbolic links
12918eba588Smrg	HasTestCenter		boolean for system has TestCenter
13018eba588Smrg	HasVarDirectory		boolean for system has /var
13118eba588Smrg	HasVFork		boolean for system has vfork()
13218eba588Smrg	HasVoidSignalReturn	boolean for POSIX signal() procs
13318eba588Smrg	HasZlib			boolean for system has libz
13418eba588Smrg	IncludeSharedObjectInNormalLib define for static libs to include
13518eba588Smrg				       -fPIC objects on relevant archs
13618eba588Smrg	IncRoot			parent of X11 include directory
13718eba588Smrg	InstBinFlags		install flags for binaries
13818eba588Smrg	InstDatFlags		install flags for data files
13918eba588Smrg	InstIncFlags		install flags for header files
14018eba588Smrg	InstKmemFlags		install flags for xload to get at /dev/kmem
14118eba588Smrg	InstLibFlags		install flags for libraries
142b5d2086dSmrg	InstManFlags		install flags for manual pages
14318eba588Smrg	InstPgmFlags		install flags for normal programs
14418eba588Smrg	InstUidFlags		install flags for xterm to chown /dev/ptys
14518eba588Smrg	InstallCmd		command to install files
146b5d2086dSmrg	KrbIVIncludes		where to include KerberosIV header files from
147b5d2086dSmrg	KrbIVLibraries		where to load KerberosIV libraries from
148b5d2086dSmrg	Krb5Includes		where to include Kerberos header files from
149b5d2086dSmrg	Krb5Libraries		where to load Kerberos libraries from
150b5d2086dSmrg	LdCmd			command to run loader
151b5d2086dSmrg	LdCombineFlags		flags for incremental loading
15218eba588Smrg	LexCmd			command to run lex
153b5d2086dSmrg	LexLib			library for programs using lex output
154b5d2086dSmrg	LintCmd			command to run lint
155b5d2086dSmrg	LintLibFlag		flags to generate lint libraries
156b5d2086dSmrg	LintOpts		lint options to control strictness
157b5d2086dSmrg	LnCmd			command to link two files
158b5d2086dSmrg	LoaderLibPrefix		loader flags before libraries
159b5d2086dSmrg	LocalRulesFile		site-specific file with additional imake rules
160b5d2086dSmrg	LocalTmplFile		file with additional imake variables
161b5d2086dSmrg	MacroFile		name of machine-dependent config params file
162b5d2086dSmrg	MacroIncludeFile	<MacroFile>
163b5d2086dSmrg	MakeCmd			command to run make
164b5d2086dSmrg	Malloc0ReturnsNull	boolean for malloc(0) == NULL
165b5d2086dSmrg	Malloc0ReturnsNullDefines -D's to build libX11/libXt
166b5d2086dSmrg	MathLibrary		library for programs using C math functions
167b5d2086dSmrg	MkCookieCmd		command to generate an xauth cookie
168b5d2086dSmrg	MsMacros		macro flag for TroffCmd, normally "-ms"
169b5d2086dSmrg	MvCmd			command to rename a file
170b5d2086dSmrg	NdbmDefines		-D's to turn on use of ndbm routines
171b5d2086dSmrg	NeedConstPrototoypes	whether const is supported
17218eba588Smrg	NeedFunctionPrototypes	whether or not to force function prototypes
17318eba588Smrg	NeedNestedPrototypes	whether nested prototypes are supported
174b5d2086dSmrg	NeedVarargsPrototypes	whether varargs prototypes are supported
17518eba588Smrg	NeedWidePrototypes	whether or not to widen function prototypes
176b5d2086dSmrg	NoOpCDebugFlags		C compiler flags to not debug or optimize
177b5d2086dSmrg	NoRConst		YES if const for structs of funcs is bad
17818eba588Smrg	OSMajorVersion		major version number of operating system
17918eba588Smrg	OSMinorVersion		minor version number of operating system
18018eba588Smrg	OSName			operating system name
18118eba588Smrg	OSTeenyVersion		maintenance version number of operating system
182b5d2086dSmrg	OptimizedCDebugFlags	C compiler flags to turn on optimization
183b5d2086dSmrg	XtPopdownConformance	XtPopdown conformans to the specification
184b5d2086dSmrg	PreProcessCmd		command to run /lib/cpp on scripts
185b5d2086dSmrg	RanlibCmd		command to clean up libraries
186b5d2086dSmrg	RanlibInstFlags		flags to ranlib after copying
18718eba588Smrg	ResourceConfigurationManagement boolean for Xt's Resource Configuration
18818eba588Smrg					Management
189b5d2086dSmrg	RmCmd			command to delete files
19018eba588Smrg	ShLibDir		directory in which to install shared libraries
191b5d2086dSmrg	StandardCppDefines	-D's for running cpp
192b5d2086dSmrg	StandardDefines		-D's for running C compiler
19318eba588Smrg	StandardIncludes	-I's for running C compiler
19418eba588Smrg	StripInstalledPrograms	boolean for sites that want to install -s
195b5d2086dSmrg	SystemV			boolean for systems that are at least SVR2
19618eba588Smrg	SystemV4		boolean for SVR4 systems
197b5d2086dSmrg	TOPDIR			relative path to top of sources
198b5d2086dSmrg	TagsCmd			command to run tags
199b5d2086dSmrg	TblCmd			command to run tbl
200b5d2086dSmrg	TroffCmd		command to run troff to get PostScript
201b5d2086dSmrg	UNCOMPRESSPATH		command to run uncompress (obsolete)
20218eba588Smrg	UnalignedReferencesAllowed	boolean for unaligned copies ok
20318eba588Smrg	UsrLibDir		directory in which to install libraries
20418eba588Smrg	YaccCmd			command to run yacc
20518eba588Smrg
20618eba588SmrgX11.tmpl provides defaults for the following variables:
207b5d2086dSmrg
208b5d2086dSmrg	AdmDir			directory containing system log files
209b5d2086dSmrg	AllocateLocalDefines	-D's to turn on alloca() (should be in Imake.tmpl)
210b5d2086dSmrg	BDFTOSNFFILT		command to run bdftosnf
211b5d2086dSmrg	BaseExtensionDefines	universal extensions to use
21218eba588Smrg	BinDir			directory in which to install programs
213b5d2086dSmrg	BuildAppgroup		build AppGroup extension in server
21418eba588Smrg	BuildCup		build Colormap Utilization extension in server
21518eba588Smrg	BuildDBE		build DOUBLE-BUFFER extension
216b5d2086dSmrg	BuildDmx		build Distributed Multihead X server and extension
21718eba588Smrg	BuildDPMS		build Display Power Management Signaling extension
21818eba588Smrg	BuildFontServer		build font server
219b5d2086dSmrg	BuildFonts		build pcf fonts
220b5d2086dSmrg	BuildIncRoot		relative path to location of headers in build
221b5d2086dSmrg	BuildIncTop		path from build includes directory to top
222b5d2086dSmrg	BuildEVI		build EVI server extension
223b5d2086dSmrg	BuildLBX		build LBX (aka X.fast) server extension
224b5d2086dSmrg	BuildMultibuffer	build Multibuffer extension (obsolete)
225b5d2086dSmrg	BuildPlugin		build xrx plug-in for web browsers
226b5d2086dSmrg	BuildRECORD		Build RECORD extension
22718eba588Smrg	BuildServer		build X server
22818eba588Smrg	BuildXAudio		build Audio
229b5d2086dSmrg	BuildXAServer		build Audio server
23018eba588Smrg	BuildXCSecurity		Build Security Extension
23118eba588Smrg	BuildXInputExt		build X Input extension (requires ddx support,
23218eba588Smrg					which exists only in Xhp and XFree86)
23318eba588Smrg	BuildXInputLib		build X Input library
23418eba588Smrg	BuildXKB		build X Keyboard Extension?
235b5d2086dSmrg	BuildXKBlib		build X Keyboard Extension into Xlib?
23618eba588Smrg	UseXKBInClients		Use XKB functions in normal clients?
23718eba588Smrg	ConfigDir		install directory for config files
238b5d2086dSmrg	ConnectionFlags		-D's for supported transports
23918eba588Smrg	ContribDir		location of user-contributed sources
24018eba588Smrg	DebugLibFS		build libFS_d.a
24118eba588Smrg	DebugLibICE		build libICE_d.a
24218eba588Smrg	DebugLibSM		build libSM_d.a
24318eba588Smrg	DebugLibX11		build libX11_d.a
24418eba588Smrg	DebugLibXau		build libXau_d.a
24518eba588Smrg	DebugLibXaw		build libXaw_d.a
24618eba588Smrg	DebugLibXdmcp		build libXdmcp_d.a
24718eba588Smrg	DebugLibXext		build libXext_d.a
24818eba588Smrg	DebugLibXi		build libXi_d.a
24918eba588Smrg	DebugLibXmu		build libXmu_d.a
25018eba588Smrg	DebugLibXt		build libXt_d.a
25118eba588Smrg	DebugLibXtst		build libXtst_d.a
25218eba588Smrg	DebugLibXag		build libXag_d.a
25318eba588Smrg	DebugOldX		build liboldX_d.a
25418eba588Smrg	DefaultCursorTheme      name of default cursor theme
25518eba588Smrg	DefaultFSConfigFile	default font server config file
25618eba588Smrg	DefaultFontPath		default server font path
25718eba588Smrg	DefaultRGBDatabase	default server rgb color database
25818eba588Smrg	DefaultSystemPath	default system xdm PATH environment variable
25918eba588Smrg	DefaultSystemShell	default /bin/sh
26018eba588Smrg	DefaultUserPath		default user xdm PATH environment variable
26118eba588Smrg	DependCmd		command to run makedepend
26218eba588Smrg	DependDir		build directory containing makedepend program
26318eba588Smrg	DriverManDir		directory in which to install driver man pages
26418eba588Smrg	DriverManSuffix		man suffix for driver pages
26518eba588Smrg	ExtensionDefines	-D's for universal extensions
26618eba588Smrg	ExtensionOSDefines	-D's for additional extensions
26718eba588Smrg	FontCompilerFlags	flags for bdftosnf
26818eba588Smrg	FontDefines		-D's to turn on font options
269b5d2086dSmrg	FontDir			directory in which to install fonts
27018eba588Smrg	FontFilters		-D's to specify font conversion filters
27118eba588Smrg	FontOSDefines		-D's for which fonts to support
272b5d2086dSmrg	ForceNormalLib		force building of .a in addition to shared lib
273b5d2086dSmrg	GzipFontCompression	boolean for using gzip instead of compress
274b5d2086dSmrg	HasXdmAuth		boolean for using XDM-AUTHORIZATION-1;
275b5d2086dSmrg					needs Wraphelp.c, see Release Notes
276b5d2086dSmrg	InstallAppDefFiles	install new app defaults files over old?
277b5d2086dSmrg	InstallFSConfig		install fs config file over old?
278b5d2086dSmrg	InstallLibManPages	boolean for installing library man pages
279b5d2086dSmrg	InstallSecurityConfig	install server security policy file over old?
280b5d2086dSmrg	InstallXdmConfig	install xdm config files over old?
281b5d2086dSmrg	InstallXinitConfig	install xinit config files over old?
282b5d2086dSmrg	KrbIVDefines		defines for use with KerberosIV
283b5d2086dSmrg	LibDir			directory in which to install X11 support files
284b5d2086dSmrg	LibManSuffix		man suffix for library pages
285b5d2086dSmrg	LibmanDir		directory in which to install library man pages
286b5d2086dSmrg	LintlibDir		directory in which to install lint libs
287b5d2086dSmrg	ManDir			directory in which to install program man pages
288b5d2086dSmrg	ManDirectoryRoot	parent of man directories relative to root
289b5d2086dSmrg	ManPath			full path of parent directory
290b5d2086dSmrg	ManSourcePath		common prefix of man page directories
291b5d2086dSmrg	ManSuffix		man suffix for programs
292b5d2086dSmrg	MiscManSuffix		man suffix for miscellaneous pages
293b5d2086dSmrg	MiscManDir		directory in which to install misc man pages
294b5d2086dSmrg	NeedDefaultDepLibs	boolean for enabling default DEPLIBS
295b5d2086dSmrg	NlsDir			directory in which to install nls files
296b5d2086dSmrg	NormalLibFS		build libFS.a
297b5d2086dSmrg	NormalLibICE		build libICE.a
298b5d2086dSmrg	NormalLibSM		build libSM.a
29918eba588Smrg	NormalLibX11		build libX11.a
300b5d2086dSmrg	NormalLibXau		build libXau.a
301b5d2086dSmrg	NormalLibXaw		build libXaw.a
302b5d2086dSmrg	NormalLibXdmcp		build libXdmcp.a
303b5d2086dSmrg	NormalLibXext		build libXext.a
304b5d2086dSmrg	NormalLibXi		build libXi.a
305b5d2086dSmrg	NormalLibXmu		build libXmu.a
306b5d2086dSmrg	NormalLibXt		build libXt.a
307b5d2086dSmrg	NormalLibXtst		build libXtst.a
308b5d2086dSmrg	NormalLibXag		build libXag.a
309b5d2086dSmrg	NormalOldX		build liboldX.a
310b5d2086dSmrg	OsNameDefines		If uname(2) unavailable, set to -DOS_NAME=OSName
311b5d2086dSmrg	PrimaryScreenResolution	resolution of default server screen
312b5d2086dSmrg	ProfileLibFS		build libFS_p.a
313b5d2086dSmrg	ProfileLibICE		build libICE_p.a
314b5d2086dSmrg	ProfileLibSM		build libSM_p.a
315b5d2086dSmrg	ProfileLibX11		build libX11_p.a
316b5d2086dSmrg	ProfileLibXau		build libXau_p.a
31718eba588Smrg	ProfileLibXaw		build libXaw_p.a
31818eba588Smrg	ProfileLibXdmcp		build libXdmcp_p.a
31918eba588Smrg	ProfileLibXext		build libXext_p.a
32018eba588Smrg	ProfileLibXi		build libXi_p.a
32118eba588Smrg	ProfileLibXmu		build libXmu_p.a
32218eba588Smrg	ProfileLibXt		build libXt_p.a
32318eba588Smrg	ProfileLibXtst		build libXtst_p.a
32418eba588Smrg	ProfileLibXag		build libXag_p.a
325b5d2086dSmrg	ProfileOldX		build liboldX_p.a
326b5d2086dSmrg	ProjectX		version indicating this is the X Window System
327b5d2086dSmrg	RemoveTargetProgramByMoving	boolean for rm -f that doesn't
328b5d2086dSmrg	SHELLPATH		-D for /bin/sh
329b5d2086dSmrg	ServerConfigDir		directory for server security config files
330b5d2086dSmrg	ServerDefines		complete -D's for server
331b5d2086dSmrg	ServerExtraDefines	special -D's for server
332b5d2086dSmrg	ServerOSDefines		OS -D's for server
333b5d2086dSmrg	ServerAssertDefines	-DNDEBUG for no assertions, /**/ for assertions
334b5d2086dSmrg	SharedLibFS		boolean for making sharable libFS.so
335b5d2086dSmrg	SharedLibICE		boolean for making sharable libICE.so
336b5d2086dSmrg	SharedLibSM		boolean for making sharable libSM.so
337b5d2086dSmrg	SharedLibX11		boolean for making sharable libX11.so
338b5d2086dSmrg	SharedLibXau		boolean for making sharable libXau.so
33918eba588Smrg	SharedLibXaw		boolean for making sharable libXaw.so
340b5d2086dSmrg	SharedLibXdmcp		boolean for making sharable libXdmcp.so
341b5d2086dSmrg	SharedLibXext		boolean for making sharable libXext.so
342b5d2086dSmrg	SharedLibXi		boolean for making sharable libXi.so
343b5d2086dSmrg	SharedLibXmu		boolean for making sharable libXmu.so
344b5d2086dSmrg	SharedLibXt		boolean for making sharable libXt.so
345b5d2086dSmrg	SharedLibXtst		boolean for making sharable libXtst.so
346b5d2086dSmrg	SharedLibXag		boolean for making sharable libXag.so
347b5d2086dSmrg	SharedOldX		boolean for making sharable liboldX.so
34818eba588Smrg	ShmDefines		MIT-SHM define
349b5d2086dSmrg	TwmDir			directory in which to install twm config files
350b5d2086dSmrg	UseCCMakeDepend		boolean for using alternate makedepend script
351b5d2086dSmrg	UseRgbTxt		use rgb.txt file as is instead of DBM-compiled
352b5d2086dSmrg	VarDirectory		directory in /var for logs, etc., and config
353b5d2086dSmrg	VendorHasX11R6_3libXext	don't need Security & AppGroup in xrx plug-in
354b5d2086dSmrg	XAppLoadDir		directory in which to install app defaults
355b5d2086dSmrg	XFileSearchPathBase	base file search path
356b5d2086dSmrg	XFileSearchPathDefault	default path to search for app defaults files
357b5d2086dSmrg	XInputDefines		XINPUT define
358b5d2086dSmrg	XMalloc0ReturnsNullDefines -D's specifically for libX11
359b5d2086dSmrg	XawClientDepLibs	DEPLIBS for clients that use Xaw
360b5d2086dSmrg	XawClientLibs		LOCAL_LIBRARIES for clients that use Xaw
361b5d2086dSmrg	XdmConfigurationSubdirectory	name of default xdm configuration
362b5d2086dSmrg	XdmDir			directory in which to install xdm files
363b5d2086dSmrg	XdmServersType		type of xdm Xservers file to install
364b5d2086dSmrg	XinitDir		directory in which to install xinit files
365b5d2086dSmrg	XPrintDir		parent of X Print server config directory
366b5d2086dSmrg	XprtServer		build the X Print server
367b5d2086dSmrg	XpRasterDDX		include the raster print ddx driver
368b5d2086dSmrg	XpColorPclDDX		include the color PCL print ddx driver
369b5d2086dSmrg	XpMonoPclDDX		include the monochrome PCL print ddx driver
370b5d2086dSmrg	XpPostScriptDDX		include the PostScript print ddx driver
371b5d2086dSmrg	XpPdfDDX		include the PDF print ddx driver
372b5d2086dSmrg	XpSvgDDX		include the SVG print ddx driver
37318eba588Smrg	XmanLocalSearchPath	non-standard path for man pages
37418eba588Smrg	XtErrorPrefix		leading text in XtError() msg; eg. 'X Toolkit '
37518eba588Smrg	XtWarningPrefix		leading text in XtWarning()msg, same as above
37618eba588Smrg	XtMalloc0ReturnsNullDefines -D's specifically for libXt
37718eba588Smrg	ZBDFTOSNFFILT		-D to run uncompress and bdftosnf (obsolete)
37818eba588Smrg
37918eba588Smrg
38018eba588SmrgLibrary.tmpl provides defaults for the following variables:
381b5d2086dSmrg
382b5d2086dSmrg	AvoidNullMakeCommand	for makes that spout about $(_NULLCMD_)
383b5d2086dSmrg	LibraryCCOptions	special C compiler options for libraries
384b5d2086dSmrg	LibraryCDebugFlags	library debug/optimize flags to override defs
385b5d2086dSmrg	LibraryCcCmd		command to run C compiler in libraries
386b5d2086dSmrg	LibraryCplusplusOptions special C++ options for libraries
38718eba588Smrg	LibraryCplusplusDebugFlags  library debug/optimize flags for C++
38818eba588Smrg	LibraryCplusplusCmd	command to run C++ compiler in libraries
389b5d2086dSmrg	LibraryDefines		-D's for libraries
390b5d2086dSmrg	SeparateSharedCompile	shared and unshared libs use same binaries?
391b5d2086dSmrg
392b5d2086dSmrg
39318eba588SmrgServer.tmpl provides defaults for the following variables:
394b5d2086dSmrg
395b5d2086dSmrg	ServerCCOptions		server C compiler options to override defaults
396b5d2086dSmrg	ServerCcCmd		command to run C compiler in server
397b5d2086dSmrg	ServerCDebugFlags	server debug/opt compiler flags
398b5d2086dSmrg	ServerDefines		server standard -D's
399b5d2086dSmrg	InstallServerSetUID	does this system need X server suid to root?
400b5d2086dSmrg
401b5d2086dSmrg
402b5d2086dSmrgThreads.tmpl provides defaults for the following variables:
403b5d2086dSmrg
404b5d2086dSmrg	LocalThreads		whether to enable multi-threading support
40518eba588Smrg	LocalThreadsDefines	-D flags needed in this directory
40618eba588Smrg
407b5d2086dSmrg
408b5d2086dSmrgAn <os>Lib.rules file provides defaults for the following variables:
409b5d2086dSmrg
410b5d2086dSmrg	HasSharedLibraries	boolean for using shared libraries
41118eba588Smrg	SharedDataSeparation	boolean indicating separate data/code
412b5d2086dSmrg	SharedCodeDef		-D's for compiling shared library files
413b5d2086dSmrg	SharedLibraryDef	-D's for defining which kind of shared lib
414b5d2086dSmrg	ShLibIncludeFile	location of the <os>Lib.tmpl file
415b5d2086dSmrg	SharedLibraryLoadFlags	loader flags when making the library
416b5d2086dSmrg	UseExportLists		boolean for using an export list
417b5d2086dSmrg	PositionIndependentCFlags 		PIC compiler flags for C
41818eba588Smrg	PositionIndependentCplusplusFlags	PIC compiler flags for C++
41918eba588Smrg
42018eba588Smrg	  Note: PositionIndependentCplusplusFlags is only required if the
42118eba588Smrg	  C and C++ compilers use different flags to build PIC code.  The
42218eba588Smrg	  default configuration will try to use PositionIndependentCFlags
42318eba588Smrg	  for both C and C++ compiles.
42418eba588Smrg
42518eba588SmrgAn <os>Lib.tmpl file provides defaults for the following variables:
426b5d2086dSmrg
427b5d2086dSmrg	SharedFSReqs		required libs for libFS.so
428b5d2086dSmrg	SharedFSRev		version number for libFS.so
429b5d2086dSmrg	SharedICEReqs		required libs for libICE.so
430b5d2086dSmrg	SharedICERev		version number for libICE.so
431b5d2086dSmrg	SharedOldXReqs		required libs for liboldX.so
432b5d2086dSmrg	SharedOldXRev		version number for liboldX.so
433b5d2086dSmrg	SharedSMReqs		required libs for libSM.so
434b5d2086dSmrg	SharedSMRev		version number for libSM.so
435b5d2086dSmrg	SharedX11Reqs		required libs for libX11.so
436b5d2086dSmrg	SharedX11Rev		version number for libX11.so
43718eba588Smrg	SharedXauReqs		required libs for libXau.so
438b5d2086dSmrg	SharedXauRev		version number for libXau.so
43918eba588Smrg	SharedXawReqs		required libs for libXaw.so
440b5d2086dSmrg	SharedXawRev		version number for libXaw.so
441b5d2086dSmrg	SharedXdmcpReqs		required libs for libXdmcp.so
442b5d2086dSmrg	SharedXdmcpRev		version number for libXdmcp.so
443b9bb67cbSmrg	SharedXextReqs		required libs for libXext.so
444b9bb67cbSmrg	SharedXextRev		version number for libXext.so
4451cc8c64fSmrg	SharedXiReqs		required libs for libXi.so
4461cc8c64fSmrg	SharedXiRev		version number for libXi.so
4471cc8c64fSmrg	SharedXmuReqs		required libs for libXmu.so
4481cc8c64fSmrg	SharedXmuRev		version number for libXmu.so
4491cc8c64fSmrg	SharedXtReqs		required libs for libXt.so
450b9bb67cbSmrg	SharedXtRev		version number for libXt.so
4511cc8c64fSmrg	SharedXtstReqs		required libs for libXtst.so
4521cc8c64fSmrg	SharedXtstRev		version number for libXtst.so
4531cc8c64fSmrg	SharedXmReqs		required libs for libXm.so
4541cc8c64fSmrg	SharedXmRev		version number for libXm.so
4551cc8c64fSmrg	SharedMrmReqs		required libs for libMrm.so
456b5d2086dSmrg	SharedMrmRev		version number for libMrm.so
457b5d2086dSmrg	SharedUilReqs		required libs for libUil.so
458b5d2086dSmrg	SharedUilRev		version number for libUil.so
459b5d2086dSmrg	SharedTtReqs		required libs for libtt.so
460b5d2086dSmrg	SharedTtRev		version number for libtt.so
4611cc8c64fSmrg	SharedPamReqs		required libs for libpam.so
462b9bb67cbSmrg	SharedPamRev		version number for libpam.so
4631cc8c64fSmrg	SharedDtSvcReqs		required libs for libDtSvc.so
4641cc8c64fSmrg	SharedDtSvcRev		version number for libDtSvc.so
465b9bb67cbSmrg	SharedDtSearchReqs	required libs for libDtSearch.so
46618eba588Smrg	SharedDtSearchRev	version number for libDtSearch.so
467b9bb67cbSmrg	SharedDtWidgetReqs	required libs for libDtWidget.so
468b9bb67cbSmrg	SharedDtWidgetRev	version number for libDtWidget.so
469b9bb67cbSmrg	SharedDtHelpReqs	required libs for libDtHelp.so
470b9bb67cbSmrg	SharedDtHelpRev		version number for libDtHelp.so
471b9bb67cbSmrg	SharedDtPrintReqs	required libs for libDtPrint.so
472b9bb67cbSmrg	SharedDtPrintRev	version number for libDtPrint.so
473b9bb67cbSmrg	SharedDtTermReqs	required libs for libDtTerm.so
474b9bb67cbSmrg	SharedDtTermRev		version number for libDtTerm.so
475b9bb67cbSmrg	SharedDtMrmReqs		required libs for libDtMrm.so
476b9bb67cbSmrg	SharedDtMrmRev		version number for libDtMrm.so
477b9bb67cbSmrg
478b9bb67cbSmrgVendor.cf files and/or site/host specific .def files may define the
479b9bb67cbSmrgfollowing variables:
4801cc8c64fSmrg
481b5d2086dSmrg	ProjectRoot		The directory under which the installation
482b5d2086dSmrg				will operate.  This value will be hard coded
483b5d2086dSmrg				into some programs.  As a result do not use it
484b5d2086dSmrg				to specify the installation directory for a
485b5d2086dSmrg				cross compiled system, use DESTDIR to
486b5d2086dSmrg				accomplish that task.
4871cc8c64fSmrg
4881cc8c64fSmrgThe following variables are used by some part of the tree:
489b5d2086dSmrg
490b5d2086dSmrg	AckToolset		programs/Xserver/hw/xfree86
491b5d2086dSmrg	BuildChooser		build the xdm chooser program?
492b5d2086dSmrg	SharedLibXdmGreet	use xdm shared dynamic greeter library?
493b5d2086dSmrg	LatexCmd		command to run LaTeX on a document
494b5d2086dSmrg	DvipsCmd		command to turn .dvi file into PostScript
495b5d2086dSmrg	MotifBC			using Motif 1.1.1, 1.1.2, or 1.1.3?
496b5d2086dSmrg	GetValuesBC		compat GetValues behavior for broken apps?
497b5d2086dSmrg	NeedBerklib		application needs libXbsd?
498b5d2086dSmrg	SvgaConfig		default SVGA configuration
499b5d2086dSmrg	HasGetReturnAddress	util/memleak
500b5d2086dSmrg	HasShadowPasswd		system has getspnam() function
501b5d2086dSmrg	XnestServer		build X server with Xlib-based ddx
502b5d2086dSmrg	XVirtualFramebufferServer	build X server with virtual memory framebuffer
503b5d2086dSmrg	WebServer		host:port of your Web server (see programs/xrx)
504b5d2086dSmrg	HtmlDir			path used by Web server for HTML and RX docs
505b5d2086dSmrg	CgiBinDir		path used by Web server for CGI programs
506b5d2086dSmrg	ProxyManager		ICE network ID to contact a running proxymngr
507b5d2086dSmrg	XdmxServer		build Distributed Multihead X server
508b5d2086dSmrg
509b5d2086dSmrg
51018eba588SmrgMake Variables
5111cc8c64fSmrg
51218eba588SmrgThe following make variables are used by imake rules and may be set in
51318eba588Smrgan individual Imakefile.
51418eba588Smrg
51518eba588SmrgDEFINES			program-specific -D flags and other arguments
516b5d2086dSmrg			to pass to the C compiler, lint, and makedepend.
517b5d2086dSmrgDEPEND_DEFINES		program-specific flags in addition to
518b5d2086dSmrg			$(DEFINES) to pass to lint and makedepend.
519b5d2086dSmrg			This is usually used when there are special
520b5d2086dSmrg			compilation rules for individual files, and
521b5d2086dSmrg			the defines passed to those files affect
522b9bb67cbSmrg			makedepend results.  If they can be passed to
5231cc8c64fSmrg			all files during the makedepend step without
52418eba588Smrg			affecting the results for other files,
52518eba588Smrg			DEPEND_DEFINES is used to do that.  Example is
52618eba588Smrg			the Xlib Imakefile.
52718eba588SmrgINCLUDES		program-specific -I flags.
528b5d2086dSmrgHEADERS			.h files to install with "make includes" and
529b5d2086dSmrg			"make install".  If this Imakefile includes
530b5d2086dSmrg			Library.tmpl there are no headers, include
531b5d2086dSmrg			this line instead of a HEADERS definition:
532b5d2086dSmrg			#define LibHeaders NO
533b5d2086dSmrgREQUIREDLIBS		when building a shared library, other libraries used
534b5d2086dSmrg			by this library that should be referenced at
535b5d2086dSmrg			link time.
536b5d2086dSmrgLINTLIBS		program-specific libraries for lint.
537b5d2086dSmrgLOCAL_LDFLAGS		program-specific flags for the linker.
538b5d2086dSmrgLOCAL_LIBRARIES		project libraries (usually specified
539b5d2086dSmrg			as -lname) needed by this program.
5401cc8c64fSmrg			For example, "-lXt -lXext -lX11".
54118eba588Smrg			Used by SimpleProgramTarget and
54218eba588Smrg			ComplexProgramTarget* rules.
54318eba588Smrg			Do not include any system-specific libraries here.
54418eba588SmrgSYS_LIBRARIES		system libraries (usually specified
54518eba588Smrg			as -lname) needed by this program.
54618eba588Smrg			For example "MathLibrary".
54718eba588Smrg			Do not include any system-specific libraries
548b5d2086dSmrg			such as "-lnsl" here; they are automatically
549b5d2086dSmrg			added to the link command by the
550b5d2086dSmrg			vendor-specific .cf file.
551b5d2086dSmrgSUBDIRS			for an Imakefile in a directory containing
552b5d2086dSmrg			subdirectories, this names the subdirectories.
553b5d2086dSmrg			Such an Imakefile also needs to #define IHaveSubdirs
554b9bb67cbSmrg			and call MakeSubdirs() and DependSubdirs().
555b5d2086dSmrgMANSUFFIX		suffix used by InstallManPage* rules.
556b5d2086dSmrg			May be set to $(LIBMANSUFFIX), $(FILEMANSUFFIX), or
557b5d2086dSmrg			$(MISCMANSUFFIX) in directories for libraries or data
558b5d2086dSmrg			files.
559b5d2086dSmrg
560b5d2086dSmrg
56118eba588SmrgRule-specific variables that may be set in an individual Imakefile.
562b5d2086dSmrgIf you aren't using these rules, you may need variables with a similar
56318eba588Smrgfunction, but you need not use these names.  However, following these
564b5d2086dSmrgconventions may make your Imakefile easier to read and maintain.
565b5d2086dSmrg
566b5d2086dSmrgDEPLIBS			library dependencies for ComplexProgramTarget
56718eba588SmrgSRCS			source files used by ComplexProgramTarget and
568b5d2086dSmrg			DependTarget.
569b9bb67cbSmrgOBJS			object files used by ComplexProgramTarget
57018eba588SmrgPROGRAMS		default target used with ComplexProgramTarget_(n)
571b9bb67cbSmrgSRCS1			source files used by ComplexProgramTarget_1
572b5d2086dSmrgOBJS1			object files used by ComplexProgramTarget_1
573b5d2086dSmrgDEPLIBS1		library dependencies for ComplexProgramTarget_1
574b9bb67cbSmrgSRCS2			source files used by ComplexProgramTarget_2
575b5d2086dSmrgOBJS2			object files used by ComplexProgramTarget_2
576b5d2086dSmrgDEPLIBS2		library dependencies for ComplexProgramTarget_2
577b5d2086dSmrgSRCS3			source files used by ComplexProgramTarget_3
578b5d2086dSmrgOBJS3			object files used by ComplexProgramTarget_3
579b5d2086dSmrgDEPLIBS3		library dependencies for ComplexProgramTarget_3
580b9bb67cbSmrg
581b9bb67cbSmrgVariables that can be set on the make command line:
58218eba588Smrg
58318eba588SmrgDESTDIR			directory under which "make install" should
584b9bb67cbSmrg			install instead of "/"; used only for testing
585b5d2086dSmrg			"make install" rules, binary package building,
586b5d2086dSmrg			and specifying alternative installation directories
587b9bb67cbSmrg			for cross compiles.
588b5d2086dSmrgFILE			file for "lint1" target to run lint on.
589b5d2086dSmrgCDEBUGFLAGS		-g and/or -O flag to control C compiler optimization.
590b9bb67cbSmrgCXXDEBUGFLAGS		-g and/or -O flag to control C++ optimization.
591b9bb67cbSmrgLDSTRIPFLAGS		flag to have linker strip objects (typically -x).
592b5d2086dSmrg			Typically set to the empty string to prevent
593b5d2086dSmrg			the linker from stripping objects; use this
5941cc8c64fSmrg			way when setting CDEBUGFLAGS to "-g".
5951cc8c64fSmrg
596b5d2086dSmrgThese variables are set in project-specific files such as X11.tmpl.
5971cc8c64fSmrgThey should NOT be set in an Imakefile.  These variables are sometimes
5981cc8c64fSmrgmisused; they are included here to remind Imakefile writers NOT to use
5991cc8c64fSmrgthem:
6001cc8c64fSmrg
6011cc8c64fSmrgEXTRA_DEFINES		project-specific -D flags
6021cc8c64fSmrgEXTRA_INCLUDES		project-specific -I flags
6031cc8c64fSmrgEXTRA_ICONFIGFILES	Additional project-specific imake config files
604b9bb67cbSmrg			to add to ICONFIGFILES.
6051cc8c64fSmrg			This is a list of files that define variables
606b9bb67cbSmrg			that might affect compilation of some files.
6071cc8c64fSmrg
6081cc8c64fSmrgMany other make variables are set up by the imake config files and can
6091cc8c64fSmrgbe used in an Imakefile.  The easiest way to discover them is to look
6101cc8c64fSmrgat the Makefile generated by an empty Imakefile.
6111cc8c64fSmrg
6121cc8c64fSmrg
6131cc8c64fSmrgComments
6141cc8c64fSmrg
61518eba588SmrgUse C comment syntax in an Imakefile for comments that should not
61618eba588Smrgappear in the resulting Makefile.
61718eba588SmrgUse "XCOMM" at the start of each
618b5d2086dSmrgline to produce a comment that will appear in the Makefile.
6191cc8c64fSmrg(The "XCOMM" will
62018eba588Smrgbe translated into the Makefile comment character "#" by imake.)
621b9bb67cbSmrgDo NOT use "#" as a comment character in Imakefiles; it confuses the C
622b9bb67cbSmrgpreprocessor used by imake on some systems.
62318eba588Smrg
624b9bb67cbSmrg
625b9bb67cbSmrgImake variables
626b9bb67cbSmrg
627b9bb67cbSmrgDon't abuse the variables in X11.tmpl that describe
628b9bb67cbSmrgparticular pieces of X by using them to describe your own subsystems.
629b9bb67cbSmrgInstead, create new variables that are defaulted using
630b9bb67cbSmrgImake.tmpl variables.
631b5d2086dSmrg
632b5d2086dSmrg
633b9bb67cbSmrgExamples
634b9bb67cbSmrg
635b9bb67cbSmrgSince the easiest way to write an Imakefile is to start with one that
636b9bb67cbSmrgworks, here are some short, easy-to-read Imakefile examples in the X
637b9bb67cbSmrgdistribution:
638b9bb67cbSmrg
639b9bb67cbSmrgwith subdirs:	config/Imakefile
640b9bb67cbSmrglibrary:	lib/Xau/Imakefile
641b9bb67cbSmrgsimple program: programs/xdpyinfo/Imakefile
642b9bb67cbSmrgcomplex progs:  programs/xclipboard/Imakefile
643b9bb67cbSmrgcomplex prog:	programs/xmodmap/Imakefile
644b9bb67cbSmrg
645b5d2086dSmrgCommon Rules
646b9bb67cbSmrg
647b9bb67cbSmrgHere are some of the common rules for building programs.  How to use
648b9bb67cbSmrgthem is described in Imake.rules and in the O'Reilly book "Software
649b9bb67cbSmrgPortability with imake."
650b9bb67cbSmrg
651b9bb67cbSmrgBasic program-building rules
652b9bb67cbSmrg
653b9bb67cbSmrgAll of these except NormalProgramTarget also generate rules to install
654b5d2086dSmrgthe program and its manual page, and to generate dependencies.
655b5d2086dSmrg
656b5d2086dSmrgSimpleProgramTarget	Use if there is only one program to be made
657b5d2086dSmrg			and it has only one source file.
658b9bb67cbSmrg
65918eba588SmrgComplexProgramTarget	Use if there is only one program to be made
66018eba588Smrg			and it has multiple source files.  Set SRCS to
66118eba588Smrg			the names of the source files, set OBJS to
66218eba588Smrg			the names of the object files, and set DEPLIBS
66318eba588Smrg			to the libraries that this program depends on.
66418eba588Smrg
66518eba588SmrgComplexProgramTarget_1	Like ComplexProgramTarget, but uses SRCS1,
666b9bb67cbSmrg			OBJS1, and DEPLIBS1 and can be used with
667b9bb67cbSmrg			ComplexProgramTarget_2 and ComplexProgramTarget_3
668b9bb67cbSmrg			to build up to three programs in the same directory.
669b9bb67cbSmrg			Set PROGRAMS to the programs built by all of
670b9bb67cbSmrg			these rules.  For more than 3 programs, use
671b9bb67cbSmrg			NormalProgramTarget for each.
672b9bb67cbSmrgComplexProgramTarget_2	Use after ComplexProgramTarget_1 for the
673b9bb67cbSmrg			second program in a directory.  Uses SRCS2,
674b9bb67cbSmrg			OBJS2, and DEPLIBS2.
675b9bb67cbSmrgComplexProgramTarget_3	Use after ComplexProgramTarget_2 for the
676b9bb67cbSmrg			third program in a directory.  Uses SRCS3,
677b9bb67cbSmrg			OBJS3, and DEPLIBS3.
678b9bb67cbSmrg
679b9bb67cbSmrgNormalProgramTarget	Build a program.  Can be used multiple times
680b9bb67cbSmrg			with different arguments in the same Imakefile.
681b9bb67cbSmrg
682b9bb67cbSmrgLower level rules, often used with NormalProgramTarget
683b9bb67cbSmrg
684b9bb67cbSmrgInstallProgram		install a program.
685b9bb67cbSmrg
686b9bb67cbSmrgInstallManPage		install a manual page.
687b9bb67cbSmrg
688b9bb67cbSmrgInstallDirectory	install a directory.
689b9bb67cbSmrg
690b9bb67cbSmrgDependTarget()		include once at end of Imakefile with
691b9bb67cbSmrg			NormalProgramTarget rules or that uses Library.tmpl.
692b9bb67cbSmrg			Generates dependencies for files named in SRCS.
693b9bb67cbSmrg
694b9bb67cbSmrgManual page rules, commonly used only in special documentation directories:
695b9bb67cbSmrg
696b9bb67cbSmrgInstallManPage
697b9bb67cbSmrgInstallManPageLong
698b9bb67cbSmrgInstallManPageAliases
699b9bb67cbSmrg
700b9bb67cbSmrgOther rules:
701b9bb67cbSmrg
702b9bb67cbSmrgSpecialCObjectRule	Compile a C file with special flags.
703b9bb67cbSmrgAllTarget		Declare additional targets to build.
704b9bb67cbSmrgInstallAppDefaults	Install X application defaults file.
705b9bb67cbSmrg
706b9bb67cbSmrgImakefile for directory with subdirectories
707b9bb67cbSmrg
70818eba588SmrgXCOMM this is a sample Imakefile for a directory containing subdirectories
709b9bb67cbSmrg#define IHaveSubdirs
710b9bb67cbSmrg#define PassCDebugFlags CDEBUGFLAGS="$(CDEBUGFLAGS)"
711b9bb67cbSmrgSUBDIRS = list of subdirs ...
712b9bb67cbSmrgMakeSubdirs($(SUBDIRS))
713b9bb67cbSmrgDependSubdirs($(SUBDIRS))
714b9bb67cbSmrg
715b9bb67cbSmrg
716b9bb67cbSmrgCommon Targets
717b9bb67cbSmrg
718b9bb67cbSmrgThese targets are typically NOT defined explicitly by the Imakefile
719b9bb67cbSmrgwriter; rather they are generated automatically by imake rules.
720b5d2086dSmrgThey are listed here for the convenience of people using the resulting
721b9bb67cbSmrgMakefile, not people writing the original Imakefile.
722b9bb67cbSmrg
723b9bb67cbSmrgall			Default rule; builds whatever is in this directory.
724b9bb67cbSmrgMakefile		Remake the Makefile (use after changing Imakefile).
725b9bb67cbSmrg			Run "make depend" after.
726b9bb67cbSmrgMakefiles		Remake all Makefiles in subdirectories.  (Does
727b9bb67cbSmrg			nothing if no subdirectories.)
7281cc8c64fSmrg			Run "make depend" after.
729b9bb67cbSmrgincludes		Generate and install in the tree any necessary
730b9bb67cbSmrg			header files.
731b5d2086dSmrgdepend			Update dependencies in the Makefile calculated
732b9bb67cbSmrg			by examining the source files.
733b9bb67cbSmrginstall			Install what "make all" built on the system.
734b9bb67cbSmrginstall.man		Install manual pages.
735b9bb67cbSmrgclean			Remove built objects and other derived files.
736b9bb67cbSmrglint			Run lint.
737b9bb67cbSmrgtags			Create a tags file.
738b9bb67cbSmrg