diff options
Diffstat (limited to 'util/cf/Imake.tmpl')
-rw-r--r-- | util/cf/Imake.tmpl | 2320 |
1 files changed, 2320 insertions, 0 deletions
diff --git a/util/cf/Imake.tmpl b/util/cf/Imake.tmpl new file mode 100644 index 000000000..3ae849ac0 --- /dev/null +++ b/util/cf/Imake.tmpl @@ -0,0 +1,2320 @@ +XCOMM ---------------------------------------------------------------------- +XCOMM Makefile generated from IMAKE_TEMPLATE and INCLUDE_IMAKEFILE +XCOMM $Xorg: Imake.tmpl,v 1.4 2000/08/17 19:41:46 cpqbld Exp $ +XCOMM $XdotOrg: util/cf/Imake.tmpl,v 1.17 2006/04/15 15:55:25 herrb Exp $ +XCOMM +XCOMM +XCOMM +XCOMM +XCOMM $XFree86: xc/config/cf/Imake.tmpl,v 3.155 2003/12/24 18:58:41 dickey Exp $ +XCOMM ---------------------------------------------------------------------- + +/* + * generic imake template + */ + +/* + * Modify Imake.cf when adding a new architecture, do not modify this file. + * Platform-specific parameters may be set in the appropriate <vendor>.cf + * configuration files. Site-specific parameters should be set in the file + * site.def. Full rebuilds are recommended if any parameters are changed. + * If your C preprocessor does not define any unique symbols, you will need + * to set BOOTSTRAPCFLAGS when rebuilding imake (usually when doing + * "make World" the first time). + */ + +#define ImakeConfigRelease 6 + +#define YES 1 +#define NO 0 + +/* Ensure that "all" is the default target in the Makefile. */ +all:: + +.SUFFIXES: .i + +/* Intercept clean rules for current directory */ +#undef clean +#define clean cleandir + +#include <Imake.cf> + +XCOMM ----------------------------------------------------------------------- +XCOMM site-specific configuration parameters that need to come before +XCOMM the platform-specific parameters - edit site.def to change +#define BeforeVendorCF +#include <site.def> +#undef BeforeVendorCF + +#if defined(HasGcc3) && !defined(HasGcc2) +# define HasGcc2 HasGcc3 +#endif +#if defined(HasGcc2) && !defined(HasGcc) +# define HasGcc HasGcc2 +#endif + +#ifndef HasCenterLineC +#define HasCenterLineC NO +#endif +#ifndef HasCenterLineCplusplus +#define HasCenterLineCplusplus NO +#endif + +#ifndef HasClearmake +# define HasClearmake NO +#endif + +#ifndef ProPoliceSupport +#define ProPoliceSupport NO +#endif + +/* + * ClearmakeOSName - insert the current OS type into the clearmake + * build script, so .o files from different platforms cannot be winked in. + * If clearmake finds the build script for two .o files is the same, it + * will share the .o, even across different architectures. Inserting the + * O/S name into the build script in a comment prevents unwanted sharing. + * Note the trailing double-@ in the macro: end a line using this macro + * with backslash without the double-@ usually used. + * Like this: + * + * #define SomeRule() @@\ + * something or other @@\ + * ClearmakeOSName \ + * something else @@\ + * and more + */ +#ifndef ClearmakeOSName +# if HasClearmake +# define ClearmakeOSName @ XCOMM $(OSNAME) @@ +# else +# define ClearmakeOSName /**/ +# endif +#endif + +#if HasClearmake +# ifndef MakeCmd +# define MakeCmd clearmake +# endif +#endif + +#if HasClearmake +XCOMM ---------------------------------------------------------------------- +.c.o: + ClearmakeOSName $(CC) -c $(CFLAGS) $*.c +#endif + +XCOMM ---------------------------------------------------------------------- +XCOMM platform-specific configuration parameters - edit MacroFile to change +#include MacroIncludeFile + +XCOMM ---------------------------------------------------------------------- +XCOMM site-specific configuration parameters that go after +XCOMM the platform-specific parameters - edit site.def to change +#define AfterVendorCF +#include <site.def> +#undef AfterVendorCF + +/* + * defaults for various generic parameters; set in site.def if needed + */ + +/* the following are needed before we can include Imake.rules */ + +#ifndef NothingOutsideProjectRoot +#define NothingOutsideProjectRoot NO +#endif + +#ifndef RemoveObsoleteFiles +#define RemoveObsoleteFiles YES +#endif + +#ifndef HasVarDirectory +#define HasVarDirectory YES +#endif +#ifndef UseEtcX11 +#define UseEtcX11 YES +#endif +#ifndef UseInstalledX11 +# define UseInstalledX11 NO +#endif +#ifdef UseInstalled +# undef UseInstalledX11 +# define UseInstalledX11 YES +#endif +#if NothingOutsideProjectRoot +#undef UseEtcX11 +#define UseEtcX11 NO +#endif +#ifndef UseSeparateConfDir +#define UseSeparateConfDir (UseEtcX11 || HasVarDirectory) +#endif +#if NothingOutsideProjectRoot +#undef UseSeparateConfDir +#define UseSeparateConfDir NO +#endif +#ifndef SystemV +#define SystemV NO /* SYSV (R3) */ +#endif +#ifndef SystemV4 +#define SystemV4 NO /* SVR4 */ +#endif +#ifndef HasCodeCenter +#define HasCodeCenter NO +#endif +#ifndef HasSentinel +#define HasSentinel NO +#endif +#ifndef HasPurify +#define HasPurify NO +#endif +#ifndef HasTestCenter +#define HasTestCenter NO +#endif +#ifndef HasGnuMake +#define HasGnuMake NO +#endif +/* + * The following fixes a glitch with GNU make -j + */ +#ifndef ForceServerRemake +#define ForceServerRemake HasGnuMake +#endif +#ifndef HasBsdMake +#define HasBsdMake NO +#endif +#ifndef HasParallelMake +#define HasParallelMake NO +#endif +#ifndef RemoveTargetProgramByMoving +#define RemoveTargetProgramByMoving NO +#endif +#ifndef DoRanlibCmd +#if SystemV || SystemV4 +#define DoRanlibCmd NO +#else +#define DoRanlibCmd YES +#endif +#endif +#ifndef ExecableScripts +#if SystemV +#define ExecableScripts NO +#else +#define ExecableScripts YES /* kernel exec() can handle #! */ +#endif +#endif + +#ifndef HasMakefileSafeInclude /* -include or sinclude in a Makefile */ +#if HasClearmake || HasBsdMake +#define HasMakefileSafeInclude YES +#else +#define HasMakefileSafeInclude NO /* see also vendor-specific .cf files */ +#endif +#endif + +#ifndef HasSymLinks +#define HasSymLinks YES +#endif + +#ifndef HasPerl +#define HasPerl YES +#endif + +#ifndef HasPerl5 +#define HasPerl5 HasPerl +#endif + +#ifndef PerlCmd +#define PerlCmd perl +#endif + +#ifndef PerlOptions +#define PerlOptions /**/ +#endif + +#ifndef PerlEnvSetup +#define PerlEnvSetup env LC_ALL=C +#endif + +#ifndef BuildRman +#define BuildRman NO +#endif + +#ifndef HasGperf +#define HasGperf NO +#endif + +#ifndef GperfCmd +#define GperfCmd gperf +#endif + +#ifndef RmanCmd +#if BuildRman +#ifdef UseInstalled /* assume BINDIR in path */ +#define RmanCmd rman +#else +#define RmanCmd $(TOP)/config/util/rman +#endif +#endif +#endif + +#ifndef RmanOptions +#if BuildRman +#define RmanOptions -f HTML +#endif +#endif + +#ifndef BuildHtmlManPages +#ifdef RmanCmd +#define BuildHtmlManPages YES +#else +#define BuildHtmlManPages NO +#endif +#endif +/* Can't do this while bootstrapping imake */ +#ifdef BootStrap +#undef BuildHtmlManPages +#define BuildHtmlManPages NO +#endif + +#ifndef DontPreprocessManPages +#ifdef UseInstalled +#define DontPreprocessManPages YES +#else +#define DontPreprocessManPages NO +#endif +#endif + +#ifndef CompressManPages +#define CompressManPages NO +#endif + +#ifndef HasGroff +#define HasGroff NO +#endif +#ifndef HasGroffHtml +#define HasGroffHtml NO +#endif + +#ifndef HasCookieMaker +#define HasCookieMaker NO +#endif + +#ifndef DoLoadableServer +#define DoLoadableServer NO +#endif +#ifndef MakeDllModules +#define MakeDllModules NO +#endif +#ifndef StripInstalledPrograms +#define StripInstalledPrograms NO /* leave symbol table just in case */ +#endif +#ifndef StaticNeedsPicForShared +#define StaticNeedsPicForShared NO +#endif + +#include <Imake.rules> + +#ifndef HasSharedLibraries +#define HasSharedLibraries NO +#endif +#ifndef OSMajorVersion +#define OSMajorVersion 0 +#endif +#ifndef OSMinorVersion +#define OSMinorVersion 0 +#endif +#ifndef OSTeenyVersion +#define OSTeenyVersion 0 +#endif +#ifndef UnalignedReferencesAllowed +#define UnalignedReferencesAllowed NO /* if arbitrary deref is okay */ +#endif +#ifndef AvoidNullMakeCommand +#if !HasBsdMake +#define AvoidNullMakeCommand NO +#else +#define AvoidNullMakeCommand YES +#endif +#endif +#if AvoidNullMakeCommand +#ifndef NullMakeCommand +#define NullMakeCommand @ echo -n +#endif +/* + * An obscure bug in BSD4.3's original make causes it not to recognize a + * macro definition if the macro name starts with a non-alpha and in + * column one. + */ + _NULLCMD_ = NullMakeCommand +#endif + +#ifndef CrossCompiling +#define CrossCompiling NO +#undef CrossCompileDir +#endif +#ifndef BourneShell /* to force shell in makefile */ +#define BourneShell /bin/sh +#endif +#ifndef ConstructMFLAGS +#if SystemV +#define ConstructMFLAGS YES /* build MFLAGS from MAKEFLAGS */ +#else +#define ConstructMFLAGS NO /* build MFLAGS from MAKEFLAGS */ +#endif +#endif + +#ifndef ConstructMAKEFLAGS /* needed on old BSD-based? */ +#define ConstructMAKEFLAGS NO /* build MAKEFLAGS from MFLAGS */ +#endif + +#ifndef HasLargeTmp +#define HasLargeTmp NO /* be paranoid */ +#endif + +#ifndef HasMotif +#define HasMotif NO +#endif +#ifndef HasMotif2 +#define HasMotif2 NO /* only if system has working Motif2 or OpenMotif */ +#endif +#ifndef HasBSDAuth +#define HasBSDAuth NO +#endif + +#ifndef HasBSD44Sockets +#define HasBSD44Sockets NO +#endif +#ifndef HasSockets +#define HasSockets YES +#endif +#ifndef HasStreams +#define HasStreams !HasSockets +#endif +#ifndef HasDECnet +#define HasDECnet NO +#endif +#ifndef HasPoll +#if SystemV || SystemV4 +#define HasPoll YES +#else +#define HasPoll NO +#endif +#endif +#ifndef HasVFork +#if SystemV +#define HasVFork NO /* not yet... */ +#else +#define HasVFork YES +#endif +#endif +#ifndef HasSetProcTitle +#define HasSetProcTitle NO +#endif +#ifndef HasSetUserContext +#define HasSetUserContext NO +#endif +#ifndef HasLibCrypt +#define HasLibCrypt NO +#endif +#ifndef HasPutenv +#define HasPutenv NO /* assume not */ +#endif +/* setenv(3) and unsetenv(3) */ +#ifndef HasSetenv +#define HasSetenv YES /* assume yes */ +#endif +#ifndef HasVoidSignalReturn +#define HasVoidSignalReturn YES /* assume yes */ +#endif +#ifndef HasBsearch +#define HasBsearch YES /* assume yes */ +#endif +#ifndef HasSnprintf +#define HasSnprintf NO /* assume not */ +#endif +#ifndef HasStrlcat +#define HasStrlcat NO /* assume not */ +#endif +#ifndef HasDlopen +#define HasDlopen NO /* assume not */ +#endif +#ifndef HasWeakSymbols +#define HasWeakSymbols NO /* assume not */ +#endif +#ifndef HasIssetugid +#define HasIssetugid NO /* assume not */ +#endif +#ifndef HasGetresuid +#define HasGetresuid NO /* assume not */ +#endif +#ifndef HasMkstemp +#define HasMkstemp NO /* assume not */ +#endif +#ifndef HasUsableFileMmap +#define HasUsableFileMmap NO /* assume not */ +#endif +#ifndef HasGetIfAddrs +#define HasGetIfAddrs NO /* assume not */ +#endif +#ifndef HasStickyDirBit +#define HasStickyDirBit YES +#endif +#ifndef HasFchown +#define HasFchown YES +#endif +#ifndef HasPam +#define HasPam NO +#endif +#ifndef HasPamMisc +#define HasPamMisc NO +#endif +#ifndef HasGetpeereid +#define HasGetpeereid NO +#endif +#ifndef HasGetpeerucred +#define HasGetpeerucred NO +#endif +#ifndef NoStrstr +#define NoStrstr NO +#endif +#ifndef HasShadowPasswd +#define HasShadowPasswd NO +#endif +#ifndef HasBasename +#define HasBasename YES +#endif +#ifndef HasGetopt +# if !defined(Win32Architecture) && !defined(OS2Architecture) +# define HasGetopt YES +# else +# define HasGetopt NO +# endif +#endif +#ifndef HasGetoptLong +# define HasGetoptLong NO +#endif +/* byte-order defaults */ +#ifndef ByteOrder +#if defined(VaxArchitecture) +#define ByteOrder X_LITTLE_ENDIAN +#elif defined(MipsArchitecture) && defined(MipselArchitecture) +#define ByteOrder X_LITTLE_ENDIAN +#elif defined(MipsArchitecture) +#define ByteOrder X_BIG_ENDIAN +#elif defined(i386Architecture) +#define ByteOrder X_LITTLE_ENDIAN +#elif defined(ia64Architecture) +#define ByteOrder X_LITTLE_ENDIAN +#elif defined(AMD64Architecture) +#define ByteOrder X_LITTLE_ENDIAN +#elif defined(SparcArchitecture) || defined(Sparc64Architecture) +#define ByteOrder X_BIG_ENDIAN +#elif defined(AlphaArchitecture) +#define ByteOrder X_LITTLE_ENDIAN +#elif defined(Mc68000Architecture) +#define ByteOrder X_BIG_ENDIAN +#elif defined(Mc68020Architecture) +#define ByteOrder X_BIG_ENDIAN +#elif defined(Mc88000Architecture) +#define ByteOrder X_BIG_ENDIAN +#elif defined(s390Architecture) +#define ByteOrder X_BIG_ENDIAN +#elif defined(s390xArchitecture) +#define ByteOrder X_BIG_ENDIAN +#elif defined(Arm32ebArchitecture) +#define ByteOrder X_BIG_ENDIAN +#elif defined(Arm32Architecture) +#define ByteOrder X_LITTLE_ENDIAN +#elif defined(RsArchitecture) +#define ByteOrder X_BIG_ENDIAN +#elif defined(PpcArchitecture) || defined(Ppc64Architecture) +#define ByteOrder X_BIG_ENDIAN +#elif defined(HPArchitecture) +#define ByteOrder X_BIG_ENDIAN +#elif defined(SuperHArchitecture) +#define ByteOrder X_LITTLE_ENDIAN +#elif defined(SuperHebArchitecture) +#define ByteOrder X_BIG_ENDIAN +#endif +#endif /* ByteOrder */ +X_BYTE_ORDER = ByteOrder + +#ifndef HasFortran +#define HasFortran NO +#endif +#ifndef HasGcc2ForCplusplus +#define HasGcc2ForCplusplus NO +#endif +#ifndef HasCplusplus +#if HasGcc2ForCplusplus +#define HasCplusplus YES +#else +#define HasCplusplus NO +#endif +#endif +#ifndef HasMktemp +#define HasMktemp NO /* if you have the mktemp command */ +#endif +#ifndef HasNdbm +#define HasNdbm NO +#endif +#ifndef HasSecureRPC +#define HasSecureRPC NO /* if you have Secure RPC */ +#endif +#ifndef HasKrbIV +#define HasKrbIV NO /* if you have Kerberos IV */ +#endif +#ifndef HasKrb5 +#define HasKrb5 NO /* if you have Kerberos V5 */ +#endif +#ifndef HasLatex +#define HasLatex NO +#endif +#ifndef HasShm +#if SystemV || SystemV4 +#define HasShm YES +#else +#define HasShm NO +#endif +#endif +#ifndef HasCbrt +#define HasCbrt YES +#endif +#ifndef HasFfs +#define HasFfs YES +#endif +#ifndef HasZlib +#define HasZlib YES +#endif +#ifndef OsNeedZlibHeaders +#define OsNeedZlibHeaders !HasZlib +#endif +#if !HasZlib /* if OS doesn't have it, we'll build it */ +XCOMM Building your own zlib can be a harmful security risk and is +XCOMM deprecated; please strongly consider using vendor-supplied packages. +#undef GzipLibrary /* GzipLibrary was valid only if HasZlib */ +#endif +#ifndef GzipLibrary /* if OS config didn't define it, assume it's -lz */ +#define GzipLibrary -lz +#endif +/* If the system has the Freetype2 library - if NO, the copy in extras is built */ +#ifndef HasFreetype2 +#define HasFreetype2 YES +#endif +/* If the system has the Fontconfig library - if NO, the copy in extras is built */ +#ifndef HasFontconfig +#define HasFontconfig NO +#endif +/* If the system has the PNG library - if NO, xcursorgen is not built */ +#ifndef HasLibpng +#define HasLibpng NO +#endif +#if HasKrbIV +#ifndef KrbIVIncludes +#define KrbIVIncludes /**/ +#endif +#ifndef KrbIVLibraries +#define KrbIVLibraries -lkrb -ldes +#endif +#endif +#if HasKrb5 +#ifndef Krb5Includes +#define Krb5Includes -I/krb5/include +#endif +#ifndef Krb5Libraries +#define Krb5Libraries -L/krb5/lib -L/usr/isode/lib -lkrb5 -lcrypto -lisode -lcom_err -ldbm +#endif +#else +#undef Krb5Includes +#define Krb5Includes /**/ +#undef Krb5Libraries +#define Krb5Libraries /**/ +#endif +#ifndef UseGnuMalloc +#define UseGnuMalloc NO +#endif +#ifndef GnuMallocLibrary +#define GnuMallocLibrary -lgmalloc +#endif +#ifndef MallocLibraries +#if UseGnuMalloc +#define MallocLibraries GnuMallocLibrary +#else +#define MallocLibraries /**/ +#endif +#endif +#ifndef HasPosixRegex /* Most modern platforms have it */ +#define HasPosixRegex YES +#endif +#ifndef RegexLibrary +#if HasPosixRegex +#define RegexLibrary /**/ +#else +#define RegexLibrary -lregex +#endif +#endif +#ifndef HasNCurses +#define HasNCurses NO +#endif +#ifndef NCursesLibName +#if HasNCurses +#define NCursesLibName -lncurses +#else +#define NCursesLibName +#endif +#endif +#ifdef NCursesLibDir +NCURSESLIBDIR = NCursesLibDir +#endif +#ifdef NCursesIncDir +NCURSESINCDIR = NCursesIncDir +#endif +#ifndef HasGlide2 +#define HasGlide2 NO +#endif +#ifndef Glide2IncDir +#if HasGlide2 +#define Glide2IncDir /usr/include/glide +#else +#define Glide2IncDir +#endif +#endif +GLIDE2INCDIR = Glide2IncDir +#ifndef HasGlide3 +#define HasGlide3 NO +#endif +#ifndef Glide3IncDir +#if HasGlide3 +#define Glide3IncDir /usr/include/glide3 +#else +#define Glide3IncDir +#endif +#endif +GLIDE3INCDIR = Glide3IncDir +#ifndef Glide3LibName +#if HasGlide3 +#define Glide3LibName glide3 +#else +#define Glide3LibName +#endif +#endif +GLIDE3LIBNAME = Glide3LibName +#ifndef HasTk +#define HasTk NO +#endif +#ifndef TkLibName +#if HasTk +#define TkLibName tk +#else +#define TkLibName +#endif +#endif +TKLIBNAME = TkLibName +#ifndef TkLibDir +#if HasTk +#define TkLibDir /usr/local/lib +#else +#define TkLibDir +#endif +#endif +TKLIBDIR = TkLibDir +#ifndef TkIncDir +#if HasTk +#define TkIncDir /usr/local/include +#else +#define TkIncDir +#endif +#endif +#ifndef TkLibrary +#ifdef HasTk +#define TkLibrary Concat(-L,$(TKLIBDIR)) Concat(-l,$(TKLIBNAME)) +#else +#define TkLibrary +#endif +#endif +#ifndef HasTcl +#define HasTcl NO +#endif +#ifndef TclLibName +#if HasTcl +#define TclLibName tcl +#else +#define TclLibName +#endif +#endif +TCLLIBNAME = TclLibName +#ifndef TclLibDir +#if HasTcl +#define TclLibDir /usr/local/lib +#else +#define TclLibDir +#endif +#endif +TCLIBDIR = TclLibDir +#ifndef TclIncDir +#if HasTcl +#define TclIncDir /usr/local/include +#else +#define TclIncDir +#endif +#endif +#ifndef TclLibrary +#ifdef HasTcl +#define TclLibrary Concat(-L,$(TCLLIBDIR)) Concat(-l,$(TCLLIBNAME)) +#else +#define TclLibrary +#endif +#endif +#ifndef HasTsLib +#define HasTsLib NO +#endif +/* + * Libtool has two different behaviours for version numbers. + * On platforms which support a minor number, the library + * version is (version - minor).minor, on those that don't, + * the version if version.0. Linux and Darwin support minor + * numbers; some BSDs do as well. Set this to YES if libtool + * uses minor numbers on your platform. + */ +#ifndef LibtoolMinorVersions +#define LibtoolMinorVersions NO +#endif +#ifndef NeedConstPrototypes +#define NeedConstPrototypes NO +#endif +#ifndef NeedVarargsPrototypes +#define NeedVarargsPrototypes NO +#endif +#ifndef NeedNestedPrototypes +#define NeedNestedPrototypes NO +#endif +#ifndef NeedFunctionPrototypes +#define NeedFunctionPrototypes (NeedVarargsPrototypes || NeedNestedPrototypes) +#endif +#ifndef NeedWidePrototypes +#define NeedWidePrototypes YES /* mix and match ANSI-C, non-ANSI */ +#endif + +#ifndef UseCCMakeDepend /* use slow cc -E script */ +#define UseCCMakeDepend NO +#endif +#ifndef UseGccMakeDepend /* use slowish but correct gcc -M */ +#define UseGccMakeDepend NO +#endif + +#ifndef CaseSensitiveFileSystem +#define CaseSensitiveFileSystem YES +#endif + +/* DefaultUsrBin is independent of ProjectRoot. + This is a directory where programs will be found even if PATH + is not set, for example when coming in remotely via rsh. */ +#ifndef DefaultUsrBin +#define DefaultUsrBin /usr/bin +#endif + +#ifndef LibDirName +# define LibDirName lib +#endif + +#ifndef UsrLibDir +#ifdef ProjectRoot +#define UsrLibDir Concat3(ProjectRoot,/,LibDirName) +#ifndef AlternateUsrLibDir +#define AlternateUsrLibDir YES +#endif +#else +#define UsrLibDir Concat3(/usr,/,LibDirName) +#ifndef AlternateUsrLibDir +#define AlternateUsrLibDir NO +#endif +#endif +#else +#ifndef AlternateUsrLibDir +#define AlternateUsrLibDir YES +#endif +#endif +#ifndef VarDirectory +#ifdef ProjectVar +#define VarDirectory ProjectVar +#else +#define VarDirectory /var +#endif +#endif +#ifndef VarLibDir +#define VarLibDir $(VARDIR)/lib +#endif + +/* + * SystemUsrLibDir is independent of ProjectRoot. It is used primarily + * to allow links for shared libraries in /usr/lib for compliance to + * various standards (e.g., Linux/OpenGL). + */ +#ifndef SystemUsrLibDir +#define SystemUsrLibDir /usr/LibDirName +#endif +#ifndef SystemUsrIncDir +#define SystemUsrIncDir /usr/include +#endif + +#ifndef ShLibDir +#define ShLibDir UsrLibDir +#endif +#ifndef IncRoot +#ifdef ProjectRoot +#define IncRoot Concat(ProjectRoot,/include) +#ifndef AlternateIncRoot +#define AlternateIncRoot YES +#endif +#else +#define IncRoot /usr/include +#ifndef AlternateIncRoot +#define AlternateIncRoot NO +#endif +#endif +#else +#ifndef AlternateIncRoot +#define AlternateIncRoot YES +#endif +#endif +#ifndef LintlibDir +#define LintlibDir $(USRLIBDIR)/lint +#endif +#ifndef SystemManDirectory +#if SystemV4 +#define SystemManDirectory /usr/share/man +#else +#define SystemManDirectory /usr/man +#endif +#endif +#ifndef ManDirectoryRoot +#ifdef ProjectRoot +#define ManDirectoryRoot Concat(ProjectRoot,/man) +#else +#define ManDirectoryRoot SystemManDirectory +#endif +#endif +#ifndef ManPath +#define ManPath ManDirectoryRoot +#endif +#ifndef ManSourcePath +#define ManSourcePath $(MANPATH)/man +#endif +#ifndef ManDir +#define ManDir $(MANSOURCEPATH)$(MANSUFFIX) +#endif +#ifndef LibmanDir +#define LibmanDir $(MANSOURCEPATH)$(LIBMANSUFFIX) +#endif +#ifndef FileManDir +#define FileManDir $(MANSOURCEPATH)$(FILEMANSUFFIX) +#endif +#ifndef MiscManDir +#define MiscManDir $(MANSOURCEPATH)$(MISCMANSUFFIX) +#endif +#ifndef DriverManDir +#define DriverManDir $(MANSOURCEPATH)$(DRIVERMANSUFFIX) +#endif +#ifndef AppLoadDefs +#define AppLoadDefs -D__apploaddir__=$(XAPPLOADDIR) +#endif +#ifndef AppManDefs +#define AppManDefs -D__appmansuffix__=$(MANSUFFIX) +#endif +#ifndef LibManDefs +#define LibManDefs -D__libmansuffix__=$(LIBMANSUFFIX) +#endif +#ifndef FileManDefs +#define FileManDefs -D__filemansuffix__=$(FILEMANSUFFIX) +#endif +#ifndef MiscManDefs +#define MiscManDefs -D__miscmansuffix__=$(MISCMANSUFFIX) +#endif +#ifndef DriverManDefs +#define DriverManDefs -D__drivermansuffix__=$(DRIVERMANSUFFIX) +#endif +#ifndef AdminManDefs +#define AdminManDefs -D__adminmansuffix__=$(ADMINMANSUFFIX) +#endif +#ifndef ProjectManDefs +#define ProjectManDefs -D__projectroot__=$(PROJECTROOT) +#endif +#ifndef XConfigFileManDefs +#define XConfigFileManDefs -D__xconfigfile__=$(XCONFIGFILE) +#endif +#ifndef XConfigDirManDefs +#define XConfigDirManDefs -D__xconfigdir__=$(XCONFIGDIR) +#endif +#ifndef XLogFileManDefs +#define XLogFileManDefs -D__xlogfile__=$(XLOGFILE) +#endif +#ifndef XServerManDefs +#define XServerManDefs -D__xservername__=$(XSERVERNAME) +#endif + +#ifndef CompressManCmd +#define CompressManCmd gzip -n +#endif + +#ifndef HtmlIndexCmd +#if BuildHtmlManPages +#define HtmlIndexCmd $(MKHTMLINDEX) +#endif +#endif + +#ifndef LogDirectory +#if HasVarDirectory +#define LogDirectory $(VARDIR)/log +#else +#define LogDirectory /usr/adm +#endif +#endif + +#ifndef HasVarRun +#define HasVarRun NO +#endif + +#ifndef VarRunDirectory +#if HasVarRun +#define VarRunDirectory $(VARDIR)/run +#endif +#endif + +#ifndef HasVarDb +#define HasVarDb NO +#endif + +#ifndef VarDbDirectory +#if HasVarDb +#define VarDbDirectory $(VARDIR)/db +#endif +#endif + +#ifndef ConfigSrc +#define ConfigSrc $(TOP)/config +#endif +#ifndef DependDir +#if UseCCMakeDepend || UseGccMakeDepend +#define DependDir $(CONFIGSRC)/util +#else +#define DependDir $(CONFIGSRC)/makedepend +#endif +#endif +#ifndef UNCOMPRESSPATH +#define UNCOMPRESSPATH /usr/ucb/uncompress /* obsolete */ +#endif +#ifndef OptimizedCDebugFlags +#define OptimizedCDebugFlags -O +#endif +#ifndef OptimizedCplusplusDebugFlags +#define OptimizedCplusplusDebugFlags OptimizedCDebugFlags +#endif +#ifndef DebuggableCDebugFlags +#define DebuggableCDebugFlags -g +#endif +#ifndef DebuggableCplusplusDebugFlags +#define DebuggableCplusplusDebugFlags DebuggableCDebugFlags +#endif +#ifndef ProfiledCDebugFlags +#define ProfiledCDebugFlags -pg +#endif +#ifndef ProfiledCplusplusDebugFlags +#define ProfiledCplusplusDebugFlags ProfiledCDebugFlags +#endif +#ifndef NoOpCDebugFlags +#define NoOpCDebugFlags /**/ +#endif +#ifndef DefaultCDebugFlags +#define DefaultCDebugFlags OptimizedCDebugFlags +#endif +#ifndef DefaultCplusplusDebugFlags +#define DefaultCplusplusDebugFlags OptimizedCplusplusDebugFlags +#endif +#ifndef DefaultCCOptions +#define DefaultCCOptions /* floating point, etc. */ +#endif +#ifndef DefaultCplusplusOptions +#define DefaultCplusplusOptions /* floating point, etc. */ +#endif +#ifndef HardCodeLibdirFlag +#define HardCodeLibdirFlag /**/ +#endif +#ifndef NoRConst +#define NoRConst NO /* YES if const for structs of funcs is bad */ +#endif +#ifndef InstPgmFlags +# if CrossCompiling +# define InstPgmFlags +# else +# define InstPgmFlags -s +# endif +#endif +#ifndef InstBinFlags +#define InstBinFlags -m 0755 +#endif +#ifndef InstUidFlags +#define InstUidFlags -m 4711 +#endif +#ifndef InstLibFlags +#define InstLibFlags -m 0644 +#endif +#ifndef InstIncFlags +#define InstIncFlags -m 0444 +#endif +#ifndef InstManFlags +#define InstManFlags -m 0444 +#endif +#ifndef InstDatFlags +#define InstDatFlags -m 0444 +#endif +#ifndef InstKmemFlags /* put -g kmem -m 2711 in site.def... */ +#define InstKmemFlags InstUidFlags +#endif +#ifndef ParallelMakeFlags +#define ParallelMakeFlags /**/ +#endif +#ifndef ArCmdBase +#define ArCmdBase ar +#endif +#ifndef ArCmd +#if HasLargeTmp || SystemV4 +#define ArCmd ArCmdBase cq +#else +#define ArCmd ArCmdBase clq +#endif +#endif +#ifndef ArAddCmd +#if HasLargeTmp || SystemV4 +#define ArAddCmd ArCmdBase ru +#else +#define ArAddCmd ArCmdBase rul +#endif +#endif +#ifndef ArExtCmd +#if HasLargeTmp || SystemV4 +#define ArExtCmd ArCmdBase x +#else +#define ArExtCmd ArCmdBase xl +#endif +#endif +#ifndef BootstrapCFlags +#define BootstrapCFlags /**/ +#endif +#ifndef HasGcc3 +#define HasGcc3 NO +#endif +#ifndef HasGcc2 +#define HasGcc2 HasGcc3 +#endif +#ifndef HasGcc +#define HasGcc HasGcc2 +#endif +#ifndef HasIntelC +#define HasIntelC NO +#endif +#ifndef HasSunC +#define HasSunC NO +#endif +#ifndef HasBrokenCCForLink +#define HasBrokenCCForLink NO +#endif +#ifndef CcCmd +#if HasGcc2 +#define CcCmd gcc -fpcc-struct-return +#else +#if HasGcc +#define CcCmd gcc -fstrength-reduce -fpcc-struct-return +#else +#if HasCenterLineC +#define CcCmd clcc +#else +#define CcCmd cc +#endif +#endif +#endif +#endif +#ifndef CplusplusCmd +#if HasGcc2ForCplusplus +#define CplusplusCmd g++ +#else +#define CplusplusCmd CC +#endif +#endif +#ifndef CplusplusFilt +# define CplusplusFilt c++filt +#endif +#ifndef CplusplusLibC +#if HasGcc2ForCplusplus +#define CplusplusLibC -lstdc++ +#else +#define CplusplusLibC /**/ +#endif +#endif +#ifndef CplusplusStandardDefines +#define CplusplusStandardDefines StandardDefines +#endif +#ifndef CplusplusExtraDefines +#define CplusplusExtraDefines /**/ +#endif +#ifndef CplusplusExtraIncludes +#define CplusplusExtraIncludes /**/ +#endif +#ifndef CplusplusDependIncludes +#define CplusplusDependIncludes /**/ +#endif +#ifndef CplusplusOptions +#define CplusplusOptions DefaultCplusplusOptions +#endif +#ifndef CplusplusSpecialOptions +#define CplusplusSpecialOptions /**/ +#endif +#if HasFortran +#ifndef FortranCmd +#define FortranCmd f77 +#endif +#ifndef FortranFlags +#define FortranFlags /**/ +#endif +#ifndef FortranDebugFlags /* for -O or -g */ +#define FortranDebugFlags /**/ +#endif +#endif +#ifndef AsCmd +#define AsCmd as +#endif +#ifndef AsmDefines +#define AsmDefines /**/ +#endif +#ifndef CompressCmd +#define CompressCmd compress +#endif +#ifndef GzipCmd +#define GzipCmd gzip +#endif +#ifndef CppCmd +#define CppCmd /LibDirName/cpp +#endif +#ifndef RawCppCmd +#define RawCppCmd CppCmd -undef +#endif +#ifndef CppNoLineInfoOption +#define CppNoLineInfoOption /**/ +#endif +#ifndef PreProcessCmd +#define PreProcessCmd CcCmd -E +#endif +#ifndef InstallCmd /* hack should be in project */ +#if SystemV || SystemV4 +#ifdef UseInstalled /* assume BINDIR in path */ +#define InstallCmd bsdinst +#else +#define InstallCmd $(SHELL) $(CONFIGSRC)/util/bsdinst.sh +#endif +#else +#define InstallCmd install +#endif +#endif +#ifndef InstallFlags +#define InstallFlags -c +#endif +#ifndef StripCmd +#define StripCmd strip +#endif +#ifndef LdCmd +#define LdCmd ld +#endif +#ifndef M4Cmd +#define M4Cmd m4 +#endif +#ifndef M4Flags +#define M4Flags /**/ +#endif +#ifndef LexCmd +#define LexCmd lex +#endif +#ifndef LexLib +#define LexLib -ll +#endif +#ifndef HasFlex +#define HasFlex NO +#endif +#ifndef YaccCmd +#define YaccCmd yacc +#endif +#ifndef CplusplusYaccCmd +#define CplusplusYaccCmd YaccCmd +#endif +#ifndef LintCmd +#define LintCmd lint +#endif +#ifndef LintLibFlag +#if SystemV || SystemV4 +#define LintLibFlag -o +#else +#define LintLibFlag -C +#endif +#endif +#ifndef LintOpts +#if SystemV || SystemV4 +#define LintOpts -bh +#else +#define LintOpts -axz +#endif +#endif +#ifndef CpCmd +#define CpCmd cp +#endif +#ifndef LnCmd /* can use cp instead of ln if necessary */ +#if HasSymLinks +#define LnCmd ln -s +#else +#define LnCmd ln +#endif +#endif +#ifndef MakeCmd +#define MakeCmd make +#endif +#ifndef MvCmd +#define MvCmd mv -f +#endif +#ifndef RanlibCmd +#define RanlibCmd ranlib +#endif +#ifndef RanlibInstFlags +#define RanlibInstFlags /**/ +#endif +#ifndef RmCmd +#define RmCmd rm -f +#endif + +/* + * Module cross-compile stuff. By default they are defined to be exactly the + * same as the non-module versions. + */ +#ifndef ModuleCcCmd +#define ModuleCcCmd CcCmd +#endif +#ifndef ModuleCppCmd +#define ModuleCppCmd CppCmd +#endif +#ifndef ModuleCFlags +#define ModuleCFlags $(CFLAGS) +#endif +#ifndef ModuleAsCmd +#define ModuleAsCmd AsCmd +#endif +#ifndef ModuleAsFlags +#define ModuleAsFlags /**/ +#endif +#ifndef ModuleLdCmd +#define ModuleLdCmd LdCmd +#endif +#ifndef ModuleLdFlags +#define ModuleLdFlags /**/ +#endif +#ifndef ModuleLdCombineFlags +#define ModuleLdCombineFlags LdCombineFlags +#endif +#ifndef ModuleArCmd +#define ModuleArCmd ArCmd +#endif +#ifndef NeedModuleRanlib +#define NeedModuleRanlib NO +#endif +#ifndef ModuleRanlibCmd +#define ModuleRanlibCmd RanlibCmd +#endif + +#ifndef HostCcCmd +#define HostCcCmd cc +#endif +#ifndef StandardIncludes /* for platform-specifics */ +#define StandardIncludes /**/ +#endif +#ifndef StandardDefines +#if SystemV +#define StandardDefines -DSYSV +#else +#if SystemV4 +#define StandardDefines -DSVR4 +#else +#define StandardDefines /**/ +#endif +#endif +#endif +#ifndef StandardCppOptions +#define StandardCppOptions /**/ +#endif +#ifndef StandardCppDefines +#define StandardCppDefines StandardCppOptions StandardDefines +#endif +#ifndef Malloc0ReturnsNull +#if UseGnuMalloc +#define Malloc0ReturnsNull YES +#else +#define Malloc0ReturnsNull NO +#endif +#endif +#if Malloc0ReturnsNull +#ifndef Malloc0ReturnsNullDefines +#define Malloc0ReturnsNullDefines -DMALLOC_0_RETURNS_NULL +#endif +#endif +#ifndef ToolkitStringsABIOptions +#define ToolkitStringsABIOptions /**/ +#endif +#ifndef NdbmDefines +#if HasNdbm +#define NdbmDefines -DNDBM +#else +#define NdbmDefines /**/ +#endif +#endif +#ifndef HasLdRunPath +#define HasLdRunPath NO +#endif +#ifndef LdPreLib +# if !defined(UseInstalled) +# define LdPreLib -L$(BUILDLIBDIR) +# else +# if AlternateUsrLibDir +# define LdPreLib -L$(USRLIBDIR) +# else +# define LdPreLib /**/ +# endif +#endif +#endif +#ifndef LdPostLib +#if !defined(UseInstalled) && AlternateUsrLibDir && !HasLdRunPath && !defined(CrossCompileDir) +#define LdPostLib -L$(USRLIBDIR) +#else +#define LdPostLib /**/ +#endif +#endif +#ifndef MathLibrary +#define MathLibrary -lm +#endif +#ifndef DBMLibrary +#define DBMLibrary -ldbm +#endif +#ifndef DlLibrary +#define DlLibrary -ldl +#endif +#ifndef ExtraLibraries +#if SystemV4 +#if HasSockets +#define ExtraLibraries -lsocket -lnsl -lw +#else +#define ExtraLibraries -lnsl -lw +#endif +#else +#define ExtraLibraries /**/ +#endif +#endif +#ifndef ExtraLoadOptions +#define ExtraLoadOptions /**/ +#endif +#ifndef ExtraLoadFlags +#define ExtraLoadFlags /**/ +#endif +#ifndef LdCombineFlags +#if SystemV4 +#define LdCombineFlags -r +#else +#define LdCombineFlags -X -r +#endif +#endif +#ifndef LdStripFlags +#define LdStripFlags -x +#endif +#ifndef TagsCmd +#define TagsCmd ctags +#endif +#ifndef LoaderLibPrefix +#define LoaderLibPrefix /**/ +#endif +#ifndef ImakeCmd +#ifdef UseInstalled /* assume BINDIR in path */ +#define ImakeCmd imake +#else +#define ImakeCmd $(IMAKESRC)/imake +#endif +#endif +#ifndef ImakeWarningFlags +#define ImakeWarningFlags /* Nothing */ +#endif +#ifndef DependCmd +#if UseGccMakeDepend +#ifdef UseInstalled /* assume BINDIR in path */ +#define DependCmd gccmakedep +#else +#define DependCmd $(DEPENDSRC)/gccmakedep +#endif +#elif UseCCMakeDepend +#ifdef UseInstalled /* assume BINDIR in path */ +#define DependCmd ccmakedep +#else +#define DependCmd $(DEPENDSRC)/ccmakedep +#endif +#else +#ifdef UseInstalled /* assume BINDIR in path */ +#define DependCmd makedepend +#else +#define DependCmd $(DEPENDSRC)/makedepend +#endif +#endif +#endif +#ifndef DependDefines +# if UseCCMakeDepend || UseGccMakeDepend +# define DependDefines /**/ +# else +# define DependDefines -DUSE_MAKEDEPEND +# endif +#endif +#ifndef DependFlags +#define DependFlags /**/ +#endif +#ifndef DependFileName +#if !HasBsdMake +#define DependFileName Makefile.dep +#else +#define DependFileName .depend +#endif +#endif +#ifndef ExportListCmd +# ifndef ExportListGenSource +# define ExportListCmd /**/ +# elif !defined(UseInstalled) +# define ExportListCmd $(CONFIGSRC)/util/exportlistgen +# else +# define ExportListCmd exportlistgen +# endif +#endif +#ifndef MkdirHierCmd +#ifdef UseInstalled /* assume BINDIR in path */ +#define MkdirHierCmd mkdirhier +#else +#define MkdirHierCmd $(SHELL) $(CONFIGSRC)/util/mkdirhier.sh +#endif +#endif +#ifndef RevPathCmd +#ifdef UseInstalled /* assume BINDIR in path */ +#define RevPathCmd revpath +#else +#define RevPathCmd $(CONFIGSRC)/util/revpath +#endif +#endif +#ifndef TroffCmd +#if HasGroff +#define TroffCmd groff -Tps +#else +#define TroffCmd troff -Tps +#endif +#endif +#ifndef NroffCmd +#define NroffCmd nroff +#endif +#ifndef HTMLroffCmd +#if HasGroff && HasGroffHtml +#define HTMLroffCmd groff -Thtml +#endif +#endif +#ifdef HTMLroffCmd +#ifndef DocFilesToClean +#define DocFilesToClean grohtml*.png *-auto-*.png +#endif +#endif +#ifndef MsMacros +#define MsMacros -ms +#endif +#ifndef ManMacros +#define ManMacros -man +#endif +#ifndef TblCmd +#define TblCmd tbl +#endif +#ifndef EqnCmd +#define EqnCmd eqn +#endif +#ifndef NeqnCmd +#define NeqnCmd neqn +#endif +#ifndef ColCmd +#define ColCmd col +#endif +#ifndef ColFlags +#define ColFlags -b +#endif +#ifndef DvipsCmd +#define DvipsCmd dvips +#endif +#ifndef LatexCmd +#define LatexCmd latex +#endif +#ifndef HasPdfLatex +#define HasPdfLatex NO +#endif +#ifndef PdfLatexCmd +#define PdfLatexCmd pdflatex +#endif +#ifndef GhostScriptCmd +#define GhostScriptCmd gs +#endif +#ifndef HasGhostPCL +#define HasGhostPCL NO +#endif +#ifndef HasGhostScript +#define HasGhostScript NO +#endif +#ifndef BuildPDFdocs +#define BuildPDFdocs (HasGhostScript) +#endif +#if BuildPDFdocs +#define PsToPdfCmd GhostScriptCmd -q -sOutputFile=- -sDEVICE=pdfwrite -dSAFER -dNOPAUSE - +#endif +#if HasSentinel +#ifndef SentinelCmd +#define SentinelCmd sentinel +#endif +#ifndef SentinelOptions +#define SentinelOptions /**/ +#endif +#endif +#if HasPurify +#ifndef PurifyCmd +#define PurifyCmd purify +#endif +#ifndef PurifyOptions +#define PurifyOptions /**/ +#endif +#endif +#if HasTestCenter +#ifndef ProofCmd +#define ProofCmd proof +#endif +#ifndef ProofOptions +#define ProofOptions /**/ +#endif +#endif +#ifndef PathSeparator +#define PathSeparator / +#endif +#ifndef Osuf +#define Osuf o +#endif +#ifndef CCsuf +#define CCsuf cc +#endif +#ifndef SHsuf +#define SHsuf sh +#endif +#ifndef ManSuffix +#define ManSuffix n /* use just one tab or cpp will die */ +#endif +#ifndef LibManSuffix +#define LibManSuffix 3 /* use just one tab or cpp will die */ +#endif +#ifndef FileManSuffix +#if SystemV || SystemV4 || defined(OSF1Architecture) +#define FileManSuffix 4 /* use just one tab or cpp will die */ +#else +#define FileManSuffix 5 /* use just one tab or cpp will die */ +#endif +#endif +#ifndef MiscManSuffix +#if SystemV || SystemV4 || defined(OSF1Architecture) +#define MiscManSuffix 5 /* use just one tab or cpp will die */ +#else +#define MiscManSuffix 7 /* use just one tab or cpp will die */ +#endif +#endif +#ifndef DriverManSuffix +#if SystemV || SystemV4 || defined(OSF1Architecture) +#define DriverManSuffix 7 /* use just one tab or cpp will die */ +#else +#define DriverManSuffix 4 /* use just one tab or cpp will die */ +#endif +#endif +#ifndef AdminManSuffix +#if SystemV || SystemV4 +#define AdminManSuffix 1m /* use just one tab or cpp will die */ +#else +#define AdminManSuffix 8 /* use just one tab or cpp will die */ +#endif +#endif +#ifndef ExpandManNames +#if SystemV +#define ExpandManNames NO +#else +#define ExpandManNames YES +#endif +#endif +#ifndef ManSrcSuffix +#define ManSrcSuffix man +#endif +#ifndef ManNewSuffix +#define ManNewSuffix _man +#endif +#ifndef TOPDIR +#define TOPDIR . +#endif +#ifndef CURDIR +#define CURDIR . +#endif +#ifndef SiteIConfigFiles +#define SiteIConfigFiles /**/ +#endif +#ifndef OtherIConfigFiles +#define OtherIConfigFiles /**/ +#endif +#ifndef ExtraFilesToClean +#define ExtraFilesToClean /**/ +#endif +#ifndef DocFilesToClean +#define DocFilesToClean /**/ +#endif +#ifndef FilesToClean +#define FilesToClean *.CKP *.ln *.BAK *.bak *.Osuf core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut +#endif + +#ifdef CrossCompileDir +# ifndef StripPath +# define StripPath(x) `echo x|sed "s%.*/%%"` +# endif +# ifndef CrossArCmd +# define CrossArCmd Concat3(CrossCompileDir,/,StripPath(ArCmd)) +# endif +# ifndef CrossCcCmd +# define CrossCcCmd Concat3(CrossCompileDir,/,StripPath(CcCmd)) +# endif +# ifndef CrossAsCmd +# define CrossAsCmd Concat3(CrossCompileDir,/,StripPath(AsCmd)) +# endif +# ifdef HasFortran +# ifndef CrossFortranCmd +# define CrossFortranCmd Concat3(CrossCompileDir,/,StripPath(FortranCmd)) +# endif +# endif +# ifndef CrossCplusplusCmd +# define CrossCplusplusCmd Concat3(CrossCompileDir,/,StripPath(CplusplusCmd)) +# endif +# ifndef CrossCppCmd +# define CrossCppCmd Concat3(CrossCompileDir,/,StripPath(CppCmd)) +# endif +# ifndef CrossRawCppCmdCmd +# define CrossRawCppCmd Concat3(CrossCompileDir,/,StripPath(RawCppCmd)) +# endif +# ifndef CrossPreProcessCmd +# define CrossPreProcessCmd Concat3(CrossCompileDir,/,StripPath(PreProcessCmd)) +# endif +# ifndef CrossAsCmd +# define CrossAsCmd Concat3(CrossCompileDir,/,StripPath(AsCmd)) +# endif +# ifndef CrossLdCmd +# define CrossLdCmd Concat3(CrossCompileDir,/,StripPath(LdCmd)) +# endif +# ifndef CrossModuleLdCmd +# define CrossModuleLdCmd CrossLdCmd +# endif +# ifndef CrossLintCmd +# define CrossLintCmd Concat3(CrossCompileDir,/,StripPath(LintCmd)) +# endif +# ifndef CrossRanlibCmd +# define CrossRanlibCmd Concat3(CrossCompileDir,/,StripPath(RanlibCmd)) +# endif +# ifndef CrossModuleCcCmd +# define CrossModuleCcCmd Concat3(CrossCompileDir,/,StripPath(ModuleCcCmd)) +# endif +# ifndef CrossAsCmd +# define CrossAsCmd Concat3(CrossCompileDir,/,StripPath(AsCmd)) +# endif +# ifndef CrossStripCmd +# define CrossStripCmd Concat3(CrossCompileDir,/,StripPath(StripCmd)) +# endif +#endif + + PATHSEP = PathSeparator + SHELL = BourneShell + + TOP = TOPDIR + CURRENT_DIR = CURDIR + + IMAKE = ImakeCmd + DEPEND = DependCmd + MKDIRHIER = MkdirHierCmd + REVPATH = RevPathCmd + EXPORTLISTGEN = ExportListCmd + RMAN = RmanCmd + RMANBASENAME = HostProgramTargetName(rman) + RMANOPTIONS = RmanOptions + CONFIGSRC = ConfigSrc + IMAKESRC = $(CONFIGSRC)/imake + DEPENDSRC = DependDir + + INCROOT = IncRoot /* base of where to put header files */ + USRLIBDIR = UsrLibDir /* nonshared libraries */ + VARDIR = VarDirectory /* usually /var */ + VARLIBDIR = VarLibDir /* xdm runtime files */ + SYSTEMUSRLIBDIR = SystemUsrLibDir /* system's "/usr/lib" */ + SYSTEMUSRINCDIR = SystemUsrIncDir /* system's "/usr/include" */ + SHLIBDIR = ShLibDir /* shared libraries */ + LINTLIBDIR = LintlibDir /* lint libraries */ + MANPATH = ManPath /* top of manual page tree */ + MANSOURCEPATH = ManSourcePath /* prefix for man page sources */ + MANDIR = ManDir /* man pages for commands */ + LIBMANDIR = LibmanDir /* man pages for library routines */ + FILEMANDIR = FileManDir /* man pages for config files */ + MISCMANDIR = MiscManDir /* man pages for miscellaneous files */ + DRIVERMANDIR = DriverManDir /* man pages for drivers */ + LOGDIRECTORY = LogDirectory /* OS location of log files */ +#ifdef VarRunDirectory + VARRUNDIR = VarRunDirectory /* OS location of PID files */ +#endif +#ifdef VarDbDirectory + VARDBDIR = VarDbDirectory /* OS location of db/state files */ +#endif +#ifdef CrossCompileDir + AR = CrossArCmd +#else + AR = ArCmd +#endif +XCOMM Nice try but useless: make will inherit BOOTSTRAPCFLAGS +XCOMM from top Makefile + BOOTSTRAPCFLAGS = BootstrapCFlags /* set if cpp does not have uniq sym */ +#ifdef CrossCompileDir + CC = CrossCcCmd + AS = CrossAsCmd +#else + CC = CcCmd + AS = AsCmd +#endif +#if HasFortran +# ifdef CrossCompileDir + FC = CrossFortranCmd +# else + FC = FortranCmd +# endif + FDEBUGFLAGS = FortranDebugFlags + FCFLAGS = FortranFlags $(FDEBUGFLAGS) +#endif +#if HasCplusplus + +.SUFFIXES: Concat(.,CCsuf) + +#ifdef CrossCompileDir + CXX = CrossCplusplusCmd +#else + CXX = CplusplusCmd +#endif + CXXFILT = CplusplusFilt +#ifdef CplusplusLibCDir + CXXLIBDIR = CplusplusLibCDir + CXXLIB = -L$(CXXLIBDIR) CplusplusLibC +#else + CXXLIB = CplusplusLibC +#endif + + CXXDEBUGFLAGS = DefaultCplusplusDebugFlags +CXXDEPENDINCLUDES = CplusplusDependIncludes + CXXEXTRA_DEFINES = CplusplusExtraDefines +CXXEXTRA_INCLUDES = CplusplusExtraIncludes + CXXSTD_DEFINES = CplusplusStandardDefines $(CXXPROJECT_DEFINES) + CXXOPTIONS = CplusplusOptions + CXXINCLUDES = $(INCLUDES) $(TOP_INCLUDES) $(CXXEXTRA_INCLUDES) + CXXDEFINES = $(CXXINCLUDES) $(CXXSTD_DEFINES) $(THREADS_CXXDEFINES) $(DEFINES) $(CXXEXTRA_DEFINES) + CXXFLAGS = $(CXXDEBUGFLAGS) $(CXXOPTIONS) $(THREADS_CXXFLAGS) $(CXXDEFINES) +#endif + COMPRESS = CompressCmd + GZIPCMD = GzipCmd +#ifdef CrossCompileDir + CPP = CrossCppCmd $(STD_CPP_DEFINES) + RAWCPP = CrossRawCppCmd $(STD_CPP_OPTIONS) + PREPROCESSCMD = CrossPreProcessCmd $(STD_CPP_DEFINES) +#else + CPP = CppCmd $(STD_CPP_DEFINES) /* simple filters */ + RAWCPP = RawCppCmd $(STD_CPP_OPTIONS) + PREPROCESSCMD = PreProcessCmd $(STD_CPP_DEFINES) /* prefered; mdep */ +#endif + INSTALL = InstallCmd + INSTALLFLAGS = InstallFlags +#ifdef CrossCompileDir + LD = CrossLdCmd +#else + LD = LdCmd +#endif + LEX = LexCmd + M4 = M4Cmd + M4FLAGS = M4Flags + LEXLIB = LexLib + YACC = YaccCmd + CCYACC = CplusplusYaccCmd +#ifdef CrossCompileDir + LINT = CrossLintCmd +#else + LINT = LintCmd +#endif + LINTLIBFLAG = LintLibFlag + LINTOPTS = LintOpts + LN = LnCmd + MAKE = MakeCmd + MV = MvCmd + CP = CpCmd +#if DoRanlibCmd +#ifdef CrossCompileDir + RANLIB = CrossCompileDir/RanlibCmd +#else + RANLIB = RanlibCmd +#endif + RANLIBINSTFLAGS = RanlibInstFlags +#endif + RM = RmCmd + PERL = PerlCmd + PERLOPTS = PerlOptions + PERLENVSETUP = PerlEnvSetup + MANSUFFIX = ManSuffix /* suffix for command man pages */ + LIBMANSUFFIX = LibManSuffix /* suffix for library man pages */ + FILEMANSUFFIX = FileManSuffix /* suffix for file format man pages */ + MISCMANSUFFIX = MiscManSuffix /* suffix for misc man pages */ + DRIVERMANSUFFIX = DriverManSuffix /* suffix for driver man pages */ + ADMINMANSUFFIX = AdminManSuffix /* suffix for admin command man pages */ + MANSRCSUFFIX = ManSrcSuffix /* suffix for man page source */ + MANNEWSUFFIX = ManNewSuffix /* suffix for preprocessed man source */ + MANDEFS = AppLoadDefs AppManDefs FileManDefs LibManDefs MiscManDefs DriverManDefs AdminManDefs ProjectManDefs XConfigFileManDefs XConfigDirManDefs XLogFileManDefs XServerManDefs $(XORGMANDEFS) $(VENDORMANDEFS) + + COMPRESSMANCMD = CompressManCmd + + TROFF = TroffCmd + NROFF = NroffCmd +#ifdef HTMLroffCmd + HTMLROFF = HTMLroffCmd +#endif +#ifdef PsToPdfCmd + PSTOPDFCMD = PsToPdfCmd +#endif + MSMACROS = MsMacros + MANMACROS = ManMacros + TBL = TblCmd + EQN = EqnCmd + NEQN = NeqnCmd + COL = ColCmd + COLFLAGS = ColFlags +#ifdef CrossCompileDir + MODCC = CrossModuleCcCmd +#else + MODCC = ModuleCcCmd +#endif + MODCPP = ModuleCppCmd + MODCFLAGS = ModuleCFlags + MODAS = ModuleAsCmd + MODASFLAGS = ModuleAsFlags +#ifdef CrossCompileDir + MODLD = CrossModuleLdCmd +#else + MODLD = ModuleLdCmd +#endif + MODLDFLAGS = ModuleLdFlags +MODLDCOMBINEFLAGS = ModuleLdCombineFlags + MODAR = ModuleArCmd +#ifdef CrossCompileDir + MODRANLIB = CrossCompileDir/ModuleRanlibCmd +#else + MODRANLIB = ModuleRanlibCmd +#endif +#if HasLatex + DVIPS = DvipsCmd + LATEX = LatexCmd +#endif +#if HasPdfLatex + PDFLATEXCMD = PdfLatexCmd +#endif +#if HasSentinel + SENTINEL = SentinelCmd + SENTINELOPTIONS = SentinelOptions +#endif +#if HasPurify + PURIFY = PurifyCmd + PURIFYOPTIONS = PurifyOptions +#endif +#if HasTestCenter + PROOF = ProofCmd + PROOFOPTIONS = ProofOptions +#endif +#if CrossCompiling + HOST_CC = HostCcCmd +#endif + STD_INCLUDES = StandardIncludes + STD_CPP_OPTIONS = StandardCppOptions + STD_CPP_DEFINES = StandardCppOptions StandardCppDefines $(PROJECT_DEFINES) + STD_DEFINES = StandardDefines $(PROJECT_DEFINES) + EXTRA_LOAD_FLAGS = ExtraLoadFlags + EXTRA_LDOPTIONS = ExtraLoadOptions + EXTRA_LIBRARIES = MallocLibraries ExtraLibraries Krb5Libraries + TAGS = TagsCmd +#if ConstructMFLAGS + MFLAGS = -$(MAKEFLAGS) +#endif +#if ConstructMAKEFLAGS + MAKEFLAGS = $(MFLAGS) +#endif + PARALLELMFLAGS = ParallelMakeFlags +#if HasSharedLibraries + SHAREDCODEDEF = SharedCodeDef + SHLIBDEF = SharedLibraryDef +#ifdef SharedLibraryLoadFlags + SHLIBLDFLAGS = SharedLibraryLoadFlags $(SHLIBGLOBALSFLAGS) +#if HasGcc + NOSTDLIB = -nostdlib + POSTNOSTDLIB = -Wl,-Bstatic -lgcc -Wl,-Bdynamic +#elif HasIntelC + NOSTDLIB = -nostdlib + POSTNOSTDLIB = +#elif HasSunC + NOSTDLIB = -xnolib + POSTNOSTDLIB = +#endif +#endif +/* + * Here we set up flags needed to produce position-independent code + * when doing C and C++ compilation. The default if you specify C + * PIC flags without also specifying C++ PIC flags is to assume that + * the C flags work for both. If your C++ compiler requires different + * flags, specify them explicitly in PositionIndependentCplusplusFlags. + */ +#ifdef PositionIndependentCFlags + PICFLAGS = PositionIndependentCFlags +#endif +#ifdef PositionIndependentCplusplusFlags + CXXPICFLAGS = PositionIndependentCplusplusFlags +#else +#ifdef PositionIndependentCFlags + CXXPICFLAGS = PositionIndependentCFlags +#endif +#endif +#endif +#if !HasVoidSignalReturn + SIGNAL_DEFINES = -DSIGNALRETURNSINT +#endif +/* + * The following supports forcing of function prototypes + */ +#if NeedFunctionPrototypes && NeedVarargsPrototypes && NeedConstPrototypes && NeedNestedPrototypes +#define _funcprotodef -DFUNCPROTO=15 +#else +#if NeedFunctionPrototypes && NeedVarargsPrototypes && NeedNestedPrototypes +#define _funcprotodef -DFUNCPROTO=11 +#else +#if NeedFunctionPrototypes && NeedNestedPrototypes +#define _funcprotodef -DFUNCPROTO=9 +#else +#if NeedFunctionPrototypes && NeedVarargsPrototypes && NeedConstPrototypes +#define _funcprotodef -DFUNCPROTO=7 +#else +#if NeedFunctionPrototypes && NeedConstPrototypes +#define _funcprotodef -DFUNCPROTO=5 +#else +#if NeedFunctionPrototypes && NeedVarargsPrototypes +#define _funcprotodef -DFUNCPROTO=3 +#else +#if NeedFunctionPrototypes +#define _funcprotodef -DFUNCPROTO +#else +#define _funcprotodef /**/ +#endif +#endif +#endif +#endif +#endif +#endif +#endif +#if NeedWidePrototypes +#define _wideprotodef /**/ +#else +#define _wideprotodef -DNARROWPROTO +#endif + PROTO_DEFINES = _funcprotodef _wideprotodef +#undef _funcprotodef +#undef _wideprotodef + +#if StripInstalledPrograms + INSTPGMFLAGS = InstPgmFlags /* install flags for stripping */ +#else + INSTPGMFLAGS = +#endif + INSTBINFLAGS = InstBinFlags /* install flags for programs */ + INSTUIDFLAGS = InstUidFlags /* install flags for setuid programs */ + INSTLIBFLAGS = InstLibFlags /* install flags for libraries */ + INSTINCFLAGS = InstIncFlags /* install flags for headers */ + INSTMANFLAGS = InstManFlags /* install flags for man pages */ + INSTDATFLAGS = InstDatFlags /* install flags for data files */ + INSTKMEMFLAGS = InstKmemFlags /* install flags for /dev/kmem progs */ + +#ifdef ProjectRoot + PROJECTROOT = ProjectRoot +#endif +#ifdef UseInstalled +# if AlternateIncRoot +# define TopInclude -I$(INCROOT) +# else +# define TopInclude /**/ +# endif +#else +# define TopInclude -I$(TOP) +#endif + + CDEBUGFLAGS = DefaultCDebugFlags + CCOPTIONS = DefaultCCOptions /* to distinguish from param flags */ +/* + * STD_INCLUDES contains system-specific includes + * TOP_INCLUDES specifies how to get to /usr/include or its build substitute + * EXTRA_INCLUDES contains project-specific includes set in project incfiles + * INCLUDES contains client-specific includes set in Imakefile + * LOCAL_LDFLAGS contains client-specific ld flags flags set in Imakefile + */ + ALLINCLUDES = $(INCLUDES) $(EXTRA_INCLUDES) $(TOP_INCLUDES) $(INSTALLED_INCLUDES) $(STD_INCLUDES) + ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(PROTO_DEFINES) $(THREADS_DEFINES) $(MODULE_DEFINES) $(DEFINES) $(EXTRA_DEFINES) + CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(THREADS_CFLAGS) $(MODULE_CFLAGS) $(ALLDEFINES) + LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES) $(DEPEND_DEFINES) + LDPRELIB = LdPreLib $(INSTALLED_LIBS) + LDPOSTLIB = LdPostLib + LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS) $(EXTRA_LDOPTIONS) $(THREADS_LDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIBS) + CXXLDOPTIONS = $(CXXDEBUGFLAGS) $(CXXOPTIONS) $(EXTRA_LDOPTIONS) $(THREADS_CXXLDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIBS) + + LDLIBS = $(LDPOSTLIBS) $(THREADS_LIBS) $(SYS_LIBRARIES) $(EXTRA_LIBRARIES) +#if HasBrokenCCForLink + CCLINK = LdCmd +#else +#if AlternateUsrLibDir && HasLdRunPath + CCENVSETUP = LD_RUN_PATH=$(USRLIBDIRPATH) + CCLINK = $(CCENVSETUP) $(CC) +#else + CCLINK = $(CC) +#endif +#endif +#if AlternateUsrLibDir && HasLdRunPath + CXXENVSETUP = LD_RUN_PATH=$(USRLIBDIRPATH) + CXXLINK = $(CXXENVSETUP) $(CXX) +#else + CXXLINK = $(CXX) +#endif + LDSTRIPFLAGS = LdStripFlags + LDCOMBINEFLAGS = LdCombineFlags + DEPENDFLAGS = DependFlags + DEPEND_DEFINES = DependDefines + +XCOMM Not sure this belongs here + TKLIBDIR = TkLibDir + TKINCDIR = TkIncDir + TKLIBNAME = TkLibName + TKLIBRARY = TkLibrary + TCLLIBDIR = TclLibDir + TCLINCDIR = TclIncDir + TCLLIBNAME = TclLibName + TCLLIBRARY = TclLibrary + + MACROFILE = MacroFile + RM_CMD = $(RM) + + IMAKE_DEFINES = /* leave blank, for command line use only */ + IMAKE_WARNINGS = ImakeWarningFlags +#ifdef UseInstalled + IRULESRC = $(CONFIGDIR) /* used in rules file */ + IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES) \ + $(IMAKE_WARNINGS) +#else + IRULESRC = $(CONFIGSRC)/cf + IMAKE_CMD = $(IMAKE) -I$(IRULESRC) $(IMAKE_DEFINES) $(IMAKE_WARNINGS) +#endif +#if !HasClearmake + /* clearmake records relevant defines and flags in the build script, + so it knows when they change and we don't need this coarser-level + dependency. We also don't want it, since it prevents sharing if + even one config file, say site.def or host.def, changes. */ + ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/X11.tmpl \ + $(IRULESRC)/site.def $(IRULESRC)/$(MACROFILE) \ + OtherIConfigFiles SiteIConfigFiles $(EXTRA_ICONFIGFILES) +#endif + +#ifndef TopLevelProject +# define TopLevelProject X11 +#endif +#ifndef ProjectRulesFile +# define ProjectRulesFile Concat3(<,TopLevelProject,.rules>) +#endif +#include ProjectRulesFile +#ifndef LocalRulesFile +/* need this to make ANSI-style preprocessors happy */ +#define LocalRulesFile <noop.rules> +#endif +#include LocalRulesFile + +/* + * get project-specific configuration and rules + */ +#ifndef ProjectTmplFile +#define ProjectTmplFile Concat3(<,TopLevelProject,.tmpl>) +#endif +#include ProjectTmplFile +#ifndef LocalTmplFile +/* need this to make ANSI-style preprocessors happy */ +#define LocalTmplFile <noop.rules> +#endif +#include LocalTmplFile + +#if !BuildLibraries && AlternateIncRoot && !defined(CrossCompileDir) +INSTALLED_INCLUDES = -I$(INCROOT) +#endif + +#if !defined(UseInstalled) && !BuildLibraries && AlternateUsrLibDir && !defined(CrossCompileDir) +INSTALLED_LIBS = -L$(USRLIBDIR) +#endif + +#ifdef FixupLibReferences +FixupLibReferences() +#endif + +/* ConfigDir comes from X11.tmpl */ + CONFIGDIR = ConfigDir /* build configuration information */ +#if HasClearmake + OSNAME = OSName +#endif + USRLIBDIRPATH = UsrLibDirPath + LDPRELIBS = LdPreLibs $(INSTALLED_LIBS) + LDPOSTLIBS = LdPostLibs + TOP_INCLUDES = TopIncludes + PROJECT_DEFINES = ProjectDefines + VENDOR_DEFINES = VendorDefines +#if HasCplusplus +CXXPROJECT_DEFINES = CplusplusProjectDefines +#endif + +XCOMM ---------------------------------------------------------------------- +XCOMM start of Imakefile +#include INCLUDE_IMAKEFILE + +XCOMM ---------------------------------------------------------------------- +XCOMM common rules for all Makefiles - do not edit + +.c.i: + CPPOnlyCompile($*.c,$(_NOOP_)) + +.SUFFIXES: .ii + +.cc.ii: + CPPOnlyCompile($*.cc,$(_NOOP_)) + +.SUFFIXES: .s + +.c.s: + CompileCToAsm($(_NOOP_)) + +.cc.s: + CompileCplusplusToAsm($(_NOOP_)) + +/* + * These need to be here so that rules in Imakefile occur first; the blank + * emptyrule is to make sure that an empty Imakefile does not default to make + * clean. + */ +emptyrule:: + +CleanTarget() + +#ifndef IHaveSpecialMakefileTarget +MakefileTarget() +#endif + +#if BuildHtmlManPages +RmanDependency() +#endif + +TagsTarget() +#ifdef MakefileAdditions +MakefileAdditions() +#endif + +CenterLoadTarget(debug_src,$(SRCS),NullParameter,$(ALLDEFINES)) + +CenterLoadTarget(debug_obj,$(OBJS),NullParameter,$(ALLDEFINES)) + +ManKeywordsTarget($(MANPATH)) + +HtmlManIndex + +/* Generate the "real" clean rules */ +#undef clean + +clean:: cleandir + +distclean:: cleandir + +#ifdef IHaveSubdirs +XCOMM ---------------------------------------------------------------------- +XCOMM rules for building in SUBDIRS - do not edit + +InstallSubdirs($(SUBDIRS)) +InstallManSubdirs($(SUBDIRS)) +InstallDriverSDKSubdirs($(SUBDIRS)) +CleanSubdirs($(SUBDIRS)) +TagSubdirs($(SUBDIRS)) +MakefileSubdirs($(SUBDIRS)) +IncludesSubdirs($(SUBDIRS)) + +/* "distclean" subdirectories */ +#undef BootstrapCleanSubdirs +#define BootstrapCleanSubdirs /**/ +#define clean distclean +CleanSubdirs($(SUBDIRS)) +#undef clean + +#endif + +#if !DontPreprocessManPages || defined(PreprocessManPages) + PREPROCESSMANPAGES = true +#endif +/* must be after all install.man rules that install anything */ +#ifndef MakeManKeywords +#define MakeManKeywords NO +#endif +#if MakeManKeywords /* typically only at top level */ +install.man:: man_keywords +#endif + +/* must be after all install.man rules that install anything */ +#ifndef MakeHtmlManIndex +#define MakeHtmlManIndex NO +#endif +#if MakeHtmlManIndex /* typically only at top level */ +install.man:: html_index +#endif + +#ifndef IHaveSubdirs +XCOMM ---------------------------------------------------------------------- +XCOMM empty rules for directories that do not have SUBDIRS - do not edit + +install:: + @echo "install in $(CURRENT_DIR) done" + +install.man:: + @echo "install.man in $(CURRENT_DIR) done" + +install.sdk:: + @echo "install.sdk in $(CURRENT_DIR) done" + +Makefiles:: + +includes:: + +depend:: + +#endif /* if subdirectory rules are needed */ + +#ifndef IHaveSpecialMakefileTarget +/* "distclean" also removes the Makefile and the depend file */ +distclean:: + RemoveFiles(Makefile DependFileName) +#endif + +XCOMM ---------------------------------------------------------------------- +XCOMM dependencies generated by makedepend +IncludeMakefile(DependFileName) |