diff options
Diffstat (limited to 'util/cf/README')
-rw-r--r-- | util/cf/README | 737 |
1 files changed, 0 insertions, 737 deletions
diff --git a/util/cf/README b/util/cf/README deleted file mode 100644 index e6324ab96..000000000 --- a/util/cf/README +++ /dev/null @@ -1,737 +0,0 @@ -The xorg-cf-files package contains the data files for the imake utility, -defining the known settings for a wide variety of platforms (many of which -have not been verified or tested in over a decade), and for many of the -libraries formerly delivered in the X.Org monolithic releases. - -The X Window System used imake extensively up through the X11R6.9 release, -for both full builds within the source tree and external software. -X has since moved to GNU autoconf and automake for its build system in -X11R7.0 and later releases, but still maintains imake for building existing -external software programs that have not yet converted. - -More information about Imake and its usage may be found in the resources -at: - http://www.snake.net/software/imake-stuff/ - http://www.kitebird.com/imake-book/ - -All questions regarding this software should be directed at the -Xorg mailing list: - - http://lists.freedesktop.org/mailman/listinfo/xorg - -Please submit bug reports to the Xorg bugzilla: - - https://bugs.freedesktop.org/enter_bug.cgi?product=xorg - -The master development code repository can be found at: - - git://anongit.freedesktop.org/git/xorg/util/cf - - http://cgit.freedesktop.org/xorg/util/cf - -For patch submission instructions, see: - - http://www.x.org/wiki/Development/Documentation/SubmittingPatches - -For more information on the git code manager, see: - - http://wiki.x.org/wiki/GitPage - ------------------------------------------------------------------------------- - -$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. |