
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: ArCmd command used to create libraries AsCmd command used to run assembler BootstrapCFlags missing cpp symbols needed to get started BourneShell command used to run Bourne Shell 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 CppCmd command to run C preprocessor 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 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 FilesToClean files to delete in make clean FortranCmd command to run Fortran compiler FortranDebugFlags flags for Fortran debug info FortranFlags Fortran compiler flags HasBsearch boolean for libc has bsearch() HasFortran boolean for system has Fortran compiler HasGcc boolean for system has GNU C compiler HasLargeTmp boolean for system has /tmp space HasNdbm boolean for system has ndbm routines HasPutenv boolean for libc has putenv() HasSaberC boolean for system has Saber C HasSecureRPC boolean for Sun Secure RPC HasSharedLibraries boolean for system has shared libraries HasShm boolean for System V shared memory HasSockets boolean for system has BSD sockets 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 LdCmd command to run loader LdCombineFlags flags for incremental loading 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 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 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 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 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 univeral extensions to use BinDir directory in which to install programs BuildFontServer boolean for building font server BuildFonts boolean for building pcf fonts BuildIncRoot relative path to location of headers in build BuildIncTop path from build includes directory to top BuildPex boolean for building all PEX-related code BuildPexClients boolean for buildiing PEX clients/demos BuildPexExt boolean for building PEX extension BuildServer boolean for building X server BuildXInputExt boolean for building X Input extension BuildXInputLib boolean for building X Input library ConfigDir install directory for config files ConnectionFlags -D's for supported transports ContribDir location of user-contributed sources DebugLibX boolean for compiling libX11_g.a .o's DebugLibXArchive boolean for building libX11_g.a DebugLibXau boolean for building libXau_g DebugLibXaw boolean for building libXaw_g DebugLibXdmcp boolean for building libXdmcp_g DebugLibXext boolean for building libXext_g DebugLibXmu boolean for building libXmu_g DebugLibXt boolean for building libXt_g DebugOldLibX boolean for building liboldX_g 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 DoInstallExtensionsIntoXlib merge -lXext into -lX11 (shunned) 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 data 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 NormalLibPhigs boolean for building libphigs.a NormalLibX boolean for building libX11.a NormalLibXau boolean for building libXau.a NormalLibXaw boolean for building libXaw.a NormalLibXdmcp boolean for building libXdmcp.a NormalLibXext boolean for building libXext.a NormalLibXinput boolean for building libXi.a NormalLibXmu boolean for building libXmu.a NormalLibXt boolean for building libXt.a NormalOldLibX boolean for building 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 ProfileLibX boolean for compiling -p Xlib ProfileLibXArchive boolean for building libX11_p ProfileLibXau boolean for buidling libXau_p ProfileLibXaw boolean for building libXaw_p ProfileLibXdmcp boolean for building libXdmcp_p ProfileLibXext boolean for building libXext_p ProfileLibXmu boolean for building libXmu_p ProfileLibXt boolean for building libXt_p ProfileOldLibX boolean for building liboldX_p 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 SharedLibPhigs boolean for making sharable libphigs SharedLibX boolean for making sharable libX11 SharedLibXau boolean for making sharable libXau SharedLibXaw boolean for making sharable libXaw SharedLibXdmcp boolean for making sharable libXdmcp SharedLibXext boolean for making sharable libXext SharedLibXinput boolean for making sharable libXi SharedLibXmu boolean for making sharable libXmu SharedLibXt boolean for making sharable libXt SharedOldLibX boolean for making sharable liboldX ShmDefines MIT-SHM define TwmDir directory in which to install twm config files UseCCMakeDepend boolean for using alternate makedepend script 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 LibraryDefines -D's for libraries 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 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 An <os>Lib.tmpl file provides defaults for the following variables: SharedOldXRev version number for shared liboldX SharedXauRev version number for shared libXau SharedXawRev version number for shared libXaw SharedXdmcpRev version number for shared libXdmcp SharedXextRev version number for shared libXext SharedXinputRev version number for shared libXi SharedXlibRev version number for shared libX11 SharedXmuRev version number for shared libXmu SharedXtRev version number for shared libXt