$XConsortium: README,v 1.37 94/04/18 17:13:36 gildea Exp $

The easiest way to write an Imakefile is to find another one that does
something similar and copy/modify it!

Imake.tmpl provides defaults for the following variables:

	AlternateIncRoot	compiler needs -I to find project includes
	AlternateUsrLibDir	linker needs -L to find project libraries
	ArCmd			command used to create libraries
	ArCmdBase		program name part of ArCmd
	ArAddCmd		flags to have ArCmdBase add files to a library
	ArExtCmd		flags to have ArCmdBase extract files
	AsCmd			command used to run assembler
	BootstrapCFlags		missing cpp symbols needed to get started
	BourneShell		command used to run Bourne Shell
	CCsuf			suffix that C++ source files have
	CURDIR			current directory relative to top of sources
	CcCmd			command to run C compiler
	CompressCmd		command to run compress program
	ConstructMFLAGS		System V option to set MFLAGS make variable
	CpCmd			command to copy one file to another
	CplusplusCmd		command to run C++ compiler
	CplusplusYaccCmd	command to produce C++ source from yacc source
	CppCmd			command to run C preprocessor
	CrossCompiling		cross compiling? (not fully supported)
	DebuggableCDebugFlags	C compiler -I's and -D's to turn on debug info
	DefaultCCOptions	default special C compiler options
	DefaultCDebugFlags	debug/optimize flags for programs
	DefaultUsrBin		program directory used even if PATH not set
	DependFlags		extra makedepend flags
	DoRanlibCmd		boolean for system uses ranlib
	EqnCmd			command used for eqn
	ExecableScripts		boolean for systems that can exec() #!/bin/sh
	ExpandManNames		boolean to expand man pages names to long form
	ExtraFilesToClean	extra files to remove on make clean
	ExtraLibraries		system-specific libraries need to link
	ExtraLoadFlags		system-specific loader flags
	FileManSuffix		man suffix for file format pages
	FilesToClean		files to delete in make clean
	FortranCmd		command to run Fortran compiler
	FortranDebugFlags	flags for Fortran debug info
	FortranFlags		Fortran compiler flags
	HasBSD44Sockets		boolean for system has BSD4.4 sockets
	HasBsearch		boolean for libc has bsearch()
	HasCenterLineC		boolean for system has CenterLine C compiler
	HasCenterLineCplusplus	boolean for system has CenterLine C++ compiler
	HasCodeCenter		boolean for system has CodeCenter
	HasCplusplus		system has a C++ compiler?
	HasDECnet		system has DECnet?
	HasFortran		boolean for system has Fortran compiler
	HasGcc			boolean for system has GNU gcc compiler
	HasGcc2			boolean for system has GNU gcc 2.x compiler
	HasGcc2ForCplusplus	use gcc 2 for C++ programs?
	HasKrb5			system has Kerberos version 5 support?
	HasLargeTmp		boolean for system has /tmp space
	HasNdbm			boolean for system has ndbm routines
	HasPoll			use poll() syscall?
	HasPurify		boolean for system has Purify
	HasPutenv		boolean for libc has putenv()
	HasSecureRPC		boolean for Sun Secure RPC
	HasSentinel		boolean for system has Sentinel available
	HasSharedLibraries	boolean for system has shared libraries
	HasShm			boolean for System V shared memory
	HasSockets		boolean for system has BSD sockets
	HasStreams		use STREAMS I/O interface?
	HasSymLinks		boolean for system has symbolic links
	HasTestCenter		boolean for system has TestCenter
	HasVFork		boolean for system has vfork()
	HasVoidSignalReturn	boolean for POSIX signal() procs
	IncRoot			parent of X11 include directory
	InstBinFlags		install flags for binaries
	InstDatFlags		install flags for data files
	InstIncFlags		install flags for header files
	InstKmemFlags		install flags for xload to get at /dev/kmem
	InstLibFlags		install flags for libraries
	InstManFlags		install flags for manual pages
	InstPgmFlags		install flags for normal programs
	InstUidFlags		install flags for xterm to chown /dev/ptys
	InstallCmd		command to install files
	IxxCmd			IDL to C++ command
	Krb5Includes		where to include Kerberos header files from
	Krb5Libraries		where to load Kerberos libraries from
	LdCmd			command to run loader
	LdCombineFlags		flags for incremental loading
	LexCmd			command to run lex
	LexLib			library for programs using lex output
	LintCmd			command to run lint
	LintLibFlag		flags to generate lint libraries
	LintOpts		lint options to control strictness
	LnCmd			command to link two files
	LoaderLibPrefix		loader flags before libraries
	MacroFile		name of machine-dependent config params file
	MacroIncludeFile	<MacroFile>
	MakeCmd			command to run make
	Malloc0ReturnsNull	boolean for malloc(0) == NULL
	MathLibrary		library for programs using C math functions
	MsMacros		macro flag for TroffCmd, normally "-ms"
	MvCmd			command to rename a file
	NdbmDefines		-D's to turn on use of ndbm routines
	NeedConstPrototoypes	whether const is supported
	NeedFunctionPrototypes	whether or not to force function prototypes
	NeedNestedPrototypes	whether nested prototypes are supported
	NeedVarargsPrototypes	whether varargs prototypes are supported
	NeedWidePrototypes	whether or not to widen function prototypes
	NoOpCDebugFlags		C compiler flags to not debug or optimize
	NoRConst		YES if const for structs of funcs is bad
	OSMajorVersion		major version number of operating system
	OSMinorVersion		minor version number of operating system
	OptimizedCDebugFlags	C compiler flags to turn on optimization
	PreProcessCmd		command to run /lib/cpp on scripts
	RanlibCmd		command to clean up libraries
	RanlibInstFlags		flags to ranlib after copying
	RmCmd			command to delete files
	ShLibDir		directory in which to install shared libraries
	StandardCppDefines	-D's for running cpp
	StandardDefines		-D's for running C compiler
	StandardIncludes	-I's for running C compiler
	StripInstalledPrograms	boolean for sites that want to install -s
	SystemV			boolean for systems that are at least SVR2
	SystemV4		boolean for SVR4 systems
	TOPDIR			relative path to top of sources
	TagsCmd			command to run tags
	TblCmd			command to run tbl
	TroffCmd		command to run troff to get PostScript
	UNCOMPRESSPATH		command to run uncompress
	UnalignedReferencesAllowed	boolean for unaligned copies ok
	UsrLibDir		directory in which to install libraries
	YaccCmd			command to run yacc

