README revision 41fe0c2a
1d7ffce2aSmrgThe xorg-cf-files package contains the data files for the imake utility, 2d7ffce2aSmrgdefining the known settings for a wide variety of platforms (many of which 3d7ffce2aSmrghave not been verified or tested in over a decade), and for many of the 4d7ffce2aSmrglibraries formerly delivered in the X.Org monolithic releases. 5d7ffce2aSmrg 6d7ffce2aSmrgThe X Window System used imake extensively up through the X11R6.9 release, 7d7ffce2aSmrgfor both full builds within the source tree and external software. 841fe0c2aSmrgX moved to GNU autoconf and automake for its build system in 2005 for 941fe0c2aSmrgX11R7.0 and later releases, but still provides imake for building existing 1041fe0c2aSmrgexternal software programs that have not yet converted, though we are not 1141fe0c2aSmrgactively maintaining it for new OS or platform releases. 12d7ffce2aSmrg 13d7ffce2aSmrgMore information about Imake and its usage may be found in the resources 14d7ffce2aSmrgat: 15d7ffce2aSmrg http://www.snake.net/software/imake-stuff/ 16d7ffce2aSmrg http://www.kitebird.com/imake-book/ 17d7ffce2aSmrg 18d7ffce2aSmrgAll questions regarding this software should be directed at the 19d7ffce2aSmrgXorg mailing list: 20d7ffce2aSmrg 21d7ffce2aSmrg http://lists.freedesktop.org/mailman/listinfo/xorg 22d7ffce2aSmrg 23d7ffce2aSmrgPlease submit bug reports to the Xorg bugzilla: 24d7ffce2aSmrg 25d7ffce2aSmrg https://bugs.freedesktop.org/enter_bug.cgi?product=xorg 2611d341caSmrg 27d7ffce2aSmrgThe master development code repository can be found at: 2811d341caSmrg 29d7ffce2aSmrg git://anongit.freedesktop.org/git/xorg/util/cf 3011d341caSmrg 31d7ffce2aSmrg http://cgit.freedesktop.org/xorg/util/cf 3211d341caSmrg 33d7ffce2aSmrgFor patch submission instructions, see: 34d7ffce2aSmrg 35d7ffce2aSmrg http://www.x.org/wiki/Development/Documentation/SubmittingPatches 36d7ffce2aSmrg 37d7ffce2aSmrgFor more information on the git code manager, see: 38d7ffce2aSmrg 39d7ffce2aSmrg http://wiki.x.org/wiki/GitPage 40d7ffce2aSmrg 41d7ffce2aSmrg------------------------------------------------------------------------------ 42d7ffce2aSmrg 43d7ffce2aSmrg$Xorg: README,v 1.4 2000/08/18 04:03:58 coskrey Exp $ 4411d341caSmrg$XFree86: xc/config/cf/README,v 1.20 2003/04/14 20:35:50 herrb Exp $ 4511d341caSmrg 4611d341caSmrgThe easiest way to write an Imakefile is to find another one that does 4711d341caSmrgsomething similar and copy/modify it! 4811d341caSmrg 4911d341caSmrgTo change any of these variables, edit the site.def file. 5011d341caSmrg 5111d341caSmrgImake.tmpl provides defaults for the following variables: 5211d341caSmrg 5311d341caSmrg AlternateIncRoot compiler needs -I to find project includes 5411d341caSmrg AlternateUsrLibDir linker needs -L to find project libraries 5511d341caSmrg ArCmd command used to create libraries 5611d341caSmrg ArCmdBase program name part of ArCmd 5711d341caSmrg ArAddCmd flags to have ArCmdBase add files to a library 5811d341caSmrg ArExtCmd flags to have ArCmdBase extract files 5911d341caSmrg AsCmd command used to run assembler 6011d341caSmrg BootstrapCFlags missing cpp symbols needed to get started 6111d341caSmrg BourneShell command used to run Bourne Shell 6211d341caSmrg CCsuf suffix that C++ source files have 6311d341caSmrg CURDIR current directory relative to top of sources 6411d341caSmrg CcCmd command to run C compiler 6511d341caSmrg CompressCmd command to run compress program 6611d341caSmrg ConstructMFLAGS System V option to set MFLAGS make variable 6711d341caSmrg CpCmd command to copy one file to another 6811d341caSmrg CplusplusCmd command to run C++ compiler 6911d341caSmrg CplusplusFilt command to run C++ name demangler 7011d341caSmrg CplusplusYaccCmd command to produce C++ source from yacc source 7111d341caSmrg CppCmd command to run C preprocessor 7211d341caSmrg CrossCompiling cross compiling? (not fully supported) 7311d341caSmrg DebuggableCDebugFlags C compiler -I's and -D's to turn on debug info 7411d341caSmrg DefaultCCOptions default special C compiler options 7511d341caSmrg DefaultCDebugFlags debug/optimize flags for programs 7611d341caSmrg DefaultUsrBin program directory used even if PATH not set 7711d341caSmrg DependFlags extra makedepend flags 7811d341caSmrg DoRanlibCmd boolean for system uses ranlib 7911d341caSmrg EqnCmd command used for eqn 8011d341caSmrg ExecableScripts boolean for systems that can exec() #!/bin/sh 8111d341caSmrg ExpandManNames boolean to expand man pages names to long form 8211d341caSmrg ExtraFilesToClean extra files to remove on make clean 8311d341caSmrg ExtraLibraries system-specific libraries need to link 8411d341caSmrg ExtraLoadFlags system-specific loader flags 8511d341caSmrg FileManSuffix man suffix for file format pages 8611d341caSmrg FilesToClean files to delete in make clean 8711d341caSmrg FortranCmd command to run Fortran compiler 8811d341caSmrg FortranDebugFlags flags for Fortran debug info 8911d341caSmrg FortranFlags Fortran compiler flags 9011d341caSmrg GzipCmd command to run gzip program 9111d341caSmrg HasBSD44Sockets boolean for system has BSD4.4 sockets 9211d341caSmrg HasBsdMake use the 4.4BSD variant of the make program? 9311d341caSmrg HasBsearch boolean for libc has bsearch() 9411d341caSmrg HasBrokenCCForLink boolean for brain damaged cc driver 9511d341caSmrg HasCenterLineC boolean for system has CenterLine C compiler 9611d341caSmrg HasCenterLineCplusplus boolean for system has CenterLine C++ compiler 9711d341caSmrg HasClearmake use Clearcase's clearmake make program? 9811d341caSmrg HasCodeCenter boolean for system has CodeCenter 9911d341caSmrg HasCookieMaker boolean for system has xauth cookie generator 10011d341caSmrg HasCplusplus system has a C++ compiler? 10111d341caSmrg HasDECnet system has DECnet? 10211d341caSmrg HasFortran boolean for system has Fortran compiler 10311d341caSmrg HasGcc boolean for system has GNU gcc compiler 10411d341caSmrg HasGcc2 boolean for system has GNU gcc 2.x compiler 10511d341caSmrg HasGcc2ForCplusplus use gcc 2 for C++ programs? 10611d341caSmrg HasGnuMake use the GNU make program? 10711d341caSmrg HasGhostPCL boolean for system has GhostPCL 10811d341caSmrg HasGhostScript boolean for system has GhostScript 10911d341caSmrg HasKrbIV system has Kerberos version IV support? 11011d341caSmrg HasKrb5 system has Kerberos version 5 support? 11111d341caSmrg HasLargeTmp boolean for system has /tmp space 11211d341caSmrg HasLatex system has LaTeX document preparation software 11311d341caSmrg HasLibCrypt boolean for system has libcrypt 11411d341caSmrg HasMotif boolean for system has Motif 11511d341caSmrg HasMotif2 boolean for system has Motif2 or OpenMotif 11611d341caSmrg HasNdbm boolean for system has ndbm routines 11711d341caSmrg HasPoll use poll() syscall? 11811d341caSmrg HasPurify boolean for system has Purify 11911d341caSmrg HasPutenv boolean for libc has putenv() 12011d341caSmrg HasSecureRPC boolean for Sun Secure RPC 12111d341caSmrg HasSetProcTitle boolean for setproctitle() 12211d341caSmrg HasSetUserContext boolean for setusercontext() 12311d341caSmrg HasSentinel boolean for system has Sentinel available 12411d341caSmrg HasSharedLibraries boolean for system has shared libraries 12511d341caSmrg HasShm boolean for System V shared memory 12611d341caSmrg HasSockets boolean for system has BSD sockets 12711d341caSmrg HasStrcasecmp boolean for system implements str[n]casecmp 12811d341caSmrg HasStreams use STREAMS I/O interface? 12911d341caSmrg HasSymLinks boolean for system has symbolic links 13011d341caSmrg HasTestCenter boolean for system has TestCenter 13111d341caSmrg HasVarDirectory boolean for system has /var 13211d341caSmrg HasVFork boolean for system has vfork() 13311d341caSmrg HasVoidSignalReturn boolean for POSIX signal() procs 13411d341caSmrg HasZlib boolean for system has libz 13511d341caSmrg IncludeSharedObjectInNormalLib define for static libs to include 13611d341caSmrg -fPIC objects on relevant archs 13711d341caSmrg IncRoot parent of X11 include directory 13811d341caSmrg InstBinFlags install flags for binaries 13911d341caSmrg InstDatFlags install flags for data files 14011d341caSmrg InstIncFlags install flags for header files 14111d341caSmrg InstKmemFlags install flags for xload to get at /dev/kmem 14211d341caSmrg InstLibFlags install flags for libraries 14311d341caSmrg InstManFlags install flags for manual pages 14411d341caSmrg InstPgmFlags install flags for normal programs 14511d341caSmrg InstUidFlags install flags for xterm to chown /dev/ptys 14611d341caSmrg InstallCmd command to install files 14711d341caSmrg KrbIVIncludes where to include KerberosIV header files from 14811d341caSmrg KrbIVLibraries where to load KerberosIV libraries from 14911d341caSmrg Krb5Includes where to include Kerberos header files from 15011d341caSmrg Krb5Libraries where to load Kerberos libraries from 15111d341caSmrg LdCmd command to run loader 15211d341caSmrg LdCombineFlags flags for incremental loading 15311d341caSmrg LexCmd command to run lex 15411d341caSmrg LexLib library for programs using lex output 15511d341caSmrg LintCmd command to run lint 15611d341caSmrg LintLibFlag flags to generate lint libraries 15711d341caSmrg LintOpts lint options to control strictness 15811d341caSmrg LnCmd command to link two files 15911d341caSmrg LoaderLibPrefix loader flags before libraries 16011d341caSmrg LocalRulesFile site-specific file with additional imake rules 16111d341caSmrg LocalTmplFile file with additional imake variables 16211d341caSmrg MacroFile name of machine-dependent config params file 16311d341caSmrg MacroIncludeFile <MacroFile> 16411d341caSmrg MakeCmd command to run make 16511d341caSmrg Malloc0ReturnsNull boolean for malloc(0) == NULL 16611d341caSmrg Malloc0ReturnsNullDefines -D's to build libX11/libXt 16711d341caSmrg MathLibrary library for programs using C math functions 16811d341caSmrg MkCookieCmd command to generate an xauth cookie 16911d341caSmrg MsMacros macro flag for TroffCmd, normally "-ms" 17011d341caSmrg MvCmd command to rename a file 17111d341caSmrg NdbmDefines -D's to turn on use of ndbm routines 17211d341caSmrg NeedConstPrototoypes whether const is supported 17311d341caSmrg NeedFunctionPrototypes whether or not to force function prototypes 17411d341caSmrg NeedNestedPrototypes whether nested prototypes are supported 17511d341caSmrg NeedVarargsPrototypes whether varargs prototypes are supported 17611d341caSmrg NeedWidePrototypes whether or not to widen function prototypes 17711d341caSmrg NoOpCDebugFlags C compiler flags to not debug or optimize 17811d341caSmrg NoRConst YES if const for structs of funcs is bad 17911d341caSmrg OSMajorVersion major version number of operating system 18011d341caSmrg OSMinorVersion minor version number of operating system 18111d341caSmrg OSName operating system name 18211d341caSmrg OSTeenyVersion maintenance version number of operating system 18311d341caSmrg OptimizedCDebugFlags C compiler flags to turn on optimization 18411d341caSmrg XtPopdownConformance XtPopdown conformans to the specification 18511d341caSmrg PreProcessCmd command to run /lib/cpp on scripts 18611d341caSmrg RanlibCmd command to clean up libraries 18711d341caSmrg RanlibInstFlags flags to ranlib after copying 18811d341caSmrg ResourceConfigurationManagement boolean for Xt's Resource Configuration 18911d341caSmrg Management 19011d341caSmrg RmCmd command to delete files 19111d341caSmrg ShLibDir directory in which to install shared libraries 19211d341caSmrg StandardCppDefines -D's for running cpp 19311d341caSmrg StandardDefines -D's for running C compiler 19411d341caSmrg StandardIncludes -I's for running C compiler 19511d341caSmrg StripInstalledPrograms boolean for sites that want to install -s 19611d341caSmrg SystemV boolean for systems that are at least SVR2 19711d341caSmrg SystemV4 boolean for SVR4 systems 19811d341caSmrg TOPDIR relative path to top of sources 19911d341caSmrg TagsCmd command to run tags 20011d341caSmrg TblCmd command to run tbl 20111d341caSmrg TroffCmd command to run troff to get PostScript 20211d341caSmrg UNCOMPRESSPATH command to run uncompress (obsolete) 20311d341caSmrg UnalignedReferencesAllowed boolean for unaligned copies ok 20411d341caSmrg UsrLibDir directory in which to install libraries 20511d341caSmrg YaccCmd command to run yacc 20611d341caSmrg 20711d341caSmrgX11.tmpl provides defaults for the following variables: 20811d341caSmrg 20911d341caSmrg AdmDir directory containing system log files 21011d341caSmrg AllocateLocalDefines -D's to turn on alloca() (should be in Imake.tmpl) 21111d341caSmrg BDFTOSNFFILT command to run bdftosnf 21211d341caSmrg BaseExtensionDefines universal extensions to use 21311d341caSmrg BinDir directory in which to install programs 21411d341caSmrg BuildAppgroup build AppGroup extension in server 21511d341caSmrg BuildCup build Colormap Utilization extension in server 21611d341caSmrg BuildDBE build DOUBLE-BUFFER extension 21711d341caSmrg BuildDmx build Distributed Multihead X server and extension 21811d341caSmrg BuildDPMS build Display Power Management Signaling extension 21911d341caSmrg BuildFontServer build font server 22011d341caSmrg BuildFonts build pcf fonts 22111d341caSmrg BuildIncRoot relative path to location of headers in build 22211d341caSmrg BuildIncTop path from build includes directory to top 22311d341caSmrg BuildEVI build EVI server extension 22411d341caSmrg BuildLBX build LBX (aka X.fast) server extension 22511d341caSmrg BuildMultibuffer build Multibuffer extension (obsolete) 22611d341caSmrg BuildPlugin build xrx plug-in for web browsers 22711d341caSmrg BuildRECORD Build RECORD extension 22811d341caSmrg BuildServer build X server 229d7ffce2aSmrg BuildXAudio build Audio 23011d341caSmrg BuildXAServer build Audio server 23111d341caSmrg BuildXCSecurity Build Security Extension 23211d341caSmrg BuildXInputExt build X Input extension (requires ddx support, 23311d341caSmrg which exists only in Xhp and XFree86) 23411d341caSmrg BuildXInputLib build X Input library 23511d341caSmrg BuildXKB build X Keyboard Extension? 23611d341caSmrg BuildXKBlib build X Keyboard Extension into Xlib? 23711d341caSmrg UseXKBInClients Use XKB functions in normal clients? 23811d341caSmrg ConfigDir install directory for config files 23911d341caSmrg ConnectionFlags -D's for supported transports 24011d341caSmrg ContribDir location of user-contributed sources 24111d341caSmrg DebugLibFS build libFS_d.a 24211d341caSmrg DebugLibICE build libICE_d.a 24311d341caSmrg DebugLibSM build libSM_d.a 24411d341caSmrg DebugLibX11 build libX11_d.a 24511d341caSmrg DebugLibXau build libXau_d.a 24611d341caSmrg DebugLibXaw build libXaw_d.a 24711d341caSmrg DebugLibXdmcp build libXdmcp_d.a 24811d341caSmrg DebugLibXext build libXext_d.a 24911d341caSmrg DebugLibXi build libXi_d.a 25011d341caSmrg DebugLibXmu build libXmu_d.a 25111d341caSmrg DebugLibXt build libXt_d.a 25211d341caSmrg DebugLibXtst build libXtst_d.a 25311d341caSmrg DebugLibXag build libXag_d.a 25411d341caSmrg DebugOldX build liboldX_d.a 25511d341caSmrg DefaultCursorTheme name of default cursor theme 25611d341caSmrg DefaultFSConfigFile default font server config file 25711d341caSmrg DefaultFontPath default server font path 25811d341caSmrg DefaultRGBDatabase default server rgb color database 25911d341caSmrg DefaultSystemPath default system xdm PATH environment variable 26011d341caSmrg DefaultSystemShell default /bin/sh 26111d341caSmrg DefaultUserPath default user xdm PATH environment variable 26211d341caSmrg DependCmd command to run makedepend 26311d341caSmrg DependDir build directory containing makedepend program 26411d341caSmrg DriverManDir directory in which to install driver man pages 26511d341caSmrg DriverManSuffix man suffix for driver pages 26611d341caSmrg ExtensionDefines -D's for universal extensions 26711d341caSmrg ExtensionOSDefines -D's for additional extensions 26811d341caSmrg FontCompilerFlags flags for bdftosnf 26911d341caSmrg FontDefines -D's to turn on font options 27011d341caSmrg FontDir directory in which to install fonts 27111d341caSmrg FontFilters -D's to specify font conversion filters 27211d341caSmrg FontOSDefines -D's for which fonts to support 27311d341caSmrg ForceNormalLib force building of .a in addition to shared lib 27411d341caSmrg GzipFontCompression boolean for using gzip instead of compress 27511d341caSmrg HasXdmAuth boolean for using XDM-AUTHORIZATION-1; 27611d341caSmrg needs Wraphelp.c, see Release Notes 27711d341caSmrg InstallAppDefFiles install new app defaults files over old? 27811d341caSmrg InstallFSConfig install fs config file over old? 27911d341caSmrg InstallLibManPages boolean for installing library man pages 28011d341caSmrg InstallSecurityConfig install server security policy file over old? 28111d341caSmrg InstallXdmConfig install xdm config files over old? 28211d341caSmrg InstallXinitConfig install xinit config files over old? 28311d341caSmrg KrbIVDefines defines for use with KerberosIV 28411d341caSmrg LibDir directory in which to install X11 support files 28511d341caSmrg LibManSuffix man suffix for library pages 28611d341caSmrg LibmanDir directory in which to install library man pages 28711d341caSmrg LintlibDir directory in which to install lint libs 28811d341caSmrg ManDir directory in which to install program man pages 28911d341caSmrg ManDirectoryRoot parent of man directories relative to root 29011d341caSmrg ManPath full path of parent directory 29111d341caSmrg ManSourcePath common prefix of man page directories 29211d341caSmrg ManSuffix man suffix for programs 29311d341caSmrg MiscManSuffix man suffix for miscellaneous pages 29411d341caSmrg MiscManDir directory in which to install misc man pages 29511d341caSmrg NeedDefaultDepLibs boolean for enabling default DEPLIBS 29611d341caSmrg NlsDir directory in which to install nls files 29711d341caSmrg NormalLibFS build libFS.a 29811d341caSmrg NormalLibICE build libICE.a 29911d341caSmrg NormalLibSM build libSM.a 30011d341caSmrg NormalLibX11 build libX11.a 30111d341caSmrg NormalLibXau build libXau.a 30211d341caSmrg NormalLibXaw build libXaw.a 30311d341caSmrg NormalLibXdmcp build libXdmcp.a 30411d341caSmrg NormalLibXext build libXext.a 30511d341caSmrg NormalLibXi build libXi.a 30611d341caSmrg NormalLibXmu build libXmu.a 30711d341caSmrg NormalLibXt build libXt.a 30811d341caSmrg NormalLibXtst build libXtst.a 30911d341caSmrg NormalLibXag build libXag.a 31011d341caSmrg NormalOldX build liboldX.a 31111d341caSmrg OsNameDefines If uname(2) unavailable, set to -DOS_NAME=OSName 31211d341caSmrg PrimaryScreenResolution resolution of default server screen 31311d341caSmrg ProfileLibFS build libFS_p.a 31411d341caSmrg ProfileLibICE build libICE_p.a 31511d341caSmrg ProfileLibSM build libSM_p.a 31611d341caSmrg ProfileLibX11 build libX11_p.a 31711d341caSmrg ProfileLibXau build libXau_p.a 31811d341caSmrg ProfileLibXaw build libXaw_p.a 31911d341caSmrg ProfileLibXdmcp build libXdmcp_p.a 32011d341caSmrg ProfileLibXext build libXext_p.a 32111d341caSmrg ProfileLibXi build libXi_p.a 32211d341caSmrg ProfileLibXmu build libXmu_p.a 32311d341caSmrg ProfileLibXt build libXt_p.a 32411d341caSmrg ProfileLibXtst build libXtst_p.a 32511d341caSmrg ProfileLibXag build libXag_p.a 32611d341caSmrg ProfileOldX build liboldX_p.a 32711d341caSmrg ProjectX version indicating this is the X Window System 32811d341caSmrg RemoveTargetProgramByMoving boolean for rm -f that doesn't 32911d341caSmrg SHELLPATH -D for /bin/sh 33011d341caSmrg ServerConfigDir directory for server security config files 33111d341caSmrg ServerDefines complete -D's for server 33211d341caSmrg ServerExtraDefines special -D's for server 33311d341caSmrg ServerOSDefines OS -D's for server 33411d341caSmrg ServerAssertDefines -DNDEBUG for no assertions, /**/ for assertions 33511d341caSmrg SharedLibFS boolean for making sharable libFS.so 33611d341caSmrg SharedLibICE boolean for making sharable libICE.so 33711d341caSmrg SharedLibSM boolean for making sharable libSM.so 33811d341caSmrg SharedLibX11 boolean for making sharable libX11.so 33911d341caSmrg SharedLibXau boolean for making sharable libXau.so 34011d341caSmrg SharedLibXaw boolean for making sharable libXaw.so 34111d341caSmrg SharedLibXdmcp boolean for making sharable libXdmcp.so 34211d341caSmrg SharedLibXext boolean for making sharable libXext.so 34311d341caSmrg SharedLibXi boolean for making sharable libXi.so 34411d341caSmrg SharedLibXmu boolean for making sharable libXmu.so 34511d341caSmrg SharedLibXt boolean for making sharable libXt.so 34611d341caSmrg SharedLibXtst boolean for making sharable libXtst.so 34711d341caSmrg SharedLibXag boolean for making sharable libXag.so 34811d341caSmrg SharedOldX boolean for making sharable liboldX.so 34911d341caSmrg ShmDefines MIT-SHM define 35011d341caSmrg TwmDir directory in which to install twm config files 35111d341caSmrg UseCCMakeDepend boolean for using alternate makedepend script 35211d341caSmrg UseRgbTxt use rgb.txt file as is instead of DBM-compiled 35311d341caSmrg VarDirectory directory in /var for logs, etc., and config 35411d341caSmrg VendorHasX11R6_3libXext don't need Security & AppGroup in xrx plug-in 35511d341caSmrg XAppLoadDir directory in which to install app defaults 35611d341caSmrg XFileSearchPathBase base file search path 35711d341caSmrg XFileSearchPathDefault default path to search for app defaults files 35811d341caSmrg XInputDefines XINPUT define 35911d341caSmrg XMalloc0ReturnsNullDefines -D's specifically for libX11 36011d341caSmrg XawClientDepLibs DEPLIBS for clients that use Xaw 36111d341caSmrg XawClientLibs LOCAL_LIBRARIES for clients that use Xaw 36211d341caSmrg XdmConfigurationSubdirectory name of default xdm configuration 36311d341caSmrg XdmDir directory in which to install xdm files 36411d341caSmrg XdmServersType type of xdm Xservers file to install 36511d341caSmrg XinitDir directory in which to install xinit files 36611d341caSmrg XPrintDir parent of X Print server config directory 36711d341caSmrg XprtServer build the X Print server 36811d341caSmrg XpRasterDDX include the raster print ddx driver 36911d341caSmrg XpColorPclDDX include the color PCL print ddx driver 37011d341caSmrg XpMonoPclDDX include the monochrome PCL print ddx driver 37111d341caSmrg XpPostScriptDDX include the PostScript print ddx driver 37211d341caSmrg XpPdfDDX include the PDF print ddx driver 37311d341caSmrg XpSvgDDX include the SVG print ddx driver 37411d341caSmrg XmanLocalSearchPath non-standard path for man pages 37511d341caSmrg XtErrorPrefix leading text in XtError() msg; eg. 'X Toolkit ' 37611d341caSmrg XtWarningPrefix leading text in XtWarning()msg, same as above 37711d341caSmrg XtMalloc0ReturnsNullDefines -D's specifically for libXt 37811d341caSmrg ZBDFTOSNFFILT -D to run uncompress and bdftosnf (obsolete) 37911d341caSmrg 38011d341caSmrg 38111d341caSmrgLibrary.tmpl provides defaults for the following variables: 38211d341caSmrg 38311d341caSmrg AvoidNullMakeCommand for makes that spout about $(_NULLCMD_) 38411d341caSmrg LibraryCCOptions special C compiler options for libraries 38511d341caSmrg LibraryCDebugFlags library debug/optimize flags to override defs 38611d341caSmrg LibraryCcCmd command to run C compiler in libraries 38711d341caSmrg LibraryCplusplusOptions special C++ options for libraries 38811d341caSmrg LibraryCplusplusDebugFlags library debug/optimize flags for C++ 38911d341caSmrg LibraryCplusplusCmd command to run C++ compiler in libraries 39011d341caSmrg LibraryDefines -D's for libraries 39111d341caSmrg SeparateSharedCompile shared and unshared libs use same binaries? 39211d341caSmrg 39311d341caSmrg 39411d341caSmrgServer.tmpl provides defaults for the following variables: 39511d341caSmrg 39611d341caSmrg ServerCCOptions server C compiler options to override defaults 39711d341caSmrg ServerCcCmd command to run C compiler in server 39811d341caSmrg ServerCDebugFlags server debug/opt compiler flags 39911d341caSmrg ServerDefines server standard -D's 40011d341caSmrg InstallServerSetUID does this system need X server suid to root? 40111d341caSmrg 40211d341caSmrg 40311d341caSmrgThreads.tmpl provides defaults for the following variables: 40411d341caSmrg 40511d341caSmrg LocalThreads whether to enable multi-threading support 40611d341caSmrg LocalThreadsDefines -D flags needed in this directory 40711d341caSmrg 40811d341caSmrg 40911d341caSmrgAn <os>Lib.rules file provides defaults for the following variables: 41011d341caSmrg 41111d341caSmrg HasSharedLibraries boolean for using shared libraries 41211d341caSmrg SharedDataSeparation boolean indicating separate data/code 41311d341caSmrg SharedCodeDef -D's for compiling shared library files 41411d341caSmrg SharedLibraryDef -D's for defining which kind of shared lib 41511d341caSmrg ShLibIncludeFile location of the <os>Lib.tmpl file 41611d341caSmrg SharedLibraryLoadFlags loader flags when making the library 41711d341caSmrg UseExportLists boolean for using an export list 41811d341caSmrg PositionIndependentCFlags PIC compiler flags for C 41911d341caSmrg PositionIndependentCplusplusFlags PIC compiler flags for C++ 42011d341caSmrg 421d7ffce2aSmrg Note: PositionIndependentCplusplusFlags is only required if the 42211d341caSmrg C and C++ compilers use different flags to build PIC code. The 423d7ffce2aSmrg default configuration will try to use PositionIndependentCFlags 42411d341caSmrg for both C and C++ compiles. 42511d341caSmrg 42611d341caSmrgAn <os>Lib.tmpl file provides defaults for the following variables: 42711d341caSmrg 42811d341caSmrg SharedFSReqs required libs for libFS.so 42911d341caSmrg SharedFSRev version number for libFS.so 43011d341caSmrg SharedICEReqs required libs for libICE.so 43111d341caSmrg SharedICERev version number for libICE.so 43211d341caSmrg SharedOldXReqs required libs for liboldX.so 43311d341caSmrg SharedOldXRev version number for liboldX.so 43411d341caSmrg SharedSMReqs required libs for libSM.so 43511d341caSmrg SharedSMRev version number for libSM.so 43611d341caSmrg SharedX11Reqs required libs for libX11.so 43711d341caSmrg SharedX11Rev version number for libX11.so 43811d341caSmrg SharedXauReqs required libs for libXau.so 43911d341caSmrg SharedXauRev version number for libXau.so 44011d341caSmrg SharedXawReqs required libs for libXaw.so 44111d341caSmrg SharedXawRev version number for libXaw.so 44211d341caSmrg SharedXdmcpReqs required libs for libXdmcp.so 44311d341caSmrg SharedXdmcpRev version number for libXdmcp.so 44411d341caSmrg SharedXextReqs required libs for libXext.so 44511d341caSmrg SharedXextRev version number for libXext.so 44611d341caSmrg SharedXiReqs required libs for libXi.so 44711d341caSmrg SharedXiRev version number for libXi.so 44811d341caSmrg SharedXmuReqs required libs for libXmu.so 44911d341caSmrg SharedXmuRev version number for libXmu.so 45011d341caSmrg SharedXtReqs required libs for libXt.so 45111d341caSmrg SharedXtRev version number for libXt.so 45211d341caSmrg SharedXtstReqs required libs for libXtst.so 45311d341caSmrg SharedXtstRev version number for libXtst.so 45411d341caSmrg SharedXmReqs required libs for libXm.so 45511d341caSmrg SharedXmRev version number for libXm.so 45611d341caSmrg SharedMrmReqs required libs for libMrm.so 45711d341caSmrg SharedMrmRev version number for libMrm.so 45811d341caSmrg SharedUilReqs required libs for libUil.so 45911d341caSmrg SharedUilRev version number for libUil.so 46011d341caSmrg SharedTtReqs required libs for libtt.so 46111d341caSmrg SharedTtRev version number for libtt.so 46211d341caSmrg SharedPamReqs required libs for libpam.so 46311d341caSmrg SharedPamRev version number for libpam.so 46411d341caSmrg SharedDtSvcReqs required libs for libDtSvc.so 46511d341caSmrg SharedDtSvcRev version number for libDtSvc.so 46611d341caSmrg SharedDtSearchReqs required libs for libDtSearch.so 46711d341caSmrg SharedDtSearchRev version number for libDtSearch.so 46811d341caSmrg SharedDtWidgetReqs required libs for libDtWidget.so 46911d341caSmrg SharedDtWidgetRev version number for libDtWidget.so 47011d341caSmrg SharedDtHelpReqs required libs for libDtHelp.so 47111d341caSmrg SharedDtHelpRev version number for libDtHelp.so 47211d341caSmrg SharedDtPrintReqs required libs for libDtPrint.so 47311d341caSmrg SharedDtPrintRev version number for libDtPrint.so 47411d341caSmrg SharedDtTermReqs required libs for libDtTerm.so 47511d341caSmrg SharedDtTermRev version number for libDtTerm.so 47611d341caSmrg SharedDtMrmReqs required libs for libDtMrm.so 47711d341caSmrg SharedDtMrmRev version number for libDtMrm.so 47811d341caSmrg 47911d341caSmrgVendor.cf files and/or site/host specific .def files may define the 48011d341caSmrgfollowing variables: 48111d341caSmrg 48211d341caSmrg ProjectRoot The directory under which the installation 48311d341caSmrg will operate. This value will be hard coded 48411d341caSmrg into some programs. As a result do not use it 48511d341caSmrg to specify the installation directory for a 48611d341caSmrg cross compiled system, use DESTDIR to 48711d341caSmrg accomplish that task. 48811d341caSmrg 48911d341caSmrgThe following variables are used by some part of the tree: 49011d341caSmrg 49111d341caSmrg AckToolset programs/Xserver/hw/xfree86 49211d341caSmrg BuildChooser build the xdm chooser program? 49311d341caSmrg SharedLibXdmGreet use xdm shared dynamic greeter library? 49411d341caSmrg LatexCmd command to run LaTeX on a document 49511d341caSmrg DvipsCmd command to turn .dvi file into PostScript 49611d341caSmrg MotifBC using Motif 1.1.1, 1.1.2, or 1.1.3? 49711d341caSmrg GetValuesBC compat GetValues behavior for broken apps? 49811d341caSmrg NeedBerklib application needs libXbsd? 49911d341caSmrg SvgaConfig default SVGA configuration 50011d341caSmrg HasGetReturnAddress util/memleak 50111d341caSmrg HasShadowPasswd system has getspnam() function 50211d341caSmrg XnestServer build X server with Xlib-based ddx 50311d341caSmrg XVirtualFramebufferServer build X server with virtual memory framebuffer 50411d341caSmrg WebServer host:port of your Web server (see programs/xrx) 50511d341caSmrg HtmlDir path used by Web server for HTML and RX docs 50611d341caSmrg CgiBinDir path used by Web server for CGI programs 50711d341caSmrg ProxyManager ICE network ID to contact a running proxymngr 50811d341caSmrg XdmxServer build Distributed Multihead X server 50911d341caSmrg 51011d341caSmrg 51111d341caSmrgMake Variables 51211d341caSmrg 51311d341caSmrgThe following make variables are used by imake rules and may be set in 51411d341caSmrgan individual Imakefile. 51511d341caSmrg 51611d341caSmrgDEFINES program-specific -D flags and other arguments 51711d341caSmrg to pass to the C compiler, lint, and makedepend. 51811d341caSmrgDEPEND_DEFINES program-specific flags in addition to 51911d341caSmrg $(DEFINES) to pass to lint and makedepend. 52011d341caSmrg This is usually used when there are special 52111d341caSmrg compilation rules for individual files, and 52211d341caSmrg the defines passed to those files affect 52311d341caSmrg makedepend results. If they can be passed to 52411d341caSmrg all files during the makedepend step without 52511d341caSmrg affecting the results for other files, 52611d341caSmrg DEPEND_DEFINES is used to do that. Example is 52711d341caSmrg the Xlib Imakefile. 52811d341caSmrgINCLUDES program-specific -I flags. 52911d341caSmrgHEADERS .h files to install with "make includes" and 53011d341caSmrg "make install". If this Imakefile includes 53111d341caSmrg Library.tmpl there are no headers, include 53211d341caSmrg this line instead of a HEADERS definition: 53311d341caSmrg #define LibHeaders NO 53411d341caSmrgREQUIREDLIBS when building a shared library, other libraries used 53511d341caSmrg by this library that should be referenced at 53611d341caSmrg link time. 53711d341caSmrgLINTLIBS program-specific libraries for lint. 53811d341caSmrgLOCAL_LDFLAGS program-specific flags for the linker. 53911d341caSmrgLOCAL_LIBRARIES project libraries (usually specified 54011d341caSmrg as -lname) needed by this program. 54111d341caSmrg For example, "-lXt -lXext -lX11". 54211d341caSmrg Used by SimpleProgramTarget and 54311d341caSmrg ComplexProgramTarget* rules. 54411d341caSmrg Do not include any system-specific libraries here. 54511d341caSmrgSYS_LIBRARIES system libraries (usually specified 54611d341caSmrg as -lname) needed by this program. 54711d341caSmrg For example "MathLibrary". 54811d341caSmrg Do not include any system-specific libraries 54911d341caSmrg such as "-lnsl" here; they are automatically 55011d341caSmrg added to the link command by the 55111d341caSmrg vendor-specific .cf file. 55211d341caSmrgSUBDIRS for an Imakefile in a directory containing 55311d341caSmrg subdirectories, this names the subdirectories. 55411d341caSmrg Such an Imakefile also needs to #define IHaveSubdirs 55511d341caSmrg and call MakeSubdirs() and DependSubdirs(). 55611d341caSmrgMANSUFFIX suffix used by InstallManPage* rules. 55711d341caSmrg May be set to $(LIBMANSUFFIX), $(FILEMANSUFFIX), or 558d7ffce2aSmrg $(MISCMANSUFFIX) in directories for libraries or data 55911d341caSmrg files. 56011d341caSmrg 56111d341caSmrg 56211d341caSmrgRule-specific variables that may be set in an individual Imakefile. 56311d341caSmrgIf you aren't using these rules, you may need variables with a similar 56411d341caSmrgfunction, but you need not use these names. However, following these 56511d341caSmrgconventions may make your Imakefile easier to read and maintain. 56611d341caSmrg 56711d341caSmrgDEPLIBS library dependencies for ComplexProgramTarget 56811d341caSmrgSRCS source files used by ComplexProgramTarget and 56911d341caSmrg DependTarget. 57011d341caSmrgOBJS object files used by ComplexProgramTarget 57111d341caSmrgPROGRAMS default target used with ComplexProgramTarget_(n) 57211d341caSmrgSRCS1 source files used by ComplexProgramTarget_1 57311d341caSmrgOBJS1 object files used by ComplexProgramTarget_1 57411d341caSmrgDEPLIBS1 library dependencies for ComplexProgramTarget_1 57511d341caSmrgSRCS2 source files used by ComplexProgramTarget_2 57611d341caSmrgOBJS2 object files used by ComplexProgramTarget_2 57711d341caSmrgDEPLIBS2 library dependencies for ComplexProgramTarget_2 57811d341caSmrgSRCS3 source files used by ComplexProgramTarget_3 57911d341caSmrgOBJS3 object files used by ComplexProgramTarget_3 58011d341caSmrgDEPLIBS3 library dependencies for ComplexProgramTarget_3 58111d341caSmrg 58211d341caSmrgVariables that can be set on the make command line: 58311d341caSmrg 58411d341caSmrgDESTDIR directory under which "make install" should 58511d341caSmrg install instead of "/"; used only for testing 58611d341caSmrg "make install" rules, binary package building, 58711d341caSmrg and specifying alternative installation directories 58811d341caSmrg for cross compiles. 58911d341caSmrgFILE file for "lint1" target to run lint on. 59011d341caSmrgCDEBUGFLAGS -g and/or -O flag to control C compiler optimization. 59111d341caSmrgCXXDEBUGFLAGS -g and/or -O flag to control C++ optimization. 59211d341caSmrgLDSTRIPFLAGS flag to have linker strip objects (typically -x). 59311d341caSmrg Typically set to the empty string to prevent 59411d341caSmrg the linker from stripping objects; use this 59511d341caSmrg way when setting CDEBUGFLAGS to "-g". 59611d341caSmrg 59711d341caSmrgThese variables are set in project-specific files such as X11.tmpl. 59811d341caSmrgThey should NOT be set in an Imakefile. These variables are sometimes 59911d341caSmrgmisused; they are included here to remind Imakefile writers NOT to use 60011d341caSmrgthem: 60111d341caSmrg 60211d341caSmrgEXTRA_DEFINES project-specific -D flags 60311d341caSmrgEXTRA_INCLUDES project-specific -I flags 60411d341caSmrgEXTRA_ICONFIGFILES Additional project-specific imake config files 60511d341caSmrg to add to ICONFIGFILES. 60611d341caSmrg This is a list of files that define variables 60711d341caSmrg that might affect compilation of some files. 60811d341caSmrg 60911d341caSmrgMany other make variables are set up by the imake config files and can 61011d341caSmrgbe used in an Imakefile. The easiest way to discover them is to look 61111d341caSmrgat the Makefile generated by an empty Imakefile. 61211d341caSmrg 61311d341caSmrg 61411d341caSmrgComments 61511d341caSmrg 61611d341caSmrgUse C comment syntax in an Imakefile for comments that should not 61711d341caSmrgappear in the resulting Makefile. 61811d341caSmrgUse "XCOMM" at the start of each 61911d341caSmrgline to produce a comment that will appear in the Makefile. 62011d341caSmrg(The "XCOMM" will 62111d341caSmrgbe translated into the Makefile comment character "#" by imake.) 62211d341caSmrgDo NOT use "#" as a comment character in Imakefiles; it confuses the C 62311d341caSmrgpreprocessor used by imake on some systems. 62411d341caSmrg 62511d341caSmrg 62611d341caSmrgImake variables 62711d341caSmrg 62811d341caSmrgDon't abuse the variables in X11.tmpl that describe 62911d341caSmrgparticular pieces of X by using them to describe your own subsystems. 63011d341caSmrgInstead, create new variables that are defaulted using 63111d341caSmrgImake.tmpl variables. 63211d341caSmrg 63311d341caSmrg 63411d341caSmrgExamples 63511d341caSmrg 63611d341caSmrgSince the easiest way to write an Imakefile is to start with one that 63711d341caSmrgworks, here are some short, easy-to-read Imakefile examples in the X 63811d341caSmrgdistribution: 63911d341caSmrg 64011d341caSmrgwith subdirs: config/Imakefile 64111d341caSmrglibrary: lib/Xau/Imakefile 64211d341caSmrgsimple program: programs/xdpyinfo/Imakefile 64311d341caSmrgcomplex progs: programs/xclipboard/Imakefile 64411d341caSmrgcomplex prog: programs/xmodmap/Imakefile 64511d341caSmrg 64611d341caSmrgCommon Rules 64711d341caSmrg 64811d341caSmrgHere are some of the common rules for building programs. How to use 64911d341caSmrgthem is described in Imake.rules and in the O'Reilly book "Software 65011d341caSmrgPortability with imake." 65111d341caSmrg 65211d341caSmrgBasic program-building rules 65311d341caSmrg 65411d341caSmrgAll of these except NormalProgramTarget also generate rules to install 65511d341caSmrgthe program and its manual page, and to generate dependencies. 65611d341caSmrg 65711d341caSmrgSimpleProgramTarget Use if there is only one program to be made 65811d341caSmrg and it has only one source file. 65911d341caSmrg 66011d341caSmrgComplexProgramTarget Use if there is only one program to be made 66111d341caSmrg and it has multiple source files. Set SRCS to 66211d341caSmrg the names of the source files, set OBJS to 66311d341caSmrg the names of the object files, and set DEPLIBS 66411d341caSmrg to the libraries that this program depends on. 66511d341caSmrg 66611d341caSmrgComplexProgramTarget_1 Like ComplexProgramTarget, but uses SRCS1, 66711d341caSmrg OBJS1, and DEPLIBS1 and can be used with 66811d341caSmrg ComplexProgramTarget_2 and ComplexProgramTarget_3 66911d341caSmrg to build up to three programs in the same directory. 67011d341caSmrg Set PROGRAMS to the programs built by all of 67111d341caSmrg these rules. For more than 3 programs, use 67211d341caSmrg NormalProgramTarget for each. 67311d341caSmrgComplexProgramTarget_2 Use after ComplexProgramTarget_1 for the 67411d341caSmrg second program in a directory. Uses SRCS2, 67511d341caSmrg OBJS2, and DEPLIBS2. 67611d341caSmrgComplexProgramTarget_3 Use after ComplexProgramTarget_2 for the 67711d341caSmrg third program in a directory. Uses SRCS3, 67811d341caSmrg OBJS3, and DEPLIBS3. 67911d341caSmrg 68011d341caSmrgNormalProgramTarget Build a program. Can be used multiple times 68111d341caSmrg with different arguments in the same Imakefile. 68211d341caSmrg 68311d341caSmrgLower level rules, often used with NormalProgramTarget 68411d341caSmrg 68511d341caSmrgInstallProgram install a program. 68611d341caSmrg 68711d341caSmrgInstallManPage install a manual page. 68811d341caSmrg 68911d341caSmrgInstallDirectory install a directory. 69011d341caSmrg 69111d341caSmrgDependTarget() include once at end of Imakefile with 69211d341caSmrg NormalProgramTarget rules or that uses Library.tmpl. 69311d341caSmrg Generates dependencies for files named in SRCS. 69411d341caSmrg 69511d341caSmrgManual page rules, commonly used only in special documentation directories: 69611d341caSmrg 69711d341caSmrgInstallManPage 69811d341caSmrgInstallManPageLong 69911d341caSmrgInstallManPageAliases 70011d341caSmrg 70111d341caSmrgOther rules: 70211d341caSmrg 70311d341caSmrgSpecialCObjectRule Compile a C file with special flags. 70411d341caSmrgAllTarget Declare additional targets to build. 70511d341caSmrgInstallAppDefaults Install X application defaults file. 70611d341caSmrg 70711d341caSmrgImakefile for directory with subdirectories 70811d341caSmrg 70911d341caSmrgXCOMM this is a sample Imakefile for a directory containing subdirectories 71011d341caSmrg#define IHaveSubdirs 71111d341caSmrg#define PassCDebugFlags CDEBUGFLAGS="$(CDEBUGFLAGS)" 71211d341caSmrgSUBDIRS = list of subdirs ... 71311d341caSmrgMakeSubdirs($(SUBDIRS)) 71411d341caSmrgDependSubdirs($(SUBDIRS)) 71511d341caSmrg 71611d341caSmrg 71711d341caSmrgCommon Targets 71811d341caSmrg 71911d341caSmrgThese targets are typically NOT defined explicitly by the Imakefile 72011d341caSmrgwriter; rather they are generated automatically by imake rules. 72111d341caSmrgThey are listed here for the convenience of people using the resulting 72211d341caSmrgMakefile, not people writing the original Imakefile. 72311d341caSmrg 72411d341caSmrgall Default rule; builds whatever is in this directory. 72511d341caSmrgMakefile Remake the Makefile (use after changing Imakefile). 72611d341caSmrg Run "make depend" after. 72711d341caSmrgMakefiles Remake all Makefiles in subdirectories. (Does 72811d341caSmrg nothing if no subdirectories.) 72911d341caSmrg Run "make depend" after. 73011d341caSmrgincludes Generate and install in the tree any necessary 73111d341caSmrg header files. 73211d341caSmrgdepend Update dependencies in the Makefile calculated 73311d341caSmrg by examining the source files. 73411d341caSmrginstall Install what "make all" built on the system. 73511d341caSmrginstall.man Install manual pages. 73611d341caSmrgclean Remove built objects and other derived files. 73711d341caSmrglint Run lint. 73811d341caSmrgtags Create a tags file. 739