701 lines
30 KiB
Plaintext
701 lines
30 KiB
Plaintext
$Xorg: README,v 1.4 2000/08/18 04:03:58 coskrey Exp $
|
|
|
|
|
|
|
|
|
|
$XFree86: xc/config/cf/README,v 1.20 2003/04/14 20:35:50 herrb Exp $
|
|
|
|
The easiest way to write an Imakefile is to find another one that does
|
|
something similar and copy/modify it!
|
|
|
|
To change any of these variables, edit the site.def file.
|
|
|
|
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
|
|
CplusplusFilt command to run C++ name demangler
|
|
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
|
|
GzipCmd command to run gzip program
|
|
HasBSD44Sockets boolean for system has BSD4.4 sockets
|
|
HasBsdMake use the 4.4BSD variant of the make program?
|
|
HasBsearch boolean for libc has bsearch()
|
|
HasBrokenCCForLink boolean for brain damaged cc driver
|
|
HasCenterLineC boolean for system has CenterLine C compiler
|
|
HasCenterLineCplusplus boolean for system has CenterLine C++ compiler
|
|
HasClearmake use Clearcase's clearmake make program?
|
|
HasCodeCenter boolean for system has CodeCenter
|
|
HasCookieMaker boolean for system has xauth cookie generator
|
|
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?
|
|
HasGnuMake use the GNU make program?
|
|
HasGhostPCL boolean for system has GhostPCL
|
|
HasGhostScript boolean for system has GhostScript
|
|
HasKrbIV system has Kerberos version IV support?
|
|
HasKrb5 system has Kerberos version 5 support?
|
|
HasLargeTmp boolean for system has /tmp space
|
|
HasLatex system has LaTeX document preparation software
|
|
HasLibCrypt boolean for system has libcrypt
|
|
HasMotif boolean for system has Motif
|
|
HasMotif2 boolean for system has Motif2 or OpenMotif
|
|
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
|
|
HasSetProcTitle boolean for setproctitle()
|
|
HasSetUserContext boolean for setusercontext()
|
|
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
|
|
HasStrcasecmp boolean for system implements str[n]casecmp
|
|
HasStreams use STREAMS I/O interface?
|
|
HasSymLinks boolean for system has symbolic links
|
|
HasTestCenter boolean for system has TestCenter
|
|
HasVarDirectory boolean for system has /var
|
|
HasVFork boolean for system has vfork()
|
|
HasVoidSignalReturn boolean for POSIX signal() procs
|
|
HasZlib boolean for system has libz
|
|
IncludeSharedObjectInNormalLib define for static libs to include
|
|
-fPIC objects on relevant archs
|
|
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
|
|
KrbIVIncludes where to include KerberosIV header files from
|
|
KrbIVLibraries where to load KerberosIV libraries from
|
|
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
|
|
LocalRulesFile site-specific file with additional imake rules
|
|
LocalTmplFile file with additional imake variables
|
|
MacroFile name of machine-dependent config params file
|
|
MacroIncludeFile <MacroFile>
|
|
MakeCmd command to run make
|
|
Malloc0ReturnsNull boolean for malloc(0) == NULL
|
|
Malloc0ReturnsNullDefines -D's to build libX11/libXt
|
|
MathLibrary library for programs using C math functions
|
|
MkCookieCmd command to generate an xauth cookie
|
|
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
|
|
OSName operating system name
|
|
OSTeenyVersion maintenance version number of operating system
|
|
OptimizedCDebugFlags C compiler flags to turn on optimization
|
|
XtPopdownConformance XtPopdown conformans to the specification
|
|
PreProcessCmd command to run /lib/cpp on scripts
|
|
RanlibCmd command to clean up libraries
|
|
RanlibInstFlags flags to ranlib after copying
|
|
ResourceConfigurationManagement boolean for Xt's Resource Configuration
|
|
Management
|
|
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 (obsolete)
|
|
UnalignedReferencesAllowed boolean for unaligned copies ok
|
|
UsrLibDir directory in which to install libraries
|
|
YaccCmd command to run yacc
|
|
|
|
X11.tmpl provides defaults for the following variables:
|
|
|
|
AdmDir directory containing system log files
|
|
AllocateLocalDefines -D's to turn on alloca() (should be in Imake.tmpl)
|
|
BDFTOSNFFILT command to run bdftosnf
|
|
BaseExtensionDefines universal extensions to use
|
|
BinDir directory in which to install programs
|
|
BuildAppgroup build AppGroup extension in server
|
|
BuildCup build Colormap Utilization extension in server
|
|
BuildDBE build DOUBLE-BUFFER extension
|
|
BuildDmx build Distributed Multihead X server and extension
|
|
BuildDPMS build Display Power Management Signaling extension
|
|
BuildFontServer build font server
|
|
BuildFonts build pcf fonts
|
|
BuildIncRoot relative path to location of headers in build
|
|
BuildIncTop path from build includes directory to top
|
|
BuildEVI build EVI server extension
|
|
BuildLBX build LBX (aka X.fast) server extension
|
|
BuildMultibuffer build Multibuffer extension (obsolete)
|
|
BuildPlugin build xrx plug-in for web browsers
|
|
BuildRECORD Build RECORD extension
|
|
BuildServer build X server
|
|
BuildXAudio build Audio
|
|
BuildXAServer build Audio server
|
|
BuildXCSecurity Build Security Extension
|
|
BuildXInputExt build X Input extension (requires ddx support,
|
|
which exists only in Xhp and XFree86)
|
|
BuildXInputLib build X Input library
|
|
BuildXKB build X Keyboard Extension?
|
|
BuildXKBlib build X Keyboard Extension into Xlib?
|
|
UseXKBInClients Use XKB functions in normal clients?
|
|
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
|
|
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
|
|
DebugLibXmu build libXmu_d.a
|
|
DebugLibXt build libXt_d.a
|
|
DebugLibXtst build libXtst_d.a
|
|
DebugLibXag build libXag_d.a
|
|
DebugOldX build liboldX_d.a
|
|
DefaultCursorTheme name of default cursor theme
|
|
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
|
|
DriverManDir directory in which to install driver man pages
|
|
DriverManSuffix man suffix for driver pages
|
|
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
|
|
GzipFontCompression boolean for using gzip instead of compress
|
|
HasXdmAuth boolean for using XDM-AUTHORIZATION-1;
|
|
needs Wraphelp.c, see Release Notes
|
|
InstallAppDefFiles install new app defaults files over old?
|
|
InstallFSConfig install fs config file over old?
|
|
InstallLibManPages boolean for installing library man pages
|
|
InstallSecurityConfig install server security policy file over old?
|
|
InstallXdmConfig install xdm config files over old?
|
|
InstallXinitConfig install xinit config files over old?
|
|
KrbIVDefines defines for use with KerberosIV
|
|
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
|
|
MiscManSuffix man suffix for miscellaneous pages
|
|
MiscManDir directory in which to install misc man pages
|
|
NeedDefaultDepLibs boolean for enabling default DEPLIBS
|
|
NlsDir directory in which to install nls files
|
|
NormalLibFS build libFS.a
|
|
NormalLibICE build libICE.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
|
|
NormalLibXmu build libXmu.a
|
|
NormalLibXt build libXt.a
|
|
NormalLibXtst build libXtst.a
|
|
NormalLibXag build libXag.a
|
|
NormalOldX build liboldX.a
|
|
OsNameDefines If uname(2) unavailable, set to -DOS_NAME=OSName
|
|
PrimaryScreenResolution resolution of default server screen
|
|
ProfileLibFS build libFS_p.a
|
|
ProfileLibICE build libICE_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
|
|
ProfileLibXmu build libXmu_p.a
|
|
ProfileLibXt build libXt_p.a
|
|
ProfileLibXtst build libXtst_p.a
|
|
ProfileLibXag build libXag_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
|
|
ServerConfigDir directory for server security config files
|
|
ServerDefines complete -D's for server
|
|
ServerExtraDefines special -D's for server
|
|
ServerOSDefines OS -D's for server
|
|
ServerAssertDefines -DNDEBUG for no assertions, /**/ for assertions
|
|
SharedLibFS boolean for making sharable libFS.so
|
|
SharedLibICE boolean for making sharable libICE.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
|
|
SharedLibXmu boolean for making sharable libXmu.so
|
|
SharedLibXt boolean for making sharable libXt.so
|
|
SharedLibXtst boolean for making sharable libXtst.so
|
|
SharedLibXag boolean for making sharable libXag.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
|
|
VarDirectory directory in /var for logs, etc., and config
|
|
VendorHasX11R6_3libXext don't need Security & AppGroup in xrx plug-in
|
|
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
|
|
XMalloc0ReturnsNullDefines -D's specifically for libX11
|
|
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
|
|
XPrintDir parent of X Print server config directory
|
|
XprtServer build the X Print server
|
|
XpRasterDDX include the raster print ddx driver
|
|
XpColorPclDDX include the color PCL print ddx driver
|
|
XpMonoPclDDX include the monochrome PCL print ddx driver
|
|
XpPostScriptDDX include the PostScript print ddx driver
|
|
XpPdfDDX include the PDF print ddx driver
|
|
XpSvgDDX include the SVG print ddx driver
|
|
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
|
|
XtMalloc0ReturnsNullDefines -D's specifically for libXt
|
|
ZBDFTOSNFFILT -D to run uncompress and bdftosnf (obsolete)
|
|
|
|
|
|
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
|
|
UseExportLists boolean for using an export list
|
|
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
|
|
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
|
|
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
|
|
SharedXmReqs required libs for libXm.so
|
|
SharedXmRev version number for libXm.so
|
|
SharedMrmReqs required libs for libMrm.so
|
|
SharedMrmRev version number for libMrm.so
|
|
SharedUilReqs required libs for libUil.so
|
|
SharedUilRev version number for libUil.so
|
|
SharedTtReqs required libs for libtt.so
|
|
SharedTtRev version number for libtt.so
|
|
SharedPamReqs required libs for libpam.so
|
|
SharedPamRev version number for libpam.so
|
|
SharedDtSvcReqs required libs for libDtSvc.so
|
|
SharedDtSvcRev version number for libDtSvc.so
|
|
SharedDtSearchReqs required libs for libDtSearch.so
|
|
SharedDtSearchRev version number for libDtSearch.so
|
|
SharedDtWidgetReqs required libs for libDtWidget.so
|
|
SharedDtWidgetRev version number for libDtWidget.so
|
|
SharedDtHelpReqs required libs for libDtHelp.so
|
|
SharedDtHelpRev version number for libDtHelp.so
|
|
SharedDtPrintReqs required libs for libDtPrint.so
|
|
SharedDtPrintRev version number for libDtPrint.so
|
|
SharedDtTermReqs required libs for libDtTerm.so
|
|
SharedDtTermRev version number for libDtTerm.so
|
|
SharedDtMrmReqs required libs for libDtMrm.so
|
|
SharedDtMrmRev version number for libDtMrm.so
|
|
|
|
Vendor.cf files and/or site/host specific .def files may define the
|
|
following variables:
|
|
|
|
ProjectRoot The directory under which the installation
|
|
will operate. This value will be hard coded
|
|
into some programs. As a result do not use it
|
|
to specify the installation directory for a
|
|
cross compiled system, use DESTDIR to
|
|
accomplish that task.
|
|
|
|
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
|
|
XnestServer build X server with Xlib-based ddx
|
|
XVirtualFramebufferServer build X server with virtual memory framebuffer
|
|
WebServer host:port of your Web server (see programs/xrx)
|
|
HtmlDir path used by Web server for HTML and RX docs
|
|
CgiBinDir path used by Web server for CGI programs
|
|
ProxyManager ICE network ID to contact a running proxymngr
|
|
XdmxServer build Distributed Multihead X server
|
|
|
|
|
|
Make Variables
|
|
|
|
The following make variables are used by imake rules and may be set in
|
|
an individual Imakefile.
|
|
|
|
DEFINES program-specific -D flags and other arguments
|
|
to pass to the C compiler, lint, and makedepend.
|
|
DEPEND_DEFINES program-specific flags in addition to
|
|
$(DEFINES) to pass to lint and makedepend.
|
|
This is usually used when there are special
|
|
compilation rules for individual files, and
|
|
the defines passed to those files affect
|
|
makedepend results. If they can be passed to
|
|
all files during the makedepend step without
|
|
affecting the results for other files,
|
|
DEPEND_DEFINES is used to do that. Example is
|
|
the Xlib Imakefile.
|
|
INCLUDES program-specific -I flags.
|
|
HEADERS .h files to install with "make includes" and
|
|
"make install". If this Imakefile includes
|
|
Library.tmpl there are no headers, include
|
|
this line instead of a HEADERS definition:
|
|
#define LibHeaders NO
|
|
REQUIREDLIBS when building a shared library, other libraries used
|
|
by this library that should be referenced at
|
|
link time.
|
|
LINTLIBS program-specific libraries for lint.
|
|
LOCAL_LDFLAGS program-specific flags for the linker.
|
|
LOCAL_LIBRARIES project libraries (usually specified
|
|
as -lname) needed by this program.
|
|
For example, "-lXt -lXext -lX11".
|
|
Used by SimpleProgramTarget and
|
|
ComplexProgramTarget* rules.
|
|
Do not include any system-specific libraries here.
|
|
SYS_LIBRARIES system libraries (usually specified
|
|
as -lname) needed by this program.
|
|
For example "MathLibrary".
|
|
Do not include any system-specific libraries
|
|
such as "-lnsl" here; they are automatically
|
|
added to the link command by the
|
|
vendor-specific .cf file.
|
|
SUBDIRS for an Imakefile in a directory containing
|
|
subdirectories, this names the subdirectories.
|
|
Such an Imakefile also needs to #define IHaveSubdirs
|
|
and call MakeSubdirs() and DependSubdirs().
|
|
MANSUFFIX suffix used by InstallManPage* rules.
|
|
May be set to $(LIBMANSUFFIX), $(FILEMANSUFFIX), or
|
|
$(MISCMANSUFFIX) in directories for libraries or data
|
|
files.
|
|
|
|
|
|
Rule-specific variables that may be set in an individual Imakefile.
|
|
If you aren't using these rules, you may need variables with a similar
|
|
function, but you need not use these names. However, following these
|
|
conventions may make your Imakefile easier to read and maintain.
|
|
|
|
DEPLIBS library dependencies for ComplexProgramTarget
|
|
SRCS source files used by ComplexProgramTarget and
|
|
DependTarget.
|
|
OBJS object files used by ComplexProgramTarget
|
|
PROGRAMS default target used with ComplexProgramTarget_(n)
|
|
SRCS1 source files used by ComplexProgramTarget_1
|
|
OBJS1 object files used by ComplexProgramTarget_1
|
|
DEPLIBS1 library dependencies for ComplexProgramTarget_1
|
|
SRCS2 source files used by ComplexProgramTarget_2
|
|
OBJS2 object files used by ComplexProgramTarget_2
|
|
DEPLIBS2 library dependencies for ComplexProgramTarget_2
|
|
SRCS3 source files used by ComplexProgramTarget_3
|
|
OBJS3 object files used by ComplexProgramTarget_3
|
|
DEPLIBS3 library dependencies for ComplexProgramTarget_3
|
|
|
|
Variables that can be set on the make command line:
|
|
|
|
DESTDIR directory under which "make install" should
|
|
install instead of "/"; used only for testing
|
|
"make install" rules, binary package building,
|
|
and specifying alternative installation directories
|
|
for cross compiles.
|
|
FILE file for "lint1" target to run lint on.
|
|
CDEBUGFLAGS -g and/or -O flag to control C compiler optimization.
|
|
CXXDEBUGFLAGS -g and/or -O flag to control C++ optimization.
|
|
LDSTRIPFLAGS flag to have linker strip objects (typically -x).
|
|
Typically set to the empty string to prevent
|
|
the linker from stripping objects; use this
|
|
way when setting CDEBUGFLAGS to "-g".
|
|
|
|
These variables are set in project-specific files such as X11.tmpl.
|
|
They should NOT be set in an Imakefile. These variables are sometimes
|
|
misused; they are included here to remind Imakefile writers NOT to use
|
|
them:
|
|
|
|
EXTRA_DEFINES project-specific -D flags
|
|
EXTRA_INCLUDES project-specific -I flags
|
|
EXTRA_ICONFIGFILES Additional project-specific imake config files
|
|
to add to ICONFIGFILES.
|
|
This is a list of files that define variables
|
|
that might affect compilation of some files.
|
|
|
|
Many other make variables are set up by the imake config files and can
|
|
be used in an Imakefile. The easiest way to discover them is to look
|
|
at the Makefile generated by an empty Imakefile.
|
|
|
|
|
|
Comments
|
|
|
|
Use C comment syntax in an Imakefile for comments that should not
|
|
appear in the resulting Makefile.
|
|
Use "XCOMM" at the start of each
|
|
line to produce a comment that will appear in the Makefile.
|
|
(The "XCOMM" will
|
|
be translated into the Makefile comment character "#" by imake.)
|
|
Do NOT use "#" as a comment character in Imakefiles; it confuses the C
|
|
preprocessor used by imake on some systems.
|
|
|
|
|
|
Imake variables
|
|
|
|
Don't abuse the variables in X11.tmpl that describe
|
|
particular pieces of X by using them to describe your own subsystems.
|
|
Instead, create new variables that are defaulted using
|
|
Imake.tmpl variables.
|
|
|
|
|
|
Examples
|
|
|
|
Since the easiest way to write an Imakefile is to start with one that
|
|
works, here are some short, easy-to-read Imakefile examples in the X
|
|
distribution:
|
|
|
|
with subdirs: config/Imakefile
|
|
library: lib/Xau/Imakefile
|
|
simple program: programs/xdpyinfo/Imakefile
|
|
complex progs: programs/xclipboard/Imakefile
|
|
complex prog: programs/xmodmap/Imakefile
|
|
|
|
Common Rules
|
|
|
|
Here are some of the common rules for building programs. How to use
|
|
them is described in Imake.rules and in the O'Reilly book "Software
|
|
Portability with imake."
|
|
|
|
Basic program-building rules
|
|
|
|
All of these except NormalProgramTarget also generate rules to install
|
|
the program and its manual page, and to generate dependencies.
|
|
|
|
SimpleProgramTarget Use if there is only one program to be made
|
|
and it has only one source file.
|
|
|
|
ComplexProgramTarget Use if there is only one program to be made
|
|
and it has multiple source files. Set SRCS to
|
|
the names of the source files, set OBJS to
|
|
the names of the object files, and set DEPLIBS
|
|
to the libraries that this program depends on.
|
|
|
|
ComplexProgramTarget_1 Like ComplexProgramTarget, but uses SRCS1,
|
|
OBJS1, and DEPLIBS1 and can be used with
|
|
ComplexProgramTarget_2 and ComplexProgramTarget_3
|
|
to build up to three programs in the same directory.
|
|
Set PROGRAMS to the programs built by all of
|
|
these rules. For more than 3 programs, use
|
|
NormalProgramTarget for each.
|
|
ComplexProgramTarget_2 Use after ComplexProgramTarget_1 for the
|
|
second program in a directory. Uses SRCS2,
|
|
OBJS2, and DEPLIBS2.
|
|
ComplexProgramTarget_3 Use after ComplexProgramTarget_2 for the
|
|
third program in a directory. Uses SRCS3,
|
|
OBJS3, and DEPLIBS3.
|
|
|
|
NormalProgramTarget Build a program. Can be used multiple times
|
|
with different arguments in the same Imakefile.
|
|
|
|
Lower level rules, often used with NormalProgramTarget
|
|
|
|
InstallProgram install a program.
|
|
|
|
InstallManPage install a manual page.
|
|
|
|
InstallDirectory install a directory.
|
|
|
|
DependTarget() include once at end of Imakefile with
|
|
NormalProgramTarget rules or that uses Library.tmpl.
|
|
Generates dependencies for files named in SRCS.
|
|
|
|
Manual page rules, commonly used only in special documentation directories:
|
|
|
|
InstallManPage
|
|
InstallManPageLong
|
|
InstallManPageAliases
|
|
|
|
Other rules:
|
|
|
|
SpecialCObjectRule Compile a C file with special flags.
|
|
AllTarget Declare additional targets to build.
|
|
InstallAppDefaults Install X application defaults file.
|
|
|
|
Imakefile for directory with subdirectories
|
|
|
|
XCOMM this is a sample Imakefile for a directory containing subdirectories
|
|
#define IHaveSubdirs
|
|
#define PassCDebugFlags CDEBUGFLAGS="$(CDEBUGFLAGS)"
|
|
SUBDIRS = list of subdirs ...
|
|
MakeSubdirs($(SUBDIRS))
|
|
DependSubdirs($(SUBDIRS))
|
|
|
|
|
|
Common Targets
|
|
|
|
These targets are typically NOT defined explicitly by the Imakefile
|
|
writer; rather they are generated automatically by imake rules.
|
|
They are listed here for the convenience of people using the resulting
|
|
Makefile, not people writing the original Imakefile.
|
|
|
|
all Default rule; builds whatever is in this directory.
|
|
Makefile Remake the Makefile (use after changing Imakefile).
|
|
Run "make depend" after.
|
|
Makefiles Remake all Makefiles in subdirectories. (Does
|
|
nothing if no subdirectories.)
|
|
Run "make depend" after.
|
|
includes Generate and install in the tree any necessary
|
|
header files.
|
|
depend Update dependencies in the Makefile calculated
|
|
by examining the source files.
|
|
install Install what "make all" built on the system.
|
|
install.man Install manual pages.
|
|
clean Remove built objects and other derived files.
|
|
lint Run lint.
|
|
tags Create a tags file.
|