Project.tmpl provides defaults for the following variables:

	AdmDir			directory containing system log files
	AllocateLocalDefines	-D's to turn on alloca()
	BDFTOSNFFILT		command to run bdftosnf
	BaseExtensionDefines	universal extensions to use
	BinDir			directory in which to install programs
	BuildFontServer		build font server
	BuildFonts		build pcf fonts
	BuildFresco		build Fresco
	BuildIncRoot		relative path to location of headers in build
	BuildIncTop		path from build includes directory to top
	BuildPex		build all PEX-related code
	BuildPexClients		boolean for building PEX clients/demos
	BuildPexExt		build PEX extension
	BuildServer		build X server
	BuildXIE		build X Image Extension
	BuildDIS		build Document Imaging Subset of XIE
	BuildXInputExt		build X Input extension
	BuildXInputLib		build X Input library
	BuildXKB		build X Keyboard Extension?
	ConfigDir		install directory for config files
	ConnectionFlags		-D's for supported transports
	ContribDir		location of user-contributed sources
	DebugLibFS		build libFS_d.a
	DebugLibICE		build libICE_d.a
	DebugLibPex		build libPEX5_d.a
	DebugLibSM		build libSM_d.a
	DebugLibX11		build libX11_d.a
	DebugLibXau		build libXau_d.a
	DebugLibXaw		build libXaw_d.a
	DebugLibXdmcp		build libXdmcp_d.a
	DebugLibXext		build libXext_d.a
	DebugLibXi		build libXi_d.a
	DebugLibXie		build libXie_d.a
	DebugLibXmu		build libXmu_d.a
	DebugLibXt		build libXt_d.a
	DebugLibXtst		build libXtst_d.a
	DebugOldX		build liboldX_d.a
	DefaultFSConfigFile	default font server config file
	DefaultFontPath		default server font path
	DefaultRGBDatabase	default server rgb color database
	DefaultSystemPath	default system xdm PATH environment variable
	DefaultSystemShell	default /bin/sh
	DefaultUserPath		default user xdm PATH environment variable
	DependCmd		command to run makedepend
	DependDir		build directory containing makedepend program
	ExtensionDefines	-D's for universal extensions
	ExtensionOSDefines	-D's for additional extensions
	FontCompilerFlags	flags for bdftosnf
	FontDefines		-D's to turn on font options
	FontDir			directory in which to install fonts
	FontFilters		-D's to specify font conversion filters
	FontOSDefines		-D's for which fonts to support
	ForceNormalLib		force building of .a in addition to shared lib
	HasXdmAuth		boolean for using XDM-AUTHORIZATION-1
	InstallAppDefFiles	boolean for installing new app defaults files
	InstallFSConfig		boolean for installing fs config file
	InstallLibManPages	boolean for installing library man pages
	InstallXdmConfig	boolean for installing xdm config files
	InstallXinitConfig	boolean for installing xinit config files
	LibDir			directory in which to install X11 support files
	LibManSuffix		man suffix for library pages
	LibmanDir		directory in which to install library man pages
	LintlibDir		directory in which to install lint libs
	ManDir			directory in which to install program man pages
	ManDirectoryRoot	parent of man directories relative to root
	ManPath			full path of parent directory
	ManSourcePath		common prefix of man page directories
	ManSuffix		man suffix for programs
	NeedDefaultDepLibs	boolean for enabling default DEPLIBS
	NlsDir			directory in which to install nls files
	NormalLibFS		build libFS.a
	NormalLibICE		build libICE.a
	NormalLibPex		build libPEX5.a
	NormalLibPhigs		build libphigs.a
	NormalLibSM		build libSM.a
	NormalLibX11		build libX11.a
	NormalLibXau		build libXau.a
	NormalLibXaw		build libXaw.a
	NormalLibXdmcp		build libXdmcp.a
	NormalLibXext		build libXext.a
	NormalLibXi		build libXi.a
	NormalLibXie		build libXie.a
	NormalLibXmu		build libXmu.a
	NormalLibXt		build libXt.a
	NormalLibXtst		build libXtst.a
	NormalOldX		build liboldX.a
	OsNameDefines		beats me
	PexApiDir		PEX include file location
	PexCCOptions		special options for building PEX library
	PexCDebugFlags		special flags for building PEX library
	PexClientDefines	special -D's for building PEX clients
	PexDipexDefines		special -D's for building PEX di files
	PexPhigsDefines		special -D's for building PEX library
	PexShmIPC		boolean for using shared memory in phigsmon
	PhigsInclude		include directory for phigs clients
	PrimaryScreenResolution	resolution of default server screen
	ProfileLibFS		build libFS_p.a
	ProfileLibICE		build libICE_p.a
	ProfileLibPex		build libPEX5_p.a
	ProfileLibSM		build libSM_p.a
	ProfileLibX11		build libX11_p.a
	ProfileLibXau		build libXau_p.a
	ProfileLibXaw		build libXaw_p.a
	ProfileLibXdmcp		build libXdmcp_p.a
	ProfileLibXext		build libXext_p.a
	ProfileLibXi		build libXi_p.a
	ProfileLibXie		build libXie_p.a
	ProfileLibXmu		build libXmu_p.a
	ProfileLibXt		build libXt_p.a
	ProfileLibXtst		build libXtst_p.a
	ProfileOldX		build liboldX_p.a
	ProjectX		version indicating this is the X Window System
	RemoveTargetProgramByMoving	boolean for rm -f that doesn't
	SHELLPATH		-D for /bin/sh
	ServerDefines		complete -D's for server
	ServerExtraDefines	special -D's for server
	ServerOSDefines		OS -D's for server
	SharedLibFS		boolean for making sharable libFS.so
	SharedLibICE		boolean for making sharable libICE.so
	SharedLibPex		boolean for making sharable libPEX5.so
	SharedLibPhigs		boolean for making sharable libphigs.so
	SharedLibSM		boolean for making sharable libSM.so
	SharedLibX11		boolean for making sharable libX11.so
	SharedLibXau		boolean for making sharable libXau.so
	SharedLibXaw		boolean for making sharable libXaw.so
	SharedLibXdmcp		boolean for making sharable libXdmcp.so
	SharedLibXext		boolean for making sharable libXext.so
	SharedLibXi		boolean for making sharable libXi.so
	SharedLibXie		boolean for making sharable libXie.so
	SharedLibXmu		boolean for making sharable libXmu.so
	SharedLibXt		boolean for making sharable libXt.so
	SharedLibXtst		boolean for making sharable libXtst.so
	SharedOldX		boolean for making sharable liboldX.so
	ShmDefines		MIT-SHM define
	TwmDir			directory in which to install twm config files
	UseCCMakeDepend		boolean for using alternate makedepend script
	UseRgbTxt		use rgb.txt file as is instead of DBM-compiled
	XAppLoadDir		directory in which to install app defaults
	XFileSearchPathBase	base file search path
	XFileSearchPathDefault	default path to search for app defaults files
	XInputDefines		XINPUT define
	XawClientDepLibs	DEPLIBS for clients that use Xaw
	XawClientLibs		LOCAL_LIBRARIES for clients that use Xaw
	XdmConfigurationSubdirectory	name of default xdm configuration
	XdmDir			directory in which to install xdm files
	XdmServersType		type of xdm Xservers file to install
	XinitDir		directory in which to install xinit files
	XmanLocalSearchPath	non-standard path for man pages
	XtErrorPrefix		leading text in XtError() msg; eg. 'X Toolkit '
	XtWarningPrefix		leading text in XtWarning()msg, same as above
	ZBDFTOSNFFILT		-D to run uncompress and bdftosnf


Library.tmpl provides defaults for the following variables:

	AvoidNullMakeCommand	for makes that spout about $(_NULLCMD_)
	LibraryCCOptions	special C compiler options for libraries
	LibraryCDebugFlags	library debug/optimize flags to override defs
	LibraryCcCmd		command to run C compiler in libraries
	LibraryCplusplusOptions special C++ options for libraries
	LibraryCplusplusDebugFlags  library debug/optimize flags for C++
	LibraryCplusplusCmd	command to run C++ compiler in libraries
	LibraryDefines		-D's for libraries
	SeparateSharedCompile	shared and unshared libs use same binaries?


Server.tmpl provides defaults for the following variables:

	ServerCCOptions		server C compiler options to override defaults
	ServerCcCmd		command to run C compiler in server
	ServerCDebugFlags	server debug/opt compiler flags
	ServerDefines		server standard -D's
	InstallServerSetUID	does this system need X server suid to root?


Threads.tmpl provides defaults for the following variables:

	LocalThreads		whether to enable multi-threading support
	LocalThreadsDefines	-D flags needed in this directory


An <os>Lib.rules file provides defaults for the following variables:

	HasSharedLibraries	boolean for using shared libraries
	SharedDataSeparation	boolean indicating separate data/code
	SharedCodeDef		-D's for compiling shared library files
	SharedLibraryDef	-D's for defining which kind of shared lib
	ShLibIncludeFile	location of the <os>Lib.tmpl file
	SharedLibraryLoadFlags	loader flags when making the library
	PositionIndependentCFlags 		PIC compiler flags for C
	PositionIndependentCplusplusFlags	PIC compiler flags for C++

	  Note: PositionIndependentCplusplusFlags is only required if the 
	  C and C++ compilers use different flags to build PIC code.  The
	  default configuration will try to use PositionIndependentCFlags 
	  for both C and C++ compiles.

An <os>Lib.tmpl file provides defaults for the following variables:

	SharedFSReqs		required libs for libFS.so
	SharedFSRev		version number for libFS.so
	SharedICEReqs		required libs for libICE.so
	SharedICERev		version number for libICE.so
	SharedOldXReqs		required libs for liboldX.so
	SharedOldXRev		version number for liboldX.so
	SharedPexReqs		required libs for libPEX5.so
	SharedPexRev		version number for libPEX5.so
	SharedSMReqs		required libs for libSM.so
	SharedSMRev		version number for libSM.so
	SharedX11Reqs		required libs for libX11.so
	SharedX11Rev		version number for libX11.so
	SharedXauReqs		required libs for libXau.so
	SharedXauRev		version number for libXau.so
	SharedXawReqs		required libs for libXaw.so
	SharedXawRev		version number for libXaw.so
	SharedXdmcpReqs		required libs for libXdmcp.so
	SharedXdmcpRev		version number for libXdmcp.so
	SharedXextReqs		required libs for libXext.so
	SharedXextRev		version number for libXext.so
	SharedXiReqs		required libs for libXi.so
	SharedXiRev		version number for libXi.so
	SharedXieReqs		required libs for libXie.so
	SharedXieRev		version number for libXie.so
	SharedXmuReqs		required libs for libXmu.so
	SharedXmuRev		version number for libXmu.so
	SharedXtReqs		required libs for libXt.so
	SharedXtRev		version number for libXt.so
	SharedXtstReqs		required libs for libXtst.so
	SharedXtstRev		version number for libXtst.so

The following variables are used by some part of the tree:

	AckToolset		programs/Xserver/hw/xfree86
	BuildChooser		build the xdm chooser program?
	SharedLibXdmGreet	use xdm shared dynamic greeter library?
	LatexCmd		command to run LaTeX on a document
	DvipsCmd		command to turn .dvi file into PostScript
	MotifBC			using Motif 1.1.1, 1.1.2, or 1.1.3?
	GetValuesBC		compat GetValues behavior for broken apps?
	NeedBerklib		application needs libXbsd?
	SvgaConfig		default SVGA configuration
	HasGetReturnAddress	util/memleak
	HasShadowPasswd		system has getspnam() function
