111d341caSmrgXCOMM ----------------------------------------------------------------------
211d341caSmrgXCOMM Makefile generated from IMAKE_TEMPLATE and INCLUDE_IMAKEFILE
311d341caSmrgXCOMM $Xorg: Imake.tmpl,v 1.4 2000/08/17 19:41:46 cpqbld Exp $
44c61c93dSmrgXCOMM $XdotOrg: xc/config/cf/Imake.tmpl,v 1.9 2005/01/24 06:37:31 daniels Exp $
511d341caSmrgXCOMM
611d341caSmrgXCOMM
711d341caSmrgXCOMM
811d341caSmrgXCOMM
911d341caSmrgXCOMM $XFree86: xc/config/cf/Imake.tmpl,v 3.155 2003/12/24 18:58:41 dickey Exp $
1011d341caSmrgXCOMM ----------------------------------------------------------------------
1111d341caSmrg
1211d341caSmrg/*
1311d341caSmrg * generic imake template
1411d341caSmrg */
1511d341caSmrg
1611d341caSmrg/*
1711d341caSmrg * Modify Imake.cf when adding a new architecture, do not modify this file.
1811d341caSmrg * Platform-specific parameters may be set in the appropriate <vendor>.cf
1911d341caSmrg * configuration files.  Site-specific parameters should be set in the file
2011d341caSmrg * site.def.  Full rebuilds are recommended if any parameters are changed.
2111d341caSmrg * If your C preprocessor does not define any unique symbols, you will need
2211d341caSmrg * to set BOOTSTRAPCFLAGS when rebuilding imake (usually when doing
2311d341caSmrg * "make World" the first time).
2411d341caSmrg */
2511d341caSmrg
2611d341caSmrg#define ImakeConfigRelease 6
2711d341caSmrg
2811d341caSmrg#define	YES	1
2911d341caSmrg#define NO	0
3011d341caSmrg
3111d341caSmrg/* Ensure that "all" is the default target in the Makefile. */
3211d341caSmrgall::
3311d341caSmrg
3411d341caSmrg.SUFFIXES: .i
3511d341caSmrg
3611d341caSmrg/* Intercept clean rules for current directory */
3711d341caSmrg#undef clean
3811d341caSmrg#define clean cleandir
3911d341caSmrg
4011d341caSmrg#include <Imake.cf>
4111d341caSmrg
4211d341caSmrgXCOMM -----------------------------------------------------------------------
4311d341caSmrgXCOMM site-specific configuration parameters that need to come before
4411d341caSmrgXCOMM the platform-specific parameters - edit site.def to change
4511d341caSmrg#define BeforeVendorCF
4611d341caSmrg#include <site.def>
4711d341caSmrg#undef BeforeVendorCF
4811d341caSmrg
4911d341caSmrg#if defined(HasGcc3) && !defined(HasGcc2)
5011d341caSmrg# define HasGcc2 HasGcc3
5111d341caSmrg#endif
5211d341caSmrg#if defined(HasGcc2) && !defined(HasGcc)
5311d341caSmrg# define HasGcc HasGcc2
5411d341caSmrg#endif
5511d341caSmrg
5611d341caSmrg#ifndef HasCenterLineC
5711d341caSmrg#define HasCenterLineC NO
5811d341caSmrg#endif
5911d341caSmrg#ifndef HasCenterLineCplusplus
6011d341caSmrg#define HasCenterLineCplusplus NO
6111d341caSmrg#endif
6211d341caSmrg
6311d341caSmrg#ifndef HasClearmake
6411d341caSmrg# define HasClearmake NO
6511d341caSmrg#endif
6611d341caSmrg
6711d341caSmrg#ifndef ProPoliceSupport
6811d341caSmrg#define ProPoliceSupport NO
6911d341caSmrg#endif
7011d341caSmrg
7111d341caSmrg/*
7211d341caSmrg * ClearmakeOSName - insert the current OS type into the clearmake
7311d341caSmrg * build script, so .o files from different platforms cannot be winked in.
7411d341caSmrg * If clearmake finds the build script for two .o files is the same, it
7511d341caSmrg * will share the .o, even across different architectures.  Inserting the
7611d341caSmrg * O/S name into the build script in a comment prevents unwanted sharing.
7711d341caSmrg * Note the trailing double-@ in the macro: end a line using this macro
7811d341caSmrg * with backslash without the double-@ usually used.
7911d341caSmrg * Like this:
8011d341caSmrg *
8111d341caSmrg * #define SomeRule() @@\
8211d341caSmrg *     something or other @@\
8311d341caSmrg *     ClearmakeOSName \
8411d341caSmrg *     something else @@\
8511d341caSmrg *     and more
8611d341caSmrg */
8711d341caSmrg#ifndef ClearmakeOSName
8811d341caSmrg# if HasClearmake
8911d341caSmrg#  define ClearmakeOSName @ XCOMM $(OSNAME) @@
9011d341caSmrg# else
9111d341caSmrg#  define ClearmakeOSName /**/
9211d341caSmrg# endif
9311d341caSmrg#endif
9411d341caSmrg
9511d341caSmrg#if HasClearmake
9611d341caSmrg# ifndef MakeCmd
9711d341caSmrg#  define MakeCmd clearmake
9811d341caSmrg# endif
9911d341caSmrg#endif
10011d341caSmrg
10111d341caSmrg#if HasClearmake
10211d341caSmrgXCOMM ----------------------------------------------------------------------
10311d341caSmrg.c.o:
10411d341caSmrg	ClearmakeOSName	$(CC) -c $(CFLAGS) $*.c
10511d341caSmrg#endif
10611d341caSmrg
10711d341caSmrgXCOMM ----------------------------------------------------------------------
10811d341caSmrgXCOMM platform-specific configuration parameters - edit MacroFile to change
10911d341caSmrg#include MacroIncludeFile
11011d341caSmrg
11111d341caSmrgXCOMM ----------------------------------------------------------------------
11211d341caSmrgXCOMM site-specific configuration parameters that go after
11311d341caSmrgXCOMM the platform-specific parameters - edit site.def to change
11411d341caSmrg#define AfterVendorCF
11511d341caSmrg#include <site.def>
11611d341caSmrg#undef AfterVendorCF
11711d341caSmrg
11811d341caSmrg/*
11911d341caSmrg * defaults for various generic parameters; set in site.def if needed
12011d341caSmrg */
12111d341caSmrg
12211d341caSmrg/* the following are needed before we can include Imake.rules */
12311d341caSmrg
12411d341caSmrg#ifndef NothingOutsideProjectRoot
12511d341caSmrg#define NothingOutsideProjectRoot NO
12611d341caSmrg#endif
12711d341caSmrg
12811d341caSmrg#ifndef RemoveObsoleteFiles
12911d341caSmrg#define RemoveObsoleteFiles YES
13011d341caSmrg#endif
13111d341caSmrg
13211d341caSmrg#ifndef HasVarDirectory
13311d341caSmrg#define HasVarDirectory		YES
13411d341caSmrg#endif
13511d341caSmrg#ifndef UseEtcX11
13611d341caSmrg#define UseEtcX11		YES
13711d341caSmrg#endif
13811d341caSmrg#ifndef UseInstalledX11
13911d341caSmrg# define UseInstalledX11        NO
14011d341caSmrg#endif
14111d341caSmrg#ifdef UseInstalled
14211d341caSmrg# undef UseInstalledX11
14311d341caSmrg# define UseInstalledX11        YES
14411d341caSmrg#endif
14511d341caSmrg#if NothingOutsideProjectRoot
14611d341caSmrg#undef UseEtcX11
14711d341caSmrg#define UseEtcX11		NO
14811d341caSmrg#endif
14911d341caSmrg#ifndef UseSeparateConfDir
15011d341caSmrg#define UseSeparateConfDir	(UseEtcX11 || HasVarDirectory)
15111d341caSmrg#endif
15211d341caSmrg#if NothingOutsideProjectRoot
15311d341caSmrg#undef UseSeparateConfDir
15411d341caSmrg#define UseSeparateConfDir	NO
15511d341caSmrg#endif
15611d341caSmrg#ifndef SystemV
15711d341caSmrg#define SystemV			NO	/* SYSV (R3) */
15811d341caSmrg#endif
15911d341caSmrg#ifndef SystemV4
16011d341caSmrg#define SystemV4		NO	/* SVR4 */
16111d341caSmrg#endif
16211d341caSmrg#ifndef HasCodeCenter
16311d341caSmrg#define HasCodeCenter		NO
16411d341caSmrg#endif
16511d341caSmrg#ifndef HasSentinel
16611d341caSmrg#define HasSentinel		NO
16711d341caSmrg#endif
16811d341caSmrg#ifndef HasPurify
16911d341caSmrg#define HasPurify		NO
17011d341caSmrg#endif
17111d341caSmrg#ifndef HasTestCenter
17211d341caSmrg#define HasTestCenter		NO
17311d341caSmrg#endif
17411d341caSmrg#ifndef HasGnuMake
17511d341caSmrg#define HasGnuMake		NO
17611d341caSmrg#endif
17711d341caSmrg/*
17811d341caSmrg * The following fixes a glitch with GNU make -j
17911d341caSmrg */
18011d341caSmrg#ifndef ForceServerRemake
18111d341caSmrg#define ForceServerRemake	HasGnuMake
18211d341caSmrg#endif
18311d341caSmrg#ifndef HasBsdMake
18411d341caSmrg#define HasBsdMake		NO
18511d341caSmrg#endif
18611d341caSmrg#ifndef HasParallelMake
18711d341caSmrg#define HasParallelMake		NO
18811d341caSmrg#endif
18911d341caSmrg#ifndef RemoveTargetProgramByMoving
19011d341caSmrg#define RemoveTargetProgramByMoving NO
19111d341caSmrg#endif
19211d341caSmrg#ifndef DoRanlibCmd
19311d341caSmrg#if SystemV || SystemV4
19411d341caSmrg#define DoRanlibCmd NO
19511d341caSmrg#else
19611d341caSmrg#define DoRanlibCmd YES
19711d341caSmrg#endif
19811d341caSmrg#endif
19911d341caSmrg#ifndef ExecableScripts
20011d341caSmrg#if SystemV
20111d341caSmrg#define ExecableScripts		NO
20211d341caSmrg#else
20311d341caSmrg#define ExecableScripts		YES	/* kernel exec() can handle #! */
20411d341caSmrg#endif
20511d341caSmrg#endif
20611d341caSmrg
20711d341caSmrg#ifndef HasMakefileSafeInclude	    /* -include or sinclude in a Makefile */
20811d341caSmrg#if HasClearmake || HasBsdMake
20911d341caSmrg#define HasMakefileSafeInclude	YES
21011d341caSmrg#else
21111d341caSmrg#define HasMakefileSafeInclude	NO   /* see also vendor-specific .cf files */
21211d341caSmrg#endif
21311d341caSmrg#endif
21411d341caSmrg
21511d341caSmrg#ifndef HasSymLinks
21611d341caSmrg#define HasSymLinks YES
21711d341caSmrg#endif
21811d341caSmrg
21911d341caSmrg#ifndef HasPerl
22011d341caSmrg#define HasPerl			YES
22111d341caSmrg#endif
22211d341caSmrg
22311d341caSmrg#ifndef HasPerl5
22411d341caSmrg#define HasPerl5		HasPerl
22511d341caSmrg#endif
22611d341caSmrg
22711d341caSmrg#ifndef PerlCmd
22811d341caSmrg#define PerlCmd			perl
22911d341caSmrg#endif
23011d341caSmrg
23111d341caSmrg#ifndef PerlOptions
23211d341caSmrg#define PerlOptions		/**/
23311d341caSmrg#endif
23411d341caSmrg
23511d341caSmrg#ifndef PerlEnvSetup
23611d341caSmrg#define PerlEnvSetup		env LC_ALL=C
23711d341caSmrg#endif
23811d341caSmrg
23911d341caSmrg#ifndef BuildRman
24011d341caSmrg#define BuildRman 		NO
24111d341caSmrg#endif
24211d341caSmrg
24311d341caSmrg#ifndef HasGperf
24411d341caSmrg#define HasGperf		NO
24511d341caSmrg#endif
24611d341caSmrg
24711d341caSmrg#ifndef GperfCmd
24811d341caSmrg#define GperfCmd		gperf
24911d341caSmrg#endif
25011d341caSmrg
25111d341caSmrg#ifndef RmanCmd
25211d341caSmrg#if BuildRman
25311d341caSmrg#ifdef UseInstalled		/* assume BINDIR in path */
25411d341caSmrg#define RmanCmd rman
25511d341caSmrg#else
25611d341caSmrg#define RmanCmd $(TOP)/config/util/rman
25711d341caSmrg#endif
25811d341caSmrg#endif
25911d341caSmrg#endif
26011d341caSmrg
26111d341caSmrg#ifndef RmanOptions
26211d341caSmrg#if BuildRman
26311d341caSmrg#define RmanOptions -f HTML
26411d341caSmrg#endif
26511d341caSmrg#endif
26611d341caSmrg
26711d341caSmrg#ifndef BuildHtmlManPages
26811d341caSmrg#ifdef RmanCmd
26911d341caSmrg#define BuildHtmlManPages YES
27011d341caSmrg#else
27111d341caSmrg#define BuildHtmlManPages NO
27211d341caSmrg#endif
27311d341caSmrg#endif
27411d341caSmrg/* Can't do this while bootstrapping imake */
27511d341caSmrg#ifdef BootStrap
27611d341caSmrg#undef BuildHtmlManPages
27711d341caSmrg#define BuildHtmlManPages NO
27811d341caSmrg#endif
27911d341caSmrg
28011d341caSmrg#ifndef DontPreprocessManPages
28111d341caSmrg#ifdef UseInstalled
28211d341caSmrg#define DontPreprocessManPages YES
28311d341caSmrg#else
28411d341caSmrg#define DontPreprocessManPages NO
28511d341caSmrg#endif
28611d341caSmrg#endif
28711d341caSmrg
28811d341caSmrg#ifndef CompressManPages
28911d341caSmrg#define CompressManPages NO
29011d341caSmrg#endif
29111d341caSmrg
29211d341caSmrg#ifndef HasGroff
29311d341caSmrg#define HasGroff NO
29411d341caSmrg#endif
29511d341caSmrg#ifndef HasGroffHtml
29611d341caSmrg#define HasGroffHtml NO
29711d341caSmrg#endif
29811d341caSmrg
29911d341caSmrg#ifndef HasCookieMaker
30011d341caSmrg#define HasCookieMaker	NO
30111d341caSmrg#endif
30211d341caSmrg
30311d341caSmrg#ifndef DoLoadableServer
30411d341caSmrg#define DoLoadableServer NO
30511d341caSmrg#endif
30611d341caSmrg#ifndef MakeDllModules
30711d341caSmrg#define MakeDllModules NO
30811d341caSmrg#endif
30911d341caSmrg#ifndef StripInstalledPrograms
31011d341caSmrg#define StripInstalledPrograms NO	/* leave symbol table just in case */
31111d341caSmrg#endif
31211d341caSmrg#ifndef StaticNeedsPicForShared
31311d341caSmrg#define StaticNeedsPicForShared NO
31411d341caSmrg#endif
31511d341caSmrg
31611d341caSmrg#include <Imake.rules>
31711d341caSmrg
31811d341caSmrg#ifndef HasSharedLibraries
31911d341caSmrg#define HasSharedLibraries NO
32011d341caSmrg#endif
32111d341caSmrg#ifndef OSMajorVersion
32211d341caSmrg#define OSMajorVersion          0
32311d341caSmrg#endif
32411d341caSmrg#ifndef OSMinorVersion
32511d341caSmrg#define OSMinorVersion          0
32611d341caSmrg#endif
32711d341caSmrg#ifndef OSTeenyVersion
32811d341caSmrg#define OSTeenyVersion		0
32911d341caSmrg#endif
33011d341caSmrg#ifndef UnalignedReferencesAllowed
33111d341caSmrg#define UnalignedReferencesAllowed NO	/* if arbitrary deref is okay */
33211d341caSmrg#endif
33311d341caSmrg#ifndef AvoidNullMakeCommand
33411d341caSmrg#if !HasBsdMake
33511d341caSmrg#define AvoidNullMakeCommand NO
33611d341caSmrg#else
33711d341caSmrg#define AvoidNullMakeCommand YES
33811d341caSmrg#endif
33911d341caSmrg#endif
34011d341caSmrg#if AvoidNullMakeCommand
34111d341caSmrg#ifndef NullMakeCommand
34211d341caSmrg#define NullMakeCommand		@ echo -n
34311d341caSmrg#endif
34411d341caSmrg/*
34511d341caSmrg * An obscure bug in BSD4.3's original make causes it not to recognize a
34611d341caSmrg * macro definition if the macro name starts with a non-alpha and in
34711d341caSmrg * column one.
34811d341caSmrg */
34911d341caSmrg _NULLCMD_ = NullMakeCommand
35011d341caSmrg#endif
35111d341caSmrg
35211d341caSmrg#ifndef CrossCompiling
35311d341caSmrg#define CrossCompiling		NO
35411d341caSmrg#undef  CrossCompileDir
35511d341caSmrg#endif
35611d341caSmrg#ifndef BourneShell			/* to force shell in makefile */
35711d341caSmrg#define BourneShell		/bin/sh
35811d341caSmrg#endif
35911d341caSmrg#ifndef ConstructMFLAGS
36011d341caSmrg#if SystemV
36111d341caSmrg#define ConstructMFLAGS		YES	/* build MFLAGS from MAKEFLAGS */
36211d341caSmrg#else
36311d341caSmrg#define ConstructMFLAGS		NO	/* build MFLAGS from MAKEFLAGS */
36411d341caSmrg#endif
36511d341caSmrg#endif
36611d341caSmrg
36711d341caSmrg#ifndef ConstructMAKEFLAGS		/* needed on old BSD-based? */
36811d341caSmrg#define ConstructMAKEFLAGS	NO	/* build MAKEFLAGS from MFLAGS */
36911d341caSmrg#endif
37011d341caSmrg
37111d341caSmrg#ifndef HasLargeTmp
37211d341caSmrg#define HasLargeTmp		NO	/* be paranoid */
37311d341caSmrg#endif
37411d341caSmrg
37511d341caSmrg#ifndef HasMotif
37611d341caSmrg#define HasMotif		NO
37711d341caSmrg#endif
37811d341caSmrg#ifndef HasMotif2
37911d341caSmrg#define HasMotif2		NO      /* only if system has working Motif2 or OpenMotif */
38011d341caSmrg#endif
38111d341caSmrg#ifndef HasBSDAuth
38211d341caSmrg#define HasBSDAuth		NO
38311d341caSmrg#endif
38411d341caSmrg
38511d341caSmrg#ifndef HasBSD44Sockets
38611d341caSmrg#define HasBSD44Sockets		NO
38711d341caSmrg#endif
38811d341caSmrg#ifndef HasSockets
38911d341caSmrg#define HasSockets		YES
39011d341caSmrg#endif
39111d341caSmrg#ifndef HasStreams
39211d341caSmrg#define HasStreams		!HasSockets
39311d341caSmrg#endif
39411d341caSmrg#ifndef HasDECnet
39511d341caSmrg#define HasDECnet		NO
39611d341caSmrg#endif
39711d341caSmrg#ifndef HasPoll
39811d341caSmrg#if SystemV || SystemV4
39911d341caSmrg#define HasPoll			YES
40011d341caSmrg#else
40111d341caSmrg#define HasPoll			NO
40211d341caSmrg#endif
40311d341caSmrg#endif
40411d341caSmrg#ifndef HasVFork
40511d341caSmrg#if SystemV
40611d341caSmrg#define HasVFork		NO	/* not yet... */
40711d341caSmrg#else
40811d341caSmrg#define HasVFork		YES
40911d341caSmrg#endif
41011d341caSmrg#endif
41111d341caSmrg#ifndef HasSetProcTitle
41211d341caSmrg#define HasSetProcTitle		NO
41311d341caSmrg#endif
41411d341caSmrg#ifndef HasSetUserContext
41511d341caSmrg#define HasSetUserContext	NO
41611d341caSmrg#endif
41711d341caSmrg#ifndef HasLibCrypt
41811d341caSmrg#define HasLibCrypt		NO
41911d341caSmrg#endif
42011d341caSmrg#ifndef HasPutenv
42111d341caSmrg#define HasPutenv		NO	/* assume not */
42211d341caSmrg#endif
42311d341caSmrg/* setenv(3) and unsetenv(3) */
42411d341caSmrg#ifndef HasSetenv
42511d341caSmrg#define HasSetenv		YES	/* assume yes */
42611d341caSmrg#endif
42711d341caSmrg#ifndef HasVoidSignalReturn
42811d341caSmrg#define HasVoidSignalReturn	YES	/* assume yes */
42911d341caSmrg#endif
43011d341caSmrg#ifndef HasBsearch
43111d341caSmrg#define HasBsearch		YES	/* assume yes */
43211d341caSmrg#endif
43311d341caSmrg#ifndef HasSnprintf
43411d341caSmrg#define HasSnprintf		NO	/* assume not */
43511d341caSmrg#endif
43611d341caSmrg#ifndef HasStrlcat
43711d341caSmrg#define HasStrlcat		NO	/* assume not */
43811d341caSmrg#endif
43911d341caSmrg#ifndef HasDlopen
44011d341caSmrg#define HasDlopen		NO	/* assume not */
44111d341caSmrg#endif
44211d341caSmrg#ifndef HasWeakSymbols
44311d341caSmrg#define HasWeakSymbols		NO	/* assume not */
44411d341caSmrg#endif
44511d341caSmrg#ifndef HasIssetugid
44611d341caSmrg#define HasIssetugid		NO	/* assume not */
44711d341caSmrg#endif
44811d341caSmrg#ifndef HasGetresuid
44911d341caSmrg#define HasGetresuid		NO	/* assume not */
45011d341caSmrg#endif
45111d341caSmrg#ifndef HasMkstemp
45211d341caSmrg#define HasMkstemp		NO	/* assume not */
45311d341caSmrg#endif
45411d341caSmrg#ifndef HasUsableFileMmap
45511d341caSmrg#define HasUsableFileMmap	NO	/* assume not */
45611d341caSmrg#endif
45711d341caSmrg#ifndef HasGetIfAddrs
45811d341caSmrg#define HasGetIfAddrs		NO	/* assume not */
45911d341caSmrg#endif
46011d341caSmrg#ifndef HasStickyDirBit
46111d341caSmrg#define HasStickyDirBit		YES
46211d341caSmrg#endif
46311d341caSmrg#ifndef HasFchown
46411d341caSmrg#define HasFchown		YES
46511d341caSmrg#endif
46611d341caSmrg#ifndef HasPam
46711d341caSmrg#define HasPam			NO
46811d341caSmrg#endif
46911d341caSmrg#ifndef HasPamMisc
47011d341caSmrg#define HasPamMisc		NO
47111d341caSmrg#endif
47211d341caSmrg#ifndef HasGetpeereid
47311d341caSmrg#define HasGetpeereid		NO
47411d341caSmrg#endif
47511d341caSmrg#ifndef HasGetpeerucred
47611d341caSmrg#define HasGetpeerucred		NO
47711d341caSmrg#endif
47811d341caSmrg#ifndef NoStrstr
47911d341caSmrg#define NoStrstr		NO
48011d341caSmrg#endif
48111d341caSmrg#ifndef HasShadowPasswd
48211d341caSmrg#define HasShadowPasswd		NO
48311d341caSmrg#endif
48411d341caSmrg#ifndef HasBasename
48511d341caSmrg#define HasBasename		YES
48611d341caSmrg#endif
48711d341caSmrg#ifndef HasGetopt
48811d341caSmrg# if !defined(Win32Architecture) && !defined(OS2Architecture)
48911d341caSmrg#  define HasGetopt		YES
49011d341caSmrg# else
49111d341caSmrg#  define HasGetopt		NO
49211d341caSmrg# endif
49311d341caSmrg#endif
49411d341caSmrg#ifndef HasGetoptLong
49511d341caSmrg# define HasGetoptLong		NO
49611d341caSmrg#endif
49711d341caSmrg/* byte-order defaults */
49811d341caSmrg#ifndef ByteOrder
49911d341caSmrg#if defined(VaxArchitecture)
50011d341caSmrg#define ByteOrder		X_LITTLE_ENDIAN
50111d341caSmrg#elif defined(MipsArchitecture) && defined(MipselArchitecture)
50211d341caSmrg#define ByteOrder		X_LITTLE_ENDIAN
50311d341caSmrg#elif defined(MipsArchitecture)
50411d341caSmrg#define ByteOrder		X_BIG_ENDIAN
50511d341caSmrg#elif defined(i386Architecture)
50611d341caSmrg#define ByteOrder		X_LITTLE_ENDIAN
50711d341caSmrg#elif defined(ia64Architecture)
50811d341caSmrg#define ByteOrder		X_LITTLE_ENDIAN
50911d341caSmrg#elif defined(AMD64Architecture)
51011d341caSmrg#define ByteOrder		X_LITTLE_ENDIAN
51111d341caSmrg#elif defined(SparcArchitecture) || defined(Sparc64Architecture)
51211d341caSmrg#define ByteOrder		X_BIG_ENDIAN
51311d341caSmrg#elif defined(AlphaArchitecture)
51411d341caSmrg#define ByteOrder		X_LITTLE_ENDIAN
51511d341caSmrg#elif defined(Mc68000Architecture)
51611d341caSmrg#define ByteOrder		X_BIG_ENDIAN
51711d341caSmrg#elif defined(Mc68020Architecture)
51811d341caSmrg#define ByteOrder		X_BIG_ENDIAN
51911d341caSmrg#elif defined(Mc88000Architecture)
52011d341caSmrg#define ByteOrder		X_BIG_ENDIAN
52111d341caSmrg#elif defined(s390Architecture)
52211d341caSmrg#define ByteOrder		X_BIG_ENDIAN
52311d341caSmrg#elif defined(s390xArchitecture)
52411d341caSmrg#define ByteOrder		X_BIG_ENDIAN
52511d341caSmrg#elif defined(Arm32ebArchitecture)
52611d341caSmrg#define ByteOrder		X_BIG_ENDIAN
52711d341caSmrg#elif defined(Arm32Architecture)
52811d341caSmrg#define ByteOrder		X_LITTLE_ENDIAN
52911d341caSmrg#elif defined(RsArchitecture)
53011d341caSmrg#define ByteOrder		X_BIG_ENDIAN
53111d341caSmrg#elif defined(PpcArchitecture) || defined(Ppc64Architecture)
53211d341caSmrg#define ByteOrder		X_BIG_ENDIAN
53311d341caSmrg#elif defined(HPArchitecture)
53411d341caSmrg#define ByteOrder		X_BIG_ENDIAN
53511d341caSmrg#elif defined(SuperHArchitecture)
53611d341caSmrg#define ByteOrder		X_LITTLE_ENDIAN
53711d341caSmrg#elif defined(SuperHebArchitecture)
53811d341caSmrg#define ByteOrder		X_BIG_ENDIAN
53911d341caSmrg#endif
54011d341caSmrg#endif /* ByteOrder */
54111d341caSmrgX_BYTE_ORDER = ByteOrder
54211d341caSmrg
54311d341caSmrg#ifndef HasFortran
54411d341caSmrg#define HasFortran		NO
54511d341caSmrg#endif
54611d341caSmrg#ifndef HasGcc2ForCplusplus
54711d341caSmrg#define HasGcc2ForCplusplus	NO
54811d341caSmrg#endif
54911d341caSmrg#ifndef HasCplusplus
55011d341caSmrg#if HasGcc2ForCplusplus
55111d341caSmrg#define HasCplusplus		YES
55211d341caSmrg#else
55311d341caSmrg#define HasCplusplus		NO
55411d341caSmrg#endif
55511d341caSmrg#endif
55611d341caSmrg#ifndef HasMktemp
55711d341caSmrg#define HasMktemp		NO	/* if you have the mktemp command */
55811d341caSmrg#endif
55911d341caSmrg#ifndef HasNdbm
56011d341caSmrg#define HasNdbm			NO
56111d341caSmrg#endif
56211d341caSmrg#ifndef HasSecureRPC
56311d341caSmrg#define HasSecureRPC		NO	/* if you have Secure RPC */
56411d341caSmrg#endif
56511d341caSmrg#ifndef HasKrbIV
56611d341caSmrg#define HasKrbIV		NO	/* if you have Kerberos IV */
56711d341caSmrg#endif
56811d341caSmrg#ifndef HasKrb5
56911d341caSmrg#define HasKrb5			NO      /* if you have Kerberos V5 */
57011d341caSmrg#endif
57111d341caSmrg#ifndef HasLatex
57211d341caSmrg#define HasLatex		NO
57311d341caSmrg#endif
57411d341caSmrg#ifndef HasShm
57511d341caSmrg#if SystemV || SystemV4
57611d341caSmrg#define HasShm			YES
57711d341caSmrg#else
57811d341caSmrg#define HasShm			NO
57911d341caSmrg#endif
58011d341caSmrg#endif
58111d341caSmrg#ifndef HasCbrt
58211d341caSmrg#define HasCbrt			YES
58311d341caSmrg#endif
58411d341caSmrg#ifndef HasFfs
58511d341caSmrg#define HasFfs			YES
58611d341caSmrg#endif
58711d341caSmrg#ifndef HasZlib
58811d341caSmrg#define HasZlib			YES
58911d341caSmrg#endif
59011d341caSmrg#ifndef OsNeedZlibHeaders
59111d341caSmrg#define OsNeedZlibHeaders	!HasZlib
59211d341caSmrg#endif
59311d341caSmrg#if !HasZlib		/* if OS doesn't have it, we'll build it */
59411d341caSmrgXCOMM Building your own zlib can be a harmful security risk and is
59511d341caSmrgXCOMM deprecated; please strongly consider using vendor-supplied packages.
59611d341caSmrg#undef GzipLibrary	/* GzipLibrary was valid only if HasZlib */
59711d341caSmrg#endif
59811d341caSmrg#ifndef GzipLibrary	/* if OS config didn't define it, assume it's -lz */
59911d341caSmrg#define GzipLibrary -lz
60011d341caSmrg#endif
60111d341caSmrg/* If the system has the Freetype2 library - if NO, the copy in extras is built */
60211d341caSmrg#ifndef HasFreetype2
60311d341caSmrg#define HasFreetype2		YES
60411d341caSmrg#endif
60511d341caSmrg/* If the system has the Fontconfig library - if NO, the copy in extras is built  */
60611d341caSmrg#ifndef HasFontconfig
60711d341caSmrg#define HasFontconfig		NO
60811d341caSmrg#endif
60911d341caSmrg/* If the system has the PNG library - if NO, xcursorgen is not built */
61011d341caSmrg#ifndef HasLibpng
61111d341caSmrg#define HasLibpng		NO
61211d341caSmrg#endif
61311d341caSmrg#if HasKrbIV
61411d341caSmrg#ifndef KrbIVIncludes
61511d341caSmrg#define KrbIVIncludes /**/
61611d341caSmrg#endif
61711d341caSmrg#ifndef KrbIVLibraries
61811d341caSmrg#define KrbIVLibraries -lkrb -ldes
61911d341caSmrg#endif
62011d341caSmrg#endif
62111d341caSmrg#if HasKrb5
62211d341caSmrg#ifndef Krb5Includes
62311d341caSmrg#define Krb5Includes -I/krb5/include
62411d341caSmrg#endif
62511d341caSmrg#ifndef Krb5Libraries
62611d341caSmrg#define Krb5Libraries -L/krb5/lib -L/usr/isode/lib -lkrb5 -lcrypto -lisode -lcom_err -ldbm
62711d341caSmrg#endif
62811d341caSmrg#else
62911d341caSmrg#undef Krb5Includes
63011d341caSmrg#define Krb5Includes /**/
63111d341caSmrg#undef Krb5Libraries
63211d341caSmrg#define Krb5Libraries /**/
63311d341caSmrg#endif
63411d341caSmrg#ifndef UseGnuMalloc
63511d341caSmrg#define UseGnuMalloc		NO
63611d341caSmrg#endif
63711d341caSmrg#ifndef GnuMallocLibrary
63811d341caSmrg#define GnuMallocLibrary -lgmalloc
63911d341caSmrg#endif
64011d341caSmrg#ifndef MallocLibraries
64111d341caSmrg#if UseGnuMalloc
64211d341caSmrg#define MallocLibraries	GnuMallocLibrary
64311d341caSmrg#else
64411d341caSmrg#define MallocLibraries	/**/
64511d341caSmrg#endif
64611d341caSmrg#endif
64711d341caSmrg#ifndef HasPosixRegex		/* Most modern platforms have it */
64811d341caSmrg#define HasPosixRegex		YES
64911d341caSmrg#endif
65011d341caSmrg#ifndef RegexLibrary
65111d341caSmrg#if HasPosixRegex
65211d341caSmrg#define RegexLibrary		/**/
65311d341caSmrg#else
65411d341caSmrg#define RegexLibrary		-lregex
65511d341caSmrg#endif
65611d341caSmrg#endif
65711d341caSmrg#ifndef HasNCurses
65811d341caSmrg#define HasNCurses		NO
65911d341caSmrg#endif
66011d341caSmrg#ifndef NCursesLibName
66111d341caSmrg#if HasNCurses
66211d341caSmrg#define NCursesLibName	-lncurses
66311d341caSmrg#else
66411d341caSmrg#define NCursesLibName
66511d341caSmrg#endif
66611d341caSmrg#endif
66711d341caSmrg#ifdef NCursesLibDir
66811d341caSmrgNCURSESLIBDIR = NCursesLibDir
66911d341caSmrg#endif
67011d341caSmrg#ifdef NCursesIncDir
67111d341caSmrgNCURSESINCDIR = NCursesIncDir
67211d341caSmrg#endif
67311d341caSmrg#ifndef HasGlide2
67411d341caSmrg#define HasGlide2 NO
67511d341caSmrg#endif
67611d341caSmrg#ifndef Glide2IncDir
67711d341caSmrg#if HasGlide2
67811d341caSmrg#define Glide2IncDir /usr/include/glide
67911d341caSmrg#else
68011d341caSmrg#define Glide2IncDir
68111d341caSmrg#endif
68211d341caSmrg#endif
68311d341caSmrgGLIDE2INCDIR = Glide2IncDir
68411d341caSmrg#ifndef HasGlide3
68511d341caSmrg#define HasGlide3 NO
68611d341caSmrg#endif
68711d341caSmrg#ifndef Glide3IncDir
68811d341caSmrg#if HasGlide3
68911d341caSmrg#define Glide3IncDir /usr/include/glide3
69011d341caSmrg#else
69111d341caSmrg#define Glide3IncDir
69211d341caSmrg#endif
69311d341caSmrg#endif
69411d341caSmrgGLIDE3INCDIR = Glide3IncDir
69511d341caSmrg#ifndef Glide3LibName
69611d341caSmrg#if HasGlide3
69711d341caSmrg#define Glide3LibName glide3
69811d341caSmrg#else
69911d341caSmrg#define Glide3LibName
70011d341caSmrg#endif
70111d341caSmrg#endif
70211d341caSmrgGLIDE3LIBNAME = Glide3LibName
70311d341caSmrg#ifndef HasTk
70411d341caSmrg#define HasTk NO
70511d341caSmrg#endif
70611d341caSmrg#ifndef TkLibName
70711d341caSmrg#if HasTk
70811d341caSmrg#define TkLibName tk
70911d341caSmrg#else
71011d341caSmrg#define TkLibName
71111d341caSmrg#endif
71211d341caSmrg#endif
71311d341caSmrgTKLIBNAME = TkLibName
71411d341caSmrg#ifndef TkLibDir
71511d341caSmrg#if HasTk
71611d341caSmrg#define TkLibDir /usr/local/lib
71711d341caSmrg#else
71811d341caSmrg#define TkLibDir
71911d341caSmrg#endif
72011d341caSmrg#endif
72111d341caSmrgTKLIBDIR = TkLibDir
72211d341caSmrg#ifndef TkIncDir
72311d341caSmrg#if HasTk
72411d341caSmrg#define TkIncDir /usr/local/include
72511d341caSmrg#else
72611d341caSmrg#define TkIncDir
72711d341caSmrg#endif
72811d341caSmrg#endif
72911d341caSmrg#ifndef TkLibrary
73011d341caSmrg#ifdef HasTk
73111d341caSmrg#define TkLibrary Concat(-L,$(TKLIBDIR)) Concat(-l,$(TKLIBNAME))
73211d341caSmrg#else
73311d341caSmrg#define TkLibrary
73411d341caSmrg#endif
73511d341caSmrg#endif
73611d341caSmrg#ifndef HasTcl
73711d341caSmrg#define HasTcl NO
73811d341caSmrg#endif
73911d341caSmrg#ifndef TclLibName
74011d341caSmrg#if HasTcl
74111d341caSmrg#define TclLibName tcl
74211d341caSmrg#else
74311d341caSmrg#define TclLibName
74411d341caSmrg#endif
74511d341caSmrg#endif
74611d341caSmrgTCLLIBNAME = TclLibName
74711d341caSmrg#ifndef TclLibDir
74811d341caSmrg#if HasTcl
74911d341caSmrg#define TclLibDir /usr/local/lib
75011d341caSmrg#else
75111d341caSmrg#define TclLibDir
75211d341caSmrg#endif
75311d341caSmrg#endif
75411d341caSmrgTCLIBDIR = TclLibDir
75511d341caSmrg#ifndef TclIncDir
75611d341caSmrg#if HasTcl
75711d341caSmrg#define TclIncDir /usr/local/include
75811d341caSmrg#else
75911d341caSmrg#define TclIncDir
76011d341caSmrg#endif
76111d341caSmrg#endif
76211d341caSmrg#ifndef TclLibrary
76311d341caSmrg#ifdef HasTcl
76411d341caSmrg#define TclLibrary Concat(-L,$(TCLLIBDIR)) Concat(-l,$(TCLLIBNAME))
76511d341caSmrg#else
76611d341caSmrg#define TclLibrary
76711d341caSmrg#endif
76811d341caSmrg#endif
76911d341caSmrg#ifndef HasTsLib
77011d341caSmrg#define HasTsLib NO
77111d341caSmrg#endif
77211d341caSmrg/*
77311d341caSmrg * Libtool has two different behaviours for version numbers.
77411d341caSmrg * On platforms which support a minor number, the library
77511d341caSmrg * version is (version - minor).minor, on those that don't,
77611d341caSmrg * the version if version.0.  Linux and Darwin support minor
77711d341caSmrg * numbers; some BSDs do as well.  Set this to YES if libtool
77811d341caSmrg * uses minor numbers on your platform.
77911d341caSmrg */
78011d341caSmrg#ifndef LibtoolMinorVersions
78111d341caSmrg#define LibtoolMinorVersions	NO
78211d341caSmrg#endif
78311d341caSmrg#ifndef NeedConstPrototypes
78411d341caSmrg#define NeedConstPrototypes	NO
78511d341caSmrg#endif
78611d341caSmrg#ifndef NeedVarargsPrototypes
78711d341caSmrg#define NeedVarargsPrototypes	NO
78811d341caSmrg#endif
78911d341caSmrg#ifndef NeedNestedPrototypes
79011d341caSmrg#define NeedNestedPrototypes	NO
79111d341caSmrg#endif
79211d341caSmrg#ifndef NeedFunctionPrototypes
79311d341caSmrg#define NeedFunctionPrototypes (NeedVarargsPrototypes || NeedNestedPrototypes)
79411d341caSmrg#endif
79511d341caSmrg#ifndef NeedWidePrototypes
79611d341caSmrg#define NeedWidePrototypes	YES	/* mix and match ANSI-C, non-ANSI */
79711d341caSmrg#endif
79811d341caSmrg
79911d341caSmrg#ifndef UseCCMakeDepend			/* use slow cc -E script */
80011d341caSmrg#define UseCCMakeDepend NO
80111d341caSmrg#endif
80211d341caSmrg#ifndef UseGccMakeDepend		/* use slowish but correct gcc -M */
80311d341caSmrg#define UseGccMakeDepend NO
80411d341caSmrg#endif
80511d341caSmrg
80611d341caSmrg#ifndef CaseSensitiveFileSystem
80711d341caSmrg#define CaseSensitiveFileSystem YES
80811d341caSmrg#endif
80911d341caSmrg
81011d341caSmrg/* DefaultUsrBin is independent of ProjectRoot.
81111d341caSmrg   This is a directory where programs will be found even if PATH
81211d341caSmrg   is not set, for example when coming in remotely via rsh. */
81311d341caSmrg#ifndef DefaultUsrBin
81411d341caSmrg#define	DefaultUsrBin /usr/bin
81511d341caSmrg#endif
81611d341caSmrg
81711d341caSmrg#ifndef LibDirName
81811d341caSmrg# define LibDirName lib
81911d341caSmrg#endif
82011d341caSmrg
82111d341caSmrg#ifndef UsrLibDir
82211d341caSmrg#ifdef ProjectRoot
82311d341caSmrg#define UsrLibDir Concat3(ProjectRoot,/,LibDirName)
82411d341caSmrg#ifndef AlternateUsrLibDir
82511d341caSmrg#define AlternateUsrLibDir YES
82611d341caSmrg#endif
82711d341caSmrg#else
82811d341caSmrg#define UsrLibDir Concat3(/usr,/,LibDirName)
82911d341caSmrg#ifndef AlternateUsrLibDir
83011d341caSmrg#define AlternateUsrLibDir NO
83111d341caSmrg#endif
83211d341caSmrg#endif
83311d341caSmrg#else
83411d341caSmrg#ifndef AlternateUsrLibDir
83511d341caSmrg#define AlternateUsrLibDir YES
83611d341caSmrg#endif
83711d341caSmrg#endif
83811d341caSmrg#ifndef VarDirectory
83911d341caSmrg#ifdef ProjectVar
84011d341caSmrg#define VarDirectory ProjectVar
84111d341caSmrg#else
84211d341caSmrg#define VarDirectory /var
84311d341caSmrg#endif
84411d341caSmrg#endif
84511d341caSmrg#ifndef VarLibDir
84611d341caSmrg#define VarLibDir $(VARDIR)/lib
84711d341caSmrg#endif
84811d341caSmrg
84911d341caSmrg/*
85011d341caSmrg * SystemUsrLibDir is independent of ProjectRoot.  It is used primarily
85111d341caSmrg * to allow links for shared libraries in /usr/lib for compliance to
85211d341caSmrg * various standards (e.g., Linux/OpenGL).
85311d341caSmrg */
85411d341caSmrg#ifndef SystemUsrLibDir
85511d341caSmrg#define SystemUsrLibDir /usr/LibDirName
85611d341caSmrg#endif
85711d341caSmrg#ifndef SystemUsrIncDir
85811d341caSmrg#define SystemUsrIncDir /usr/include
85911d341caSmrg#endif
86011d341caSmrg
86111d341caSmrg#ifndef ShLibDir
86211d341caSmrg#define ShLibDir UsrLibDir
86311d341caSmrg#endif
86411d341caSmrg#ifndef IncRoot
86511d341caSmrg#ifdef ProjectRoot
86611d341caSmrg#define IncRoot Concat(ProjectRoot,/include)
86711d341caSmrg#ifndef AlternateIncRoot
86811d341caSmrg#define AlternateIncRoot YES
86911d341caSmrg#endif
87011d341caSmrg#else
87111d341caSmrg#define IncRoot /usr/include
87211d341caSmrg#ifndef AlternateIncRoot
87311d341caSmrg#define AlternateIncRoot NO
87411d341caSmrg#endif
87511d341caSmrg#endif
87611d341caSmrg#else
87711d341caSmrg#ifndef AlternateIncRoot
87811d341caSmrg#define AlternateIncRoot YES
87911d341caSmrg#endif
88011d341caSmrg#endif
88111d341caSmrg#ifndef LintlibDir
88211d341caSmrg#define LintlibDir $(USRLIBDIR)/lint
88311d341caSmrg#endif
88411d341caSmrg#ifndef SystemManDirectory
88511d341caSmrg#if SystemV4
88611d341caSmrg#define SystemManDirectory /usr/share/man
88711d341caSmrg#else
88811d341caSmrg#define SystemManDirectory /usr/man
88911d341caSmrg#endif
89011d341caSmrg#endif
89111d341caSmrg#ifndef ManDirectoryRoot
89211d341caSmrg#ifdef ProjectRoot
89311d341caSmrg#define ManDirectoryRoot Concat(ProjectRoot,/man)
89411d341caSmrg#else
89511d341caSmrg#define ManDirectoryRoot SystemManDirectory
89611d341caSmrg#endif
89711d341caSmrg#endif
89811d341caSmrg#ifndef ManPath
89911d341caSmrg#define ManPath ManDirectoryRoot
90011d341caSmrg#endif
90111d341caSmrg#ifndef ManSourcePath
90211d341caSmrg#define ManSourcePath $(MANPATH)/man
90311d341caSmrg#endif
90411d341caSmrg#ifndef ManDir
90511d341caSmrg#define ManDir $(MANSOURCEPATH)$(MANSUFFIX)
90611d341caSmrg#endif
90711d341caSmrg#ifndef LibmanDir
90811d341caSmrg#define LibmanDir $(MANSOURCEPATH)$(LIBMANSUFFIX)
90911d341caSmrg#endif
91011d341caSmrg#ifndef FileManDir
91111d341caSmrg#define FileManDir $(MANSOURCEPATH)$(FILEMANSUFFIX)
91211d341caSmrg#endif
91311d341caSmrg#ifndef MiscManDir
91411d341caSmrg#define MiscManDir $(MANSOURCEPATH)$(MISCMANSUFFIX)
91511d341caSmrg#endif
91611d341caSmrg#ifndef DriverManDir
91711d341caSmrg#define DriverManDir $(MANSOURCEPATH)$(DRIVERMANSUFFIX)
91811d341caSmrg#endif
91911d341caSmrg#ifndef AppLoadDefs
92011d341caSmrg#define AppLoadDefs -D__apploaddir__=$(XAPPLOADDIR)
92111d341caSmrg#endif
92211d341caSmrg#ifndef AppManDefs
92311d341caSmrg#define AppManDefs -D__appmansuffix__=$(MANSUFFIX)
92411d341caSmrg#endif
92511d341caSmrg#ifndef LibManDefs
92611d341caSmrg#define LibManDefs -D__libmansuffix__=$(LIBMANSUFFIX)
92711d341caSmrg#endif
92811d341caSmrg#ifndef FileManDefs
92911d341caSmrg#define FileManDefs -D__filemansuffix__=$(FILEMANSUFFIX)
93011d341caSmrg#endif
93111d341caSmrg#ifndef MiscManDefs
93211d341caSmrg#define MiscManDefs -D__miscmansuffix__=$(MISCMANSUFFIX)
93311d341caSmrg#endif
93411d341caSmrg#ifndef DriverManDefs
93511d341caSmrg#define DriverManDefs -D__drivermansuffix__=$(DRIVERMANSUFFIX)
93611d341caSmrg#endif
93711d341caSmrg#ifndef AdminManDefs
93811d341caSmrg#define AdminManDefs -D__adminmansuffix__=$(ADMINMANSUFFIX)
93911d341caSmrg#endif
94011d341caSmrg#ifndef ProjectManDefs
94111d341caSmrg#define ProjectManDefs -D__projectroot__=$(PROJECTROOT)
94211d341caSmrg#endif
94311d341caSmrg#ifndef XConfigFileManDefs
94411d341caSmrg#define XConfigFileManDefs -D__xconfigfile__=$(XCONFIGFILE)
94511d341caSmrg#endif
94611d341caSmrg#ifndef XConfigDirManDefs
94711d341caSmrg#define XConfigDirManDefs -D__xconfigdir__=$(XCONFIGDIR)
94811d341caSmrg#endif
94911d341caSmrg#ifndef XLogFileManDefs
95011d341caSmrg#define XLogFileManDefs -D__xlogfile__=$(XLOGFILE)
95111d341caSmrg#endif
95211d341caSmrg#ifndef XServerManDefs
95311d341caSmrg#define XServerManDefs -D__xservername__=$(XSERVERNAME)
95411d341caSmrg#endif
95511d341caSmrg
95611d341caSmrg#ifndef CompressManCmd
95711d341caSmrg#define CompressManCmd gzip -n
95811d341caSmrg#endif
95911d341caSmrg
96011d341caSmrg#ifndef HtmlIndexCmd
96111d341caSmrg#if BuildHtmlManPages
96211d341caSmrg#define HtmlIndexCmd $(MKHTMLINDEX)
96311d341caSmrg#endif
96411d341caSmrg#endif
96511d341caSmrg
96611d341caSmrg#ifndef LogDirectory
96711d341caSmrg#if HasVarDirectory
96811d341caSmrg#define LogDirectory $(VARDIR)/log
96911d341caSmrg#else
97011d341caSmrg#define LogDirectory /usr/adm
97111d341caSmrg#endif
97211d341caSmrg#endif
97311d341caSmrg
97411d341caSmrg#ifndef HasVarRun
97511d341caSmrg#define HasVarRun NO
97611d341caSmrg#endif
97711d341caSmrg
97811d341caSmrg#ifndef VarRunDirectory
97911d341caSmrg#if HasVarRun
98011d341caSmrg#define VarRunDirectory $(VARDIR)/run
98111d341caSmrg#endif
98211d341caSmrg#endif
98311d341caSmrg
98411d341caSmrg#ifndef HasVarDb
98511d341caSmrg#define HasVarDb NO
98611d341caSmrg#endif
98711d341caSmrg
98811d341caSmrg#ifndef VarDbDirectory
98911d341caSmrg#if HasVarDb
99011d341caSmrg#define VarDbDirectory $(VARDIR)/db
99111d341caSmrg#endif
99211d341caSmrg#endif
99311d341caSmrg
99411d341caSmrg#ifndef ConfigSrc
99511d341caSmrg#define ConfigSrc $(TOP)/config
99611d341caSmrg#endif
99711d341caSmrg#ifndef DependDir
99811d341caSmrg#if UseCCMakeDepend || UseGccMakeDepend
99911d341caSmrg#define DependDir $(CONFIGSRC)/util
100011d341caSmrg#else
100111d341caSmrg#define DependDir $(CONFIGSRC)/makedepend
100211d341caSmrg#endif
100311d341caSmrg#endif
100411d341caSmrg#ifndef UNCOMPRESSPATH
100511d341caSmrg#define UNCOMPRESSPATH /usr/ucb/uncompress /* obsolete */
100611d341caSmrg#endif
100711d341caSmrg#ifndef OptimizedCDebugFlags
100811d341caSmrg#define OptimizedCDebugFlags -O
100911d341caSmrg#endif
101011d341caSmrg#ifndef OptimizedCplusplusDebugFlags
101111d341caSmrg#define OptimizedCplusplusDebugFlags OptimizedCDebugFlags
101211d341caSmrg#endif
101311d341caSmrg#ifndef DebuggableCDebugFlags
101411d341caSmrg#define DebuggableCDebugFlags -g
101511d341caSmrg#endif
101611d341caSmrg#ifndef DebuggableCplusplusDebugFlags
101711d341caSmrg#define DebuggableCplusplusDebugFlags DebuggableCDebugFlags
101811d341caSmrg#endif
101911d341caSmrg#ifndef ProfiledCDebugFlags
102011d341caSmrg#define ProfiledCDebugFlags -pg
102111d341caSmrg#endif
102211d341caSmrg#ifndef ProfiledCplusplusDebugFlags
102311d341caSmrg#define ProfiledCplusplusDebugFlags ProfiledCDebugFlags
102411d341caSmrg#endif
102511d341caSmrg#ifndef NoOpCDebugFlags
102611d341caSmrg#define NoOpCDebugFlags /**/
102711d341caSmrg#endif
102811d341caSmrg#ifndef DefaultCDebugFlags
102911d341caSmrg#define DefaultCDebugFlags OptimizedCDebugFlags
103011d341caSmrg#endif
103111d341caSmrg#ifndef DefaultCplusplusDebugFlags
103211d341caSmrg#define DefaultCplusplusDebugFlags OptimizedCplusplusDebugFlags
103311d341caSmrg#endif
103411d341caSmrg#ifndef DefaultCCOptions
103511d341caSmrg#define DefaultCCOptions /* floating point, etc. */
103611d341caSmrg#endif
103711d341caSmrg#ifndef DefaultCplusplusOptions
103811d341caSmrg#define DefaultCplusplusOptions /* floating point, etc. */
103911d341caSmrg#endif
104011d341caSmrg#ifndef HardCodeLibdirFlag
104111d341caSmrg#define HardCodeLibdirFlag	/**/
104211d341caSmrg#endif
104311d341caSmrg#ifndef NoRConst
104411d341caSmrg#define NoRConst NO /* YES if const for structs of funcs is bad */
104511d341caSmrg#endif
104611d341caSmrg#ifndef InstPgmFlags
104711d341caSmrg# if CrossCompiling
104811d341caSmrg#  define InstPgmFlags
104911d341caSmrg# else
105011d341caSmrg#  define InstPgmFlags -s
105111d341caSmrg# endif
105211d341caSmrg#endif
105311d341caSmrg#ifndef InstBinFlags
105411d341caSmrg#define InstBinFlags -m 0755
105511d341caSmrg#endif
105611d341caSmrg#ifndef InstUidFlags
105711d341caSmrg#define InstUidFlags -m 4711
105811d341caSmrg#endif
105911d341caSmrg#ifndef InstLibFlags
106011d341caSmrg#define InstLibFlags -m 0644
106111d341caSmrg#endif
106211d341caSmrg#ifndef InstIncFlags
106311d341caSmrg#define InstIncFlags -m 0444
106411d341caSmrg#endif
106511d341caSmrg#ifndef InstManFlags
106611d341caSmrg#define InstManFlags -m 0444
106711d341caSmrg#endif
106811d341caSmrg#ifndef InstDatFlags
106911d341caSmrg#define InstDatFlags -m 0444
107011d341caSmrg#endif
107111d341caSmrg#ifndef InstKmemFlags     /* put -g kmem -m 2711 in site.def... */
107211d341caSmrg#define InstKmemFlags InstUidFlags
107311d341caSmrg#endif
107411d341caSmrg#ifndef ParallelMakeFlags
107511d341caSmrg#define ParallelMakeFlags /**/
107611d341caSmrg#endif
107711d341caSmrg#ifndef ArCmdBase
107811d341caSmrg#define ArCmdBase ar
107911d341caSmrg#endif
108011d341caSmrg#ifndef ArCmd
1081624e3943Smrg#if HasLargeTmp || SystemV4 || HasGnuAr
108211d341caSmrg#define ArCmd ArCmdBase cq
108311d341caSmrg#else
108411d341caSmrg#define ArCmd ArCmdBase clq
108511d341caSmrg#endif
108611d341caSmrg#endif
108711d341caSmrg#ifndef ArAddCmd
1088624e3943Smrg#if HasLargeTmp || SystemV4 || HasGnuAr
108911d341caSmrg#define ArAddCmd ArCmdBase ru
109011d341caSmrg#else
109111d341caSmrg#define ArAddCmd ArCmdBase rul
109211d341caSmrg#endif
109311d341caSmrg#endif
109411d341caSmrg#ifndef ArExtCmd
1095624e3943Smrg#if HasLargeTmp || SystemV4 || HasGnuAr
109611d341caSmrg#define ArExtCmd ArCmdBase x
109711d341caSmrg#else
109811d341caSmrg#define ArExtCmd ArCmdBase xl
109911d341caSmrg#endif
110011d341caSmrg#endif
110111d341caSmrg#ifndef BootstrapCFlags
110211d341caSmrg#define BootstrapCFlags /**/
110311d341caSmrg#endif
110411d341caSmrg#ifndef HasGcc3
110511d341caSmrg#define HasGcc3 NO
110611d341caSmrg#endif
110711d341caSmrg#ifndef HasGcc2
110811d341caSmrg#define HasGcc2 HasGcc3
110911d341caSmrg#endif
111011d341caSmrg#ifndef HasGcc
111111d341caSmrg#define HasGcc HasGcc2
111211d341caSmrg#endif
111311d341caSmrg#ifndef HasIntelC
111411d341caSmrg#define HasIntelC NO
111511d341caSmrg#endif
111611d341caSmrg#ifndef HasSunC
111711d341caSmrg#define HasSunC NO
111811d341caSmrg#endif
111911d341caSmrg#ifndef HasBrokenCCForLink
112011d341caSmrg#define HasBrokenCCForLink NO
112111d341caSmrg#endif
112211d341caSmrg#ifndef CcCmd
112311d341caSmrg#if HasGcc2
112411d341caSmrg#define CcCmd gcc -fpcc-struct-return
112511d341caSmrg#else
112611d341caSmrg#if HasGcc
112711d341caSmrg#define CcCmd gcc -fstrength-reduce -fpcc-struct-return
112811d341caSmrg#else
112911d341caSmrg#if HasCenterLineC
113011d341caSmrg#define CcCmd clcc
113111d341caSmrg#else
113211d341caSmrg#define CcCmd cc
113311d341caSmrg#endif
113411d341caSmrg#endif
113511d341caSmrg#endif
113611d341caSmrg#endif
113711d341caSmrg#ifndef CplusplusCmd
113811d341caSmrg#if HasGcc2ForCplusplus
113911d341caSmrg#define CplusplusCmd g++
114011d341caSmrg#else
114111d341caSmrg#define CplusplusCmd CC
114211d341caSmrg#endif
114311d341caSmrg#endif
114411d341caSmrg#ifndef CplusplusFilt
114511d341caSmrg# define CplusplusFilt	c++filt
114611d341caSmrg#endif
114711d341caSmrg#ifndef CplusplusLibC
114811d341caSmrg#if HasGcc2ForCplusplus
114911d341caSmrg#define CplusplusLibC	-lstdc++
115011d341caSmrg#else
115111d341caSmrg#define CplusplusLibC /**/
115211d341caSmrg#endif
115311d341caSmrg#endif
115411d341caSmrg#ifndef CplusplusStandardDefines
115511d341caSmrg#define CplusplusStandardDefines StandardDefines
115611d341caSmrg#endif
115711d341caSmrg#ifndef CplusplusExtraDefines
115811d341caSmrg#define CplusplusExtraDefines /**/
115911d341caSmrg#endif
116011d341caSmrg#ifndef CplusplusExtraIncludes
116111d341caSmrg#define CplusplusExtraIncludes /**/
116211d341caSmrg#endif
116311d341caSmrg#ifndef CplusplusDependIncludes
116411d341caSmrg#define CplusplusDependIncludes /**/
116511d341caSmrg#endif
116611d341caSmrg#ifndef CplusplusOptions
116711d341caSmrg#define CplusplusOptions DefaultCplusplusOptions
116811d341caSmrg#endif
116911d341caSmrg#ifndef CplusplusSpecialOptions
117011d341caSmrg#define CplusplusSpecialOptions /**/
117111d341caSmrg#endif
117211d341caSmrg#if HasFortran
117311d341caSmrg#ifndef FortranCmd
117411d341caSmrg#define FortranCmd f77
117511d341caSmrg#endif
117611d341caSmrg#ifndef FortranFlags
117711d341caSmrg#define FortranFlags /**/
117811d341caSmrg#endif
117911d341caSmrg#ifndef FortranDebugFlags	/* for -O or -g */
118011d341caSmrg#define FortranDebugFlags /**/
118111d341caSmrg#endif
118211d341caSmrg#endif
118311d341caSmrg#ifndef AsCmd
118411d341caSmrg#define AsCmd as
118511d341caSmrg#endif
118611d341caSmrg#ifndef AsmDefines
118711d341caSmrg#define AsmDefines /**/
118811d341caSmrg#endif
118911d341caSmrg#ifndef CompressCmd
119011d341caSmrg#define CompressCmd compress
119111d341caSmrg#endif
119211d341caSmrg#ifndef GzipCmd
119341fe0c2aSmrg#define GzipCmd gzip -n
119411d341caSmrg#endif
119511d341caSmrg#ifndef CppCmd
119611d341caSmrg#define CppCmd /LibDirName/cpp
119711d341caSmrg#endif
119811d341caSmrg#ifndef RawCppCmd
119911d341caSmrg#define RawCppCmd CppCmd -undef
120011d341caSmrg#endif
120111d341caSmrg#ifndef CppNoLineInfoOption
120211d341caSmrg#define CppNoLineInfoOption /**/
120311d341caSmrg#endif
120411d341caSmrg#ifndef PreProcessCmd
120511d341caSmrg#define PreProcessCmd CcCmd -E
120611d341caSmrg#endif
120711d341caSmrg#ifndef InstallCmd		/* hack should be in project */
120811d341caSmrg#if SystemV || SystemV4
120911d341caSmrg#ifdef UseInstalled		/* assume BINDIR in path */
121011d341caSmrg#define InstallCmd bsdinst
121111d341caSmrg#else
121211d341caSmrg#define InstallCmd $(SHELL) $(CONFIGSRC)/util/bsdinst.sh
121311d341caSmrg#endif
121411d341caSmrg#else
121511d341caSmrg#define InstallCmd install
121611d341caSmrg#endif
121711d341caSmrg#endif
121811d341caSmrg#ifndef InstallFlags
121911d341caSmrg#define InstallFlags -c
122011d341caSmrg#endif
122111d341caSmrg#ifndef StripCmd
122211d341caSmrg#define StripCmd strip
122311d341caSmrg#endif
122411d341caSmrg#ifndef LdCmd
122511d341caSmrg#define LdCmd ld
122611d341caSmrg#endif
122711d341caSmrg#ifndef M4Cmd
122811d341caSmrg#define M4Cmd m4
122911d341caSmrg#endif
123011d341caSmrg#ifndef M4Flags
123111d341caSmrg#define M4Flags /**/
123211d341caSmrg#endif
123311d341caSmrg#ifndef LexCmd
123411d341caSmrg#define LexCmd lex
123511d341caSmrg#endif
123611d341caSmrg#ifndef LexLib
123711d341caSmrg#define LexLib -ll
123811d341caSmrg#endif
123911d341caSmrg#ifndef HasFlex
124011d341caSmrg#define HasFlex NO
124111d341caSmrg#endif
124211d341caSmrg#ifndef YaccCmd
124311d341caSmrg#define YaccCmd yacc
124411d341caSmrg#endif
124511d341caSmrg#ifndef CplusplusYaccCmd
124611d341caSmrg#define CplusplusYaccCmd YaccCmd
124711d341caSmrg#endif
124811d341caSmrg#ifndef LintCmd
124911d341caSmrg#define LintCmd lint
125011d341caSmrg#endif
125111d341caSmrg#ifndef LintLibFlag
125211d341caSmrg#if SystemV || SystemV4
125311d341caSmrg#define LintLibFlag -o
125411d341caSmrg#else
125511d341caSmrg#define LintLibFlag -C
125611d341caSmrg#endif
125711d341caSmrg#endif
125811d341caSmrg#ifndef LintOpts
125911d341caSmrg#if SystemV || SystemV4
126011d341caSmrg#define LintOpts -bh
126111d341caSmrg#else
126211d341caSmrg#define LintOpts -axz
126311d341caSmrg#endif
126411d341caSmrg#endif
126511d341caSmrg#ifndef CpCmd
126611d341caSmrg#define CpCmd cp
126711d341caSmrg#endif
126811d341caSmrg#ifndef LnCmd /* can use cp instead of ln if necessary */
126911d341caSmrg#if HasSymLinks
127011d341caSmrg#define LnCmd ln -s
127111d341caSmrg#else
127211d341caSmrg#define LnCmd ln
127311d341caSmrg#endif
127411d341caSmrg#endif
127511d341caSmrg#ifndef MakeCmd
127611d341caSmrg#define MakeCmd make
127711d341caSmrg#endif
127811d341caSmrg#ifndef MvCmd
127911d341caSmrg#define MvCmd mv -f
128011d341caSmrg#endif
128111d341caSmrg#ifndef RanlibCmd
128211d341caSmrg#define RanlibCmd ranlib
128311d341caSmrg#endif
128411d341caSmrg#ifndef RanlibInstFlags
128511d341caSmrg#define RanlibInstFlags /**/
128611d341caSmrg#endif
128711d341caSmrg#ifndef RmCmd
128811d341caSmrg#define RmCmd rm -f
128911d341caSmrg#endif
129011d341caSmrg
129111d341caSmrg/*
129211d341caSmrg * Module cross-compile stuff.  By default they are defined to be exactly the
129311d341caSmrg * same as the non-module versions.
129411d341caSmrg */
129511d341caSmrg#ifndef ModuleCcCmd
129611d341caSmrg#define ModuleCcCmd CcCmd
129711d341caSmrg#endif
129811d341caSmrg#ifndef ModuleCppCmd
129911d341caSmrg#define ModuleCppCmd CppCmd
130011d341caSmrg#endif
130111d341caSmrg#ifndef ModuleCFlags
130211d341caSmrg#define ModuleCFlags $(CFLAGS)
130311d341caSmrg#endif
130411d341caSmrg#ifndef ModuleAsCmd
130511d341caSmrg#define ModuleAsCmd AsCmd
130611d341caSmrg#endif
130711d341caSmrg#ifndef ModuleAsFlags
130811d341caSmrg#define ModuleAsFlags /**/
130911d341caSmrg#endif
131011d341caSmrg#ifndef ModuleLdCmd
131111d341caSmrg#define ModuleLdCmd LdCmd
131211d341caSmrg#endif
131311d341caSmrg#ifndef ModuleLdFlags
131411d341caSmrg#define ModuleLdFlags /**/
131511d341caSmrg#endif
131611d341caSmrg#ifndef ModuleLdCombineFlags
131711d341caSmrg#define ModuleLdCombineFlags LdCombineFlags
131811d341caSmrg#endif
131911d341caSmrg#ifndef ModuleArCmd
132011d341caSmrg#define ModuleArCmd ArCmd
132111d341caSmrg#endif
132211d341caSmrg#ifndef NeedModuleRanlib
132311d341caSmrg#define NeedModuleRanlib NO
132411d341caSmrg#endif
132511d341caSmrg#ifndef ModuleRanlibCmd
132611d341caSmrg#define ModuleRanlibCmd RanlibCmd
132711d341caSmrg#endif
132811d341caSmrg
132911d341caSmrg#ifndef HostCcCmd
133011d341caSmrg#define HostCcCmd cc
133111d341caSmrg#endif
133211d341caSmrg#ifndef StandardIncludes	/* for platform-specifics */
133311d341caSmrg#define StandardIncludes /**/
133411d341caSmrg#endif
133511d341caSmrg#ifndef StandardDefines
133611d341caSmrg#if SystemV
133711d341caSmrg#define StandardDefines -DSYSV
133811d341caSmrg#else
133911d341caSmrg#if SystemV4
134011d341caSmrg#define StandardDefines -DSVR4
134111d341caSmrg#else
134211d341caSmrg#define StandardDefines /**/
134311d341caSmrg#endif
134411d341caSmrg#endif
134511d341caSmrg#endif
134611d341caSmrg#ifndef StandardCppOptions
134711d341caSmrg#define StandardCppOptions /**/
134811d341caSmrg#endif
134911d341caSmrg#ifndef StandardCppDefines
135011d341caSmrg#define StandardCppDefines StandardCppOptions StandardDefines
135111d341caSmrg#endif
135211d341caSmrg#ifndef Malloc0ReturnsNull
135311d341caSmrg#if UseGnuMalloc
135411d341caSmrg#define Malloc0ReturnsNull YES
135511d341caSmrg#else
135611d341caSmrg#define Malloc0ReturnsNull NO
135711d341caSmrg#endif
135811d341caSmrg#endif
135911d341caSmrg#if Malloc0ReturnsNull
136011d341caSmrg#ifndef Malloc0ReturnsNullDefines
136111d341caSmrg#define Malloc0ReturnsNullDefines -DMALLOC_0_RETURNS_NULL
136211d341caSmrg#endif
136311d341caSmrg#endif
136411d341caSmrg#ifndef ToolkitStringsABIOptions
136511d341caSmrg#define ToolkitStringsABIOptions /**/
136611d341caSmrg#endif
136711d341caSmrg#ifndef NdbmDefines
136811d341caSmrg#if HasNdbm
136911d341caSmrg#define NdbmDefines -DNDBM
137011d341caSmrg#else
137111d341caSmrg#define NdbmDefines /**/
137211d341caSmrg#endif
137311d341caSmrg#endif
137411d341caSmrg#ifndef HasLdRunPath
137511d341caSmrg#define HasLdRunPath NO
137611d341caSmrg#endif
137711d341caSmrg#ifndef LdPreLib
137811d341caSmrg# if !defined(UseInstalled)
137911d341caSmrg#  define LdPreLib -L$(BUILDLIBDIR)
138011d341caSmrg# else
138111d341caSmrg# if AlternateUsrLibDir
138211d341caSmrg#  define LdPreLib -L$(USRLIBDIR)
138311d341caSmrg# else
138411d341caSmrg# define LdPreLib /**/
138511d341caSmrg# endif
138611d341caSmrg#endif
138711d341caSmrg#endif
138811d341caSmrg#ifndef LdPostLib
138911d341caSmrg#if !defined(UseInstalled) && AlternateUsrLibDir && !HasLdRunPath && !defined(CrossCompileDir)
139011d341caSmrg#define LdPostLib -L$(USRLIBDIR)
139111d341caSmrg#else
139211d341caSmrg#define LdPostLib /**/
139311d341caSmrg#endif
139411d341caSmrg#endif
139511d341caSmrg#ifndef MathLibrary
139611d341caSmrg#define MathLibrary -lm
139711d341caSmrg#endif
139811d341caSmrg#ifndef DBMLibrary
139911d341caSmrg#define DBMLibrary -ldbm
140011d341caSmrg#endif
140111d341caSmrg#ifndef DlLibrary
140211d341caSmrg#define DlLibrary -ldl
140311d341caSmrg#endif
140411d341caSmrg#ifndef ExtraLibraries
140511d341caSmrg#if SystemV4
140611d341caSmrg#if HasSockets
140711d341caSmrg#define ExtraLibraries -lsocket -lnsl -lw
140811d341caSmrg#else
140911d341caSmrg#define ExtraLibraries -lnsl -lw
141011d341caSmrg#endif
141111d341caSmrg#else
141211d341caSmrg#define ExtraLibraries /**/
141311d341caSmrg#endif
141411d341caSmrg#endif
141511d341caSmrg#ifndef ExtraLoadOptions
141611d341caSmrg#define ExtraLoadOptions /**/
141711d341caSmrg#endif
141811d341caSmrg#ifndef ExtraLoadFlags
141911d341caSmrg#define ExtraLoadFlags /**/
142011d341caSmrg#endif
142111d341caSmrg#ifndef LdCombineFlags
142211d341caSmrg#if SystemV4
142311d341caSmrg#define LdCombineFlags -r
142411d341caSmrg#else
142511d341caSmrg#define LdCombineFlags -X -r
142611d341caSmrg#endif
142711d341caSmrg#endif
142811d341caSmrg#ifndef LdStripFlags
142911d341caSmrg#define LdStripFlags -x
143011d341caSmrg#endif
143111d341caSmrg#ifndef TagsCmd
143211d341caSmrg#define TagsCmd ctags
143311d341caSmrg#endif
143411d341caSmrg#ifndef LoaderLibPrefix
143511d341caSmrg#define LoaderLibPrefix /**/
143611d341caSmrg#endif
143711d341caSmrg#ifndef ImakeCmd
143811d341caSmrg#ifdef UseInstalled		/* assume BINDIR in path */
143911d341caSmrg#define ImakeCmd imake
144011d341caSmrg#else
144111d341caSmrg#define ImakeCmd $(IMAKESRC)/imake
144211d341caSmrg#endif
144311d341caSmrg#endif
144411d341caSmrg#ifndef ImakeWarningFlags
144511d341caSmrg#define ImakeWarningFlags	/* Nothing */
144611d341caSmrg#endif
144711d341caSmrg#ifndef DependCmd
144811d341caSmrg#if UseGccMakeDepend
144911d341caSmrg#ifdef UseInstalled		/* assume BINDIR in path */
145011d341caSmrg#define DependCmd gccmakedep
145111d341caSmrg#else
145211d341caSmrg#define DependCmd $(DEPENDSRC)/gccmakedep
145311d341caSmrg#endif
145411d341caSmrg#elif UseCCMakeDepend
145511d341caSmrg#ifdef UseInstalled		/* assume BINDIR in path */
145611d341caSmrg#define DependCmd ccmakedep
145711d341caSmrg#else
145811d341caSmrg#define DependCmd $(DEPENDSRC)/ccmakedep
145911d341caSmrg#endif
146011d341caSmrg#else
146111d341caSmrg#ifdef UseInstalled		/* assume BINDIR in path */
146211d341caSmrg#define DependCmd makedepend
146311d341caSmrg#else
146411d341caSmrg#define DependCmd $(DEPENDSRC)/makedepend
146511d341caSmrg#endif
146611d341caSmrg#endif
146711d341caSmrg#endif
146811d341caSmrg#ifndef DependDefines
146911d341caSmrg# if UseCCMakeDepend || UseGccMakeDepend
147011d341caSmrg#  define DependDefines /**/
147111d341caSmrg# else
147211d341caSmrg#  define DependDefines -DUSE_MAKEDEPEND
147311d341caSmrg# endif
147411d341caSmrg#endif
147511d341caSmrg#ifndef DependFlags
147611d341caSmrg#define DependFlags /**/
147711d341caSmrg#endif
147811d341caSmrg#ifndef DependFileName
147911d341caSmrg#if !HasBsdMake
148011d341caSmrg#define DependFileName Makefile.dep
148111d341caSmrg#else
148211d341caSmrg#define DependFileName .depend
148311d341caSmrg#endif
148411d341caSmrg#endif
148511d341caSmrg#ifndef ExportListCmd
148611d341caSmrg# ifndef ExportListGenSource
148711d341caSmrg#  define ExportListCmd		/**/
148811d341caSmrg# elif !defined(UseInstalled)
148911d341caSmrg#  define ExportListCmd		$(CONFIGSRC)/util/exportlistgen
149011d341caSmrg# else
149111d341caSmrg#  define ExportListCmd		exportlistgen
149211d341caSmrg# endif
149311d341caSmrg#endif
149411d341caSmrg#ifndef MkdirHierCmd
149511d341caSmrg#ifdef UseInstalled		/* assume BINDIR in path */
149611d341caSmrg#define MkdirHierCmd mkdirhier
149711d341caSmrg#else
149811d341caSmrg#define MkdirHierCmd $(SHELL) $(CONFIGSRC)/util/mkdirhier.sh
149911d341caSmrg#endif
150011d341caSmrg#endif
150111d341caSmrg#ifndef RevPathCmd
150211d341caSmrg#ifdef UseInstalled		/* assume BINDIR in path */
150311d341caSmrg#define RevPathCmd revpath
150411d341caSmrg#else
150511d341caSmrg#define RevPathCmd $(CONFIGSRC)/util/revpath
150611d341caSmrg#endif
150711d341caSmrg#endif
150811d341caSmrg#ifndef TroffCmd
150911d341caSmrg#if HasGroff
151011d341caSmrg#define TroffCmd groff -Tps
151111d341caSmrg#else
151211d341caSmrg#define TroffCmd troff -Tps
151311d341caSmrg#endif
151411d341caSmrg#endif
151511d341caSmrg#ifndef NroffCmd
151611d341caSmrg#define NroffCmd nroff
151711d341caSmrg#endif
151811d341caSmrg#ifndef HTMLroffCmd
151911d341caSmrg#if HasGroff && HasGroffHtml
152011d341caSmrg#define HTMLroffCmd groff -Thtml
152111d341caSmrg#endif
152211d341caSmrg#endif
152311d341caSmrg#ifdef HTMLroffCmd
152411d341caSmrg#ifndef DocFilesToClean
152511d341caSmrg#define DocFilesToClean grohtml*.png *-auto-*.png
152611d341caSmrg#endif
152711d341caSmrg#endif
152811d341caSmrg#ifndef MsMacros
152911d341caSmrg#define MsMacros -ms
153011d341caSmrg#endif
153111d341caSmrg#ifndef ManMacros
153211d341caSmrg#define ManMacros -man
153311d341caSmrg#endif
153411d341caSmrg#ifndef TblCmd
153511d341caSmrg#define TblCmd tbl
153611d341caSmrg#endif
153711d341caSmrg#ifndef EqnCmd
153811d341caSmrg#define EqnCmd eqn
153911d341caSmrg#endif
154011d341caSmrg#ifndef NeqnCmd
154111d341caSmrg#define NeqnCmd neqn
154211d341caSmrg#endif
154311d341caSmrg#ifndef ColCmd
154411d341caSmrg#define ColCmd col
154511d341caSmrg#endif
154611d341caSmrg#ifndef ColFlags
154711d341caSmrg#define ColFlags -b
154811d341caSmrg#endif
154911d341caSmrg#ifndef DvipsCmd
155011d341caSmrg#define DvipsCmd dvips
155111d341caSmrg#endif
155211d341caSmrg#ifndef LatexCmd
155311d341caSmrg#define LatexCmd latex
155411d341caSmrg#endif
155511d341caSmrg#ifndef HasPdfLatex
155611d341caSmrg#define HasPdfLatex NO
155711d341caSmrg#endif
155811d341caSmrg#ifndef PdfLatexCmd
155911d341caSmrg#define PdfLatexCmd pdflatex
156011d341caSmrg#endif
156111d341caSmrg#ifndef GhostScriptCmd
156211d341caSmrg#define GhostScriptCmd gs
156311d341caSmrg#endif
156411d341caSmrg#ifndef HasGhostPCL
156511d341caSmrg#define HasGhostPCL NO
156611d341caSmrg#endif
156711d341caSmrg#ifndef HasGhostScript
156811d341caSmrg#define HasGhostScript NO
156911d341caSmrg#endif
157011d341caSmrg#ifndef BuildPDFdocs
157111d341caSmrg#define BuildPDFdocs (HasGhostScript)
157211d341caSmrg#endif
157311d341caSmrg#if BuildPDFdocs
157411d341caSmrg#define PsToPdfCmd GhostScriptCmd -q -sOutputFile=- -sDEVICE=pdfwrite -dSAFER -dNOPAUSE -
157511d341caSmrg#endif
157611d341caSmrg#if HasSentinel
157711d341caSmrg#ifndef SentinelCmd
157811d341caSmrg#define SentinelCmd sentinel
157911d341caSmrg#endif
158011d341caSmrg#ifndef SentinelOptions
158111d341caSmrg#define SentinelOptions /**/
158211d341caSmrg#endif
158311d341caSmrg#endif
158411d341caSmrg#if HasPurify
158511d341caSmrg#ifndef PurifyCmd
158611d341caSmrg#define PurifyCmd purify
158711d341caSmrg#endif
158811d341caSmrg#ifndef PurifyOptions
158911d341caSmrg#define PurifyOptions /**/
159011d341caSmrg#endif
159111d341caSmrg#endif
159211d341caSmrg#if HasTestCenter
159311d341caSmrg#ifndef ProofCmd
159411d341caSmrg#define ProofCmd proof
159511d341caSmrg#endif
159611d341caSmrg#ifndef ProofOptions
159711d341caSmrg#define ProofOptions /**/
159811d341caSmrg#endif
159911d341caSmrg#endif
160011d341caSmrg#ifndef PathSeparator
160111d341caSmrg#define PathSeparator /
160211d341caSmrg#endif
160311d341caSmrg#ifndef Osuf
160411d341caSmrg#define Osuf o
160511d341caSmrg#endif
160611d341caSmrg#ifndef CCsuf
160711d341caSmrg#define CCsuf cc
160811d341caSmrg#endif
160911d341caSmrg#ifndef SHsuf
161011d341caSmrg#define SHsuf sh
161111d341caSmrg#endif
161211d341caSmrg#ifndef ManSuffix
161311d341caSmrg#define ManSuffix	n		/* use just one tab or cpp will die */
161411d341caSmrg#endif
161511d341caSmrg#ifndef LibManSuffix
161611d341caSmrg#define LibManSuffix	3		/* use just one tab or cpp will die */
161711d341caSmrg#endif
161811d341caSmrg#ifndef FileManSuffix
161911d341caSmrg#if SystemV || SystemV4 || defined(OSF1Architecture)
162011d341caSmrg#define FileManSuffix	4		/* use just one tab or cpp will die */
162111d341caSmrg#else
162211d341caSmrg#define FileManSuffix	5		/* use just one tab or cpp will die */
162311d341caSmrg#endif
162411d341caSmrg#endif
162511d341caSmrg#ifndef MiscManSuffix
162611d341caSmrg#if SystemV || SystemV4 || defined(OSF1Architecture)
162711d341caSmrg#define MiscManSuffix	5		/* use just one tab or cpp will die */
162811d341caSmrg#else
162911d341caSmrg#define MiscManSuffix	7		/* use just one tab or cpp will die */
163011d341caSmrg#endif
163111d341caSmrg#endif
163211d341caSmrg#ifndef DriverManSuffix
163311d341caSmrg#if SystemV || SystemV4 || defined(OSF1Architecture)
163411d341caSmrg#define DriverManSuffix	7		/* use just one tab or cpp will die */
163511d341caSmrg#else
163611d341caSmrg#define DriverManSuffix	4		/* use just one tab or cpp will die */
163711d341caSmrg#endif
163811d341caSmrg#endif
163911d341caSmrg#ifndef AdminManSuffix
164011d341caSmrg#if SystemV || SystemV4
164111d341caSmrg#define AdminManSuffix	1m		/* use just one tab or cpp will die */
164211d341caSmrg#else
164311d341caSmrg#define AdminManSuffix	8		/* use just one tab or cpp will die */
164411d341caSmrg#endif
164511d341caSmrg#endif
164611d341caSmrg#ifndef ExpandManNames
164711d341caSmrg#if SystemV
164811d341caSmrg#define ExpandManNames NO
164911d341caSmrg#else
165011d341caSmrg#define ExpandManNames YES
165111d341caSmrg#endif
165211d341caSmrg#endif
165311d341caSmrg#ifndef ManSrcSuffix
165411d341caSmrg#define ManSrcSuffix	man
165511d341caSmrg#endif
165611d341caSmrg#ifndef ManNewSuffix
165711d341caSmrg#define ManNewSuffix	_man
165811d341caSmrg#endif
165911d341caSmrg#ifndef TOPDIR
166011d341caSmrg#define TOPDIR .
166111d341caSmrg#endif
166211d341caSmrg#ifndef CURDIR
166311d341caSmrg#define CURDIR .
166411d341caSmrg#endif
166511d341caSmrg#ifndef SiteIConfigFiles
166611d341caSmrg#define SiteIConfigFiles /**/
166711d341caSmrg#endif
166811d341caSmrg#ifndef OtherIConfigFiles
166911d341caSmrg#define OtherIConfigFiles /**/
167011d341caSmrg#endif
167111d341caSmrg#ifndef ExtraFilesToClean
167211d341caSmrg#define ExtraFilesToClean /**/
167311d341caSmrg#endif
167411d341caSmrg#ifndef DocFilesToClean
167511d341caSmrg#define DocFilesToClean /**/
167611d341caSmrg#endif
167711d341caSmrg#ifndef FilesToClean
167811d341caSmrg#define FilesToClean *.CKP *.ln *.BAK *.bak *.Osuf core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut
167911d341caSmrg#endif
168011d341caSmrg
168111d341caSmrg#ifdef CrossCompileDir
168211d341caSmrg# ifndef StripPath
168311d341caSmrg#  define StripPath(x) `echo x|sed "s%.*/%%"`
168411d341caSmrg# endif
168511d341caSmrg# ifndef CrossArCmd
168611d341caSmrg#  define CrossArCmd Concat3(CrossCompileDir,/,StripPath(ArCmd))
168711d341caSmrg# endif
168811d341caSmrg# ifndef CrossCcCmd
168911d341caSmrg#  define CrossCcCmd Concat3(CrossCompileDir,/,StripPath(CcCmd))
169011d341caSmrg# endif
169111d341caSmrg# ifndef CrossAsCmd
169211d341caSmrg#  define CrossAsCmd Concat3(CrossCompileDir,/,StripPath(AsCmd))
169311d341caSmrg# endif
169411d341caSmrg# ifdef HasFortran
169511d341caSmrg#  ifndef CrossFortranCmd
169611d341caSmrg#   define CrossFortranCmd Concat3(CrossCompileDir,/,StripPath(FortranCmd))
169711d341caSmrg#  endif
169811d341caSmrg# endif
169911d341caSmrg# ifndef CrossCplusplusCmd
170011d341caSmrg#  define CrossCplusplusCmd Concat3(CrossCompileDir,/,StripPath(CplusplusCmd))
170111d341caSmrg# endif
170211d341caSmrg# ifndef CrossCppCmd
170311d341caSmrg#  define CrossCppCmd Concat3(CrossCompileDir,/,StripPath(CppCmd))
170411d341caSmrg# endif
170511d341caSmrg# ifndef CrossRawCppCmdCmd
170611d341caSmrg#  define CrossRawCppCmd Concat3(CrossCompileDir,/,StripPath(RawCppCmd))
170711d341caSmrg# endif
170811d341caSmrg# ifndef CrossPreProcessCmd
170911d341caSmrg#  define CrossPreProcessCmd Concat3(CrossCompileDir,/,StripPath(PreProcessCmd))
171011d341caSmrg# endif
171111d341caSmrg# ifndef CrossAsCmd
171211d341caSmrg#  define CrossAsCmd Concat3(CrossCompileDir,/,StripPath(AsCmd))
171311d341caSmrg# endif
171411d341caSmrg# ifndef CrossLdCmd
171511d341caSmrg#  define CrossLdCmd Concat3(CrossCompileDir,/,StripPath(LdCmd))
171611d341caSmrg# endif
171711d341caSmrg# ifndef CrossModuleLdCmd
171811d341caSmrg#  define CrossModuleLdCmd CrossLdCmd
171911d341caSmrg# endif
172011d341caSmrg# ifndef CrossLintCmd
172111d341caSmrg#  define CrossLintCmd Concat3(CrossCompileDir,/,StripPath(LintCmd))
172211d341caSmrg# endif
172311d341caSmrg# ifndef CrossRanlibCmd
172411d341caSmrg#  define CrossRanlibCmd Concat3(CrossCompileDir,/,StripPath(RanlibCmd))
172511d341caSmrg# endif
172611d341caSmrg# ifndef CrossModuleCcCmd
172711d341caSmrg#  define CrossModuleCcCmd Concat3(CrossCompileDir,/,StripPath(ModuleCcCmd))
172811d341caSmrg# endif
172911d341caSmrg# ifndef CrossAsCmd
173011d341caSmrg#  define CrossAsCmd Concat3(CrossCompileDir,/,StripPath(AsCmd))
173111d341caSmrg# endif
173211d341caSmrg# ifndef CrossStripCmd
173311d341caSmrg#  define CrossStripCmd Concat3(CrossCompileDir,/,StripPath(StripCmd))
173411d341caSmrg# endif
173511d341caSmrg#endif
173611d341caSmrg
173711d341caSmrg          PATHSEP = PathSeparator
173811d341caSmrg            SHELL = BourneShell
173911d341caSmrg
174011d341caSmrg              TOP = TOPDIR
174111d341caSmrg      CURRENT_DIR = CURDIR
174211d341caSmrg
174311d341caSmrg            IMAKE = ImakeCmd
174411d341caSmrg           DEPEND = DependCmd
174511d341caSmrg        MKDIRHIER = MkdirHierCmd
174611d341caSmrg          REVPATH = RevPathCmd
174711d341caSmrg    EXPORTLISTGEN = ExportListCmd
174811d341caSmrg             RMAN = RmanCmd
174911d341caSmrg     RMANBASENAME = HostProgramTargetName(rman)
175011d341caSmrg      RMANOPTIONS = RmanOptions
175111d341caSmrg        CONFIGSRC = ConfigSrc
175211d341caSmrg         IMAKESRC = $(CONFIGSRC)/imake
175311d341caSmrg        DEPENDSRC = DependDir
175411d341caSmrg
175511d341caSmrg          INCROOT = IncRoot		/* base of where to put header files */
175611d341caSmrg        USRLIBDIR = UsrLibDir		/* nonshared libraries */
175711d341caSmrg           VARDIR = VarDirectory	/* usually /var */
175811d341caSmrg        VARLIBDIR = VarLibDir		/* xdm runtime files */
175911d341caSmrg  SYSTEMUSRLIBDIR = SystemUsrLibDir	/* system's "/usr/lib" */
176011d341caSmrg  SYSTEMUSRINCDIR = SystemUsrIncDir	/* system's "/usr/include" */
176111d341caSmrg         SHLIBDIR = ShLibDir            /* shared libraries */
176211d341caSmrg       LINTLIBDIR = LintlibDir		/* lint libraries */
176311d341caSmrg          MANPATH = ManPath		/* top of manual page tree */
176411d341caSmrg    MANSOURCEPATH = ManSourcePath	/* prefix for man page sources */
176511d341caSmrg           MANDIR = ManDir		/* man pages for commands */
176611d341caSmrg        LIBMANDIR = LibmanDir		/* man pages for library routines */
176711d341caSmrg       FILEMANDIR = FileManDir		/* man pages for config files */
176811d341caSmrg       MISCMANDIR = MiscManDir		/* man pages for miscellaneous files */
176911d341caSmrg     DRIVERMANDIR = DriverManDir	/* man pages for drivers */
177011d341caSmrg     LOGDIRECTORY = LogDirectory	/* OS location of log files */
177111d341caSmrg#ifdef VarRunDirectory
177211d341caSmrg        VARRUNDIR = VarRunDirectory	/* OS location of PID files */
177311d341caSmrg#endif
177411d341caSmrg#ifdef VarDbDirectory
177511d341caSmrg         VARDBDIR = VarDbDirectory	/* OS location of db/state files */
177611d341caSmrg#endif
177711d341caSmrg#ifdef CrossCompileDir
177811d341caSmrg               AR = CrossArCmd
177911d341caSmrg#else
178011d341caSmrg               AR = ArCmd
178111d341caSmrg#endif
178211d341caSmrgXCOMM Nice try but useless: make will inherit BOOTSTRAPCFLAGS
178311d341caSmrgXCOMM from  top Makefile
178411d341caSmrg  BOOTSTRAPCFLAGS = BootstrapCFlags	/* set if cpp does not have uniq sym */
178511d341caSmrg#ifdef CrossCompileDir
178611d341caSmrg               CC = CrossCcCmd
178711d341caSmrg               AS = CrossAsCmd
178811d341caSmrg#else
178911d341caSmrg               CC = CcCmd
179011d341caSmrg               AS = AsCmd
179111d341caSmrg#endif
179211d341caSmrg#if HasFortran
179311d341caSmrg# ifdef CrossCompileDir
179411d341caSmrg               FC = CrossFortranCmd
179511d341caSmrg# else
179611d341caSmrg               FC = FortranCmd
179711d341caSmrg# endif
179811d341caSmrg      FDEBUGFLAGS = FortranDebugFlags
179911d341caSmrg          FCFLAGS = FortranFlags $(FDEBUGFLAGS)
180011d341caSmrg#endif
180111d341caSmrg#if HasCplusplus
180211d341caSmrg
180311d341caSmrg.SUFFIXES: Concat(.,CCsuf)
180411d341caSmrg
180511d341caSmrg#ifdef CrossCompileDir
180611d341caSmrg              CXX = CrossCplusplusCmd
180711d341caSmrg#else
180811d341caSmrg              CXX = CplusplusCmd
180911d341caSmrg#endif
181011d341caSmrg          CXXFILT = CplusplusFilt
181111d341caSmrg#ifdef CplusplusLibCDir
181211d341caSmrg        CXXLIBDIR = CplusplusLibCDir
181311d341caSmrg           CXXLIB = -L$(CXXLIBDIR) CplusplusLibC
181411d341caSmrg#else
181511d341caSmrg           CXXLIB = CplusplusLibC
181611d341caSmrg#endif
181711d341caSmrg
181811d341caSmrg    CXXDEBUGFLAGS = DefaultCplusplusDebugFlags
181911d341caSmrgCXXDEPENDINCLUDES = CplusplusDependIncludes
182011d341caSmrg CXXEXTRA_DEFINES = CplusplusExtraDefines
182111d341caSmrgCXXEXTRA_INCLUDES = CplusplusExtraIncludes
182211d341caSmrg   CXXSTD_DEFINES = CplusplusStandardDefines $(CXXPROJECT_DEFINES)
182311d341caSmrg       CXXOPTIONS = CplusplusOptions
182411d341caSmrg      CXXINCLUDES = $(INCLUDES) $(TOP_INCLUDES) $(CXXEXTRA_INCLUDES)
182511d341caSmrg       CXXDEFINES = $(CXXINCLUDES) $(CXXSTD_DEFINES) $(THREADS_CXXDEFINES) $(DEFINES) $(CXXEXTRA_DEFINES)
182611d341caSmrg         CXXFLAGS = $(CXXDEBUGFLAGS) $(CXXOPTIONS) $(THREADS_CXXFLAGS) $(CXXDEFINES)
182711d341caSmrg#endif
182811d341caSmrg         COMPRESS = CompressCmd
182911d341caSmrg          GZIPCMD = GzipCmd
183011d341caSmrg#ifdef CrossCompileDir
183111d341caSmrg              CPP = CrossCppCmd $(STD_CPP_DEFINES)
183211d341caSmrg           RAWCPP = CrossRawCppCmd $(STD_CPP_OPTIONS)
183311d341caSmrg    PREPROCESSCMD = CrossPreProcessCmd $(STD_CPP_DEFINES)
183411d341caSmrg#else
183511d341caSmrg              CPP = CppCmd $(STD_CPP_DEFINES)		/* simple filters */
183611d341caSmrg           RAWCPP = RawCppCmd $(STD_CPP_OPTIONS)
1837880d0a0cSmrg    PREPROCESSCMD = PreProcessCmd $(STD_CPP_DEFINES)	/* preferred; mdep */
183811d341caSmrg#endif
183911d341caSmrg          INSTALL = InstallCmd
184011d341caSmrg     INSTALLFLAGS = InstallFlags
184111d341caSmrg#ifdef CrossCompileDir
184211d341caSmrg               LD = CrossLdCmd
184311d341caSmrg#else
184411d341caSmrg               LD = LdCmd
184511d341caSmrg#endif
184611d341caSmrg              LEX = LexCmd
184711d341caSmrg               M4 = M4Cmd
184811d341caSmrg          M4FLAGS = M4Flags
184911d341caSmrg           LEXLIB = LexLib
185011d341caSmrg             YACC = YaccCmd
185111d341caSmrg           CCYACC = CplusplusYaccCmd
185211d341caSmrg#ifdef CrossCompileDir
185311d341caSmrg             LINT = CrossLintCmd
185411d341caSmrg#else
185511d341caSmrg             LINT = LintCmd
185611d341caSmrg#endif
185711d341caSmrg      LINTLIBFLAG = LintLibFlag
185811d341caSmrg         LINTOPTS = LintOpts
185911d341caSmrg               LN = LnCmd
186011d341caSmrg             MAKE = MakeCmd
186111d341caSmrg               MV = MvCmd
186211d341caSmrg               CP = CpCmd
186311d341caSmrg#if DoRanlibCmd
186411d341caSmrg#ifdef CrossCompileDir
186511d341caSmrg           RANLIB = CrossCompileDir/RanlibCmd
186611d341caSmrg#else
186711d341caSmrg           RANLIB = RanlibCmd
186811d341caSmrg#endif
186911d341caSmrg  RANLIBINSTFLAGS = RanlibInstFlags
187011d341caSmrg#endif
187111d341caSmrg               RM = RmCmd
187211d341caSmrg             PERL = PerlCmd
187311d341caSmrg         PERLOPTS = PerlOptions
187411d341caSmrg     PERLENVSETUP = PerlEnvSetup
187511d341caSmrg        MANSUFFIX = ManSuffix		/* suffix for command man pages */
187611d341caSmrg     LIBMANSUFFIX = LibManSuffix	/* suffix for library man pages */
187711d341caSmrg    FILEMANSUFFIX = FileManSuffix	/* suffix for file format man pages */
187811d341caSmrg    MISCMANSUFFIX = MiscManSuffix	/* suffix for misc man pages */
187911d341caSmrg  DRIVERMANSUFFIX = DriverManSuffix	/* suffix for driver man pages */
188011d341caSmrg   ADMINMANSUFFIX = AdminManSuffix	/* suffix for admin command man pages */
188111d341caSmrg     MANSRCSUFFIX = ManSrcSuffix	/* suffix for man page source */
188211d341caSmrg     MANNEWSUFFIX = ManNewSuffix	/* suffix for preprocessed man source */
188311d341caSmrg          MANDEFS = AppLoadDefs AppManDefs FileManDefs LibManDefs MiscManDefs DriverManDefs AdminManDefs ProjectManDefs XConfigFileManDefs XConfigDirManDefs XLogFileManDefs XServerManDefs $(XORGMANDEFS) $(VENDORMANDEFS)
188411d341caSmrg
188511d341caSmrg   COMPRESSMANCMD = CompressManCmd
188611d341caSmrg
188711d341caSmrg            TROFF = TroffCmd
188811d341caSmrg            NROFF = NroffCmd
188911d341caSmrg#ifdef HTMLroffCmd
189011d341caSmrg         HTMLROFF = HTMLroffCmd
189111d341caSmrg#endif
189211d341caSmrg#ifdef PsToPdfCmd
189311d341caSmrg       PSTOPDFCMD = PsToPdfCmd
189411d341caSmrg#endif
189511d341caSmrg         MSMACROS = MsMacros
189611d341caSmrg        MANMACROS = ManMacros
189711d341caSmrg              TBL = TblCmd
189811d341caSmrg              EQN = EqnCmd
189911d341caSmrg             NEQN = NeqnCmd
190011d341caSmrg              COL = ColCmd
190111d341caSmrg         COLFLAGS = ColFlags
190211d341caSmrg#ifdef CrossCompileDir
190311d341caSmrg	    MODCC = CrossModuleCcCmd
190411d341caSmrg#else
190511d341caSmrg            MODCC = ModuleCcCmd
190611d341caSmrg#endif
190711d341caSmrg           MODCPP = ModuleCppCmd
190811d341caSmrg        MODCFLAGS = ModuleCFlags
190911d341caSmrg            MODAS = ModuleAsCmd
191011d341caSmrg       MODASFLAGS = ModuleAsFlags
191111d341caSmrg#ifdef CrossCompileDir
191211d341caSmrg	    MODLD = CrossModuleLdCmd
191311d341caSmrg#else
191411d341caSmrg            MODLD = ModuleLdCmd
191511d341caSmrg#endif
191611d341caSmrg       MODLDFLAGS = ModuleLdFlags
191711d341caSmrgMODLDCOMBINEFLAGS = ModuleLdCombineFlags
191811d341caSmrg            MODAR = ModuleArCmd
191911d341caSmrg#ifdef CrossCompileDir
192011d341caSmrg        MODRANLIB = CrossCompileDir/ModuleRanlibCmd
192111d341caSmrg#else
192211d341caSmrg        MODRANLIB = ModuleRanlibCmd
192311d341caSmrg#endif
192411d341caSmrg#if HasLatex
192511d341caSmrg            DVIPS = DvipsCmd
192611d341caSmrg            LATEX = LatexCmd
192711d341caSmrg#endif
192811d341caSmrg#if HasPdfLatex
192911d341caSmrg      PDFLATEXCMD = PdfLatexCmd
193011d341caSmrg#endif
193111d341caSmrg#if HasSentinel
193211d341caSmrg         SENTINEL = SentinelCmd
193311d341caSmrg  SENTINELOPTIONS = SentinelOptions
193411d341caSmrg#endif
193511d341caSmrg#if HasPurify
193611d341caSmrg           PURIFY = PurifyCmd
193711d341caSmrg    PURIFYOPTIONS = PurifyOptions
193811d341caSmrg#endif
193911d341caSmrg#if HasTestCenter
194011d341caSmrg           PROOF = ProofCmd
194111d341caSmrg    PROOFOPTIONS = ProofOptions
194211d341caSmrg#endif
194311d341caSmrg#if CrossCompiling
194411d341caSmrg          HOST_CC = HostCcCmd
194511d341caSmrg#endif
194611d341caSmrg     STD_INCLUDES = StandardIncludes
194711d341caSmrg  STD_CPP_OPTIONS = StandardCppOptions
194811d341caSmrg  STD_CPP_DEFINES = StandardCppOptions StandardCppDefines $(PROJECT_DEFINES)
194911d341caSmrg      STD_DEFINES = StandardDefines $(PROJECT_DEFINES)
195011d341caSmrg EXTRA_LOAD_FLAGS = ExtraLoadFlags
195111d341caSmrg  EXTRA_LDOPTIONS = ExtraLoadOptions
195211d341caSmrg  EXTRA_LIBRARIES = MallocLibraries ExtraLibraries Krb5Libraries
195311d341caSmrg             TAGS = TagsCmd
195411d341caSmrg#if ConstructMFLAGS
195511d341caSmrg           MFLAGS = -$(MAKEFLAGS)
195611d341caSmrg#endif
195711d341caSmrg#if ConstructMAKEFLAGS
195811d341caSmrg        MAKEFLAGS = $(MFLAGS)
195911d341caSmrg#endif
196011d341caSmrg   PARALLELMFLAGS = ParallelMakeFlags
196111d341caSmrg#if HasSharedLibraries
196211d341caSmrg    SHAREDCODEDEF = SharedCodeDef
196311d341caSmrg         SHLIBDEF = SharedLibraryDef
196411d341caSmrg#ifdef SharedLibraryLoadFlags
196511d341caSmrg     SHLIBLDFLAGS = SharedLibraryLoadFlags $(SHLIBGLOBALSFLAGS)
196611d341caSmrg#if HasGcc
196711d341caSmrg         NOSTDLIB = -nostdlib
196811d341caSmrg     POSTNOSTDLIB = -Wl,-Bstatic -lgcc -Wl,-Bdynamic
196911d341caSmrg#elif HasIntelC
197011d341caSmrg         NOSTDLIB = -nostdlib
197111d341caSmrg     POSTNOSTDLIB =
197211d341caSmrg#elif HasSunC
197311d341caSmrg         NOSTDLIB = -xnolib
197411d341caSmrg     POSTNOSTDLIB =
197511d341caSmrg#endif
197611d341caSmrg#endif
197711d341caSmrg/*
197811d341caSmrg * Here we set up flags needed to produce position-independent code
197911d341caSmrg * when doing C and C++ compilation.  The default if you specify C
198011d341caSmrg * PIC flags without also specifying C++ PIC flags is to assume that
198111d341caSmrg * the C flags work for both.  If your C++ compiler requires different
198211d341caSmrg * flags, specify them explicitly in PositionIndependentCplusplusFlags.
198311d341caSmrg */
198411d341caSmrg#ifdef PositionIndependentCFlags
198511d341caSmrg         PICFLAGS = PositionIndependentCFlags
198611d341caSmrg#endif
198711d341caSmrg#ifdef PositionIndependentCplusplusFlags
198811d341caSmrg      CXXPICFLAGS = PositionIndependentCplusplusFlags
198911d341caSmrg#else
199011d341caSmrg#ifdef PositionIndependentCFlags
199111d341caSmrg      CXXPICFLAGS = PositionIndependentCFlags
199211d341caSmrg#endif
199311d341caSmrg#endif
199411d341caSmrg#endif
199511d341caSmrg#if !HasVoidSignalReturn
199611d341caSmrg   SIGNAL_DEFINES = -DSIGNALRETURNSINT
199711d341caSmrg#endif
199811d341caSmrg/*
199911d341caSmrg * The following supports forcing of function prototypes
200011d341caSmrg */
200111d341caSmrg#if NeedFunctionPrototypes && NeedVarargsPrototypes && NeedConstPrototypes && NeedNestedPrototypes
200211d341caSmrg#define _funcprotodef -DFUNCPROTO=15
200311d341caSmrg#else
200411d341caSmrg#if NeedFunctionPrototypes && NeedVarargsPrototypes && NeedNestedPrototypes
200511d341caSmrg#define _funcprotodef -DFUNCPROTO=11
200611d341caSmrg#else
200711d341caSmrg#if NeedFunctionPrototypes && NeedNestedPrototypes
200811d341caSmrg#define _funcprotodef -DFUNCPROTO=9
200911d341caSmrg#else
201011d341caSmrg#if NeedFunctionPrototypes && NeedVarargsPrototypes && NeedConstPrototypes
201111d341caSmrg#define _funcprotodef -DFUNCPROTO=7
201211d341caSmrg#else
201311d341caSmrg#if NeedFunctionPrototypes && NeedConstPrototypes
201411d341caSmrg#define _funcprotodef -DFUNCPROTO=5
201511d341caSmrg#else
201611d341caSmrg#if NeedFunctionPrototypes && NeedVarargsPrototypes
201711d341caSmrg#define _funcprotodef -DFUNCPROTO=3
201811d341caSmrg#else
201911d341caSmrg#if NeedFunctionPrototypes
202011d341caSmrg#define _funcprotodef -DFUNCPROTO
202111d341caSmrg#else
202211d341caSmrg#define _funcprotodef /**/
202311d341caSmrg#endif
202411d341caSmrg#endif
202511d341caSmrg#endif
202611d341caSmrg#endif
202711d341caSmrg#endif
202811d341caSmrg#endif
202911d341caSmrg#endif
203011d341caSmrg#if NeedWidePrototypes
203111d341caSmrg#define _wideprotodef /**/
203211d341caSmrg#else
203311d341caSmrg#define _wideprotodef -DNARROWPROTO
203411d341caSmrg#endif
203511d341caSmrg    PROTO_DEFINES = _funcprotodef _wideprotodef
203611d341caSmrg#undef _funcprotodef
203711d341caSmrg#undef _wideprotodef
203811d341caSmrg
203911d341caSmrg#if StripInstalledPrograms
204011d341caSmrg     INSTPGMFLAGS = InstPgmFlags	/* install flags for stripping */
204111d341caSmrg#else
204211d341caSmrg     INSTPGMFLAGS =
204311d341caSmrg#endif
204411d341caSmrg     INSTBINFLAGS = InstBinFlags	/* install flags for programs */
204511d341caSmrg     INSTUIDFLAGS = InstUidFlags	/* install flags for setuid programs */
204611d341caSmrg     INSTLIBFLAGS = InstLibFlags	/* install flags for libraries */
204711d341caSmrg     INSTINCFLAGS = InstIncFlags	/* install flags for headers */
204811d341caSmrg     INSTMANFLAGS = InstManFlags	/* install flags for man pages */
204911d341caSmrg     INSTDATFLAGS = InstDatFlags	/* install flags for data files */
205011d341caSmrg    INSTKMEMFLAGS = InstKmemFlags	/* install flags for /dev/kmem progs */
205111d341caSmrg
205211d341caSmrg#ifdef ProjectRoot
205311d341caSmrg      PROJECTROOT = ProjectRoot
205411d341caSmrg#endif
205511d341caSmrg#ifdef UseInstalled
205611d341caSmrg# if AlternateIncRoot
205711d341caSmrg#  define TopInclude	-I$(INCROOT)
205811d341caSmrg# else
205911d341caSmrg#  define TopInclude	/**/
206011d341caSmrg# endif
206111d341caSmrg#else
206211d341caSmrg# define TopInclude	-I$(TOP)
206311d341caSmrg#endif
206411d341caSmrg
206511d341caSmrg      CDEBUGFLAGS = DefaultCDebugFlags
206611d341caSmrg        CCOPTIONS = DefaultCCOptions	/* to distinguish from param flags */
206711d341caSmrg/*
206811d341caSmrg * STD_INCLUDES contains system-specific includes
206911d341caSmrg * TOP_INCLUDES specifies how to get to /usr/include or its build substitute
207011d341caSmrg * EXTRA_INCLUDES contains project-specific includes set in project incfiles
207111d341caSmrg * INCLUDES contains client-specific includes set in Imakefile
207211d341caSmrg * LOCAL_LDFLAGS contains client-specific ld flags flags set in Imakefile
207311d341caSmrg */
207411d341caSmrg      ALLINCLUDES = $(INCLUDES) $(EXTRA_INCLUDES) $(TOP_INCLUDES) $(INSTALLED_INCLUDES) $(STD_INCLUDES)
207511d341caSmrg       ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(PROTO_DEFINES) $(THREADS_DEFINES) $(MODULE_DEFINES) $(DEFINES) $(EXTRA_DEFINES)
207611d341caSmrg           CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(THREADS_CFLAGS) $(MODULE_CFLAGS) $(ALLDEFINES)
207711d341caSmrg        LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES) $(DEPEND_DEFINES)
207811d341caSmrg         LDPRELIB = LdPreLib $(INSTALLED_LIBS)
207911d341caSmrg        LDPOSTLIB = LdPostLib
208011d341caSmrg        LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS)  $(EXTRA_LDOPTIONS) $(THREADS_LDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIBS)
208111d341caSmrg     CXXLDOPTIONS = $(CXXDEBUGFLAGS) $(CXXOPTIONS) $(EXTRA_LDOPTIONS) $(THREADS_CXXLDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIBS)
208211d341caSmrg
208311d341caSmrg           LDLIBS = $(LDPOSTLIBS) $(THREADS_LIBS) $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
208411d341caSmrg#if HasBrokenCCForLink
208511d341caSmrg           CCLINK = LdCmd
208611d341caSmrg#else
208711d341caSmrg#if AlternateUsrLibDir && HasLdRunPath
208811d341caSmrg       CCENVSETUP = LD_RUN_PATH=$(USRLIBDIRPATH)
208911d341caSmrg           CCLINK = $(CCENVSETUP) $(CC)
209011d341caSmrg#else
209111d341caSmrg           CCLINK = $(CC)
209211d341caSmrg#endif
209311d341caSmrg#endif
209411d341caSmrg#if AlternateUsrLibDir && HasLdRunPath
209511d341caSmrg      CXXENVSETUP = LD_RUN_PATH=$(USRLIBDIRPATH)
209611d341caSmrg          CXXLINK = $(CXXENVSETUP) $(CXX)
209711d341caSmrg#else
209811d341caSmrg          CXXLINK = $(CXX)
209911d341caSmrg#endif
210011d341caSmrg     LDSTRIPFLAGS = LdStripFlags
210111d341caSmrg   LDCOMBINEFLAGS = LdCombineFlags
210211d341caSmrg      DEPENDFLAGS = DependFlags
210311d341caSmrg   DEPEND_DEFINES = DependDefines
210411d341caSmrg
210511d341caSmrgXCOMM Not sure this belongs here
210611d341caSmrg         TKLIBDIR = TkLibDir
210711d341caSmrg         TKINCDIR = TkIncDir
210811d341caSmrg        TKLIBNAME = TkLibName
210911d341caSmrg        TKLIBRARY = TkLibrary
211011d341caSmrg        TCLLIBDIR = TclLibDir
211111d341caSmrg        TCLINCDIR = TclIncDir
211211d341caSmrg       TCLLIBNAME = TclLibName
211311d341caSmrg       TCLLIBRARY = TclLibrary
211411d341caSmrg
211511d341caSmrg        MACROFILE = MacroFile
211611d341caSmrg           RM_CMD = $(RM)
211711d341caSmrg
211811d341caSmrg    IMAKE_DEFINES = /* leave blank, for command line use only */
211911d341caSmrg   IMAKE_WARNINGS = ImakeWarningFlags
212011d341caSmrg#ifdef UseInstalled
212111d341caSmrg         IRULESRC = $(CONFIGDIR)	/* used in rules file */
212211d341caSmrg        IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES) \
212311d341caSmrg		    $(IMAKE_WARNINGS)
212411d341caSmrg#else
212511d341caSmrg         IRULESRC = $(CONFIGSRC)/cf
212611d341caSmrg        IMAKE_CMD = $(IMAKE) -I$(IRULESRC) $(IMAKE_DEFINES) $(IMAKE_WARNINGS)
212711d341caSmrg#endif
212811d341caSmrg#if !HasClearmake
212911d341caSmrg     /* clearmake records relevant defines and flags in the build script,
213011d341caSmrg	so it knows when they change and we don't need this coarser-level
213111d341caSmrg	dependency.  We also don't want it, since it prevents sharing if
213211d341caSmrg	even one config file, say site.def or host.def, changes. */
213311d341caSmrg     ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/X11.tmpl \
213411d341caSmrg			$(IRULESRC)/site.def $(IRULESRC)/$(MACROFILE) \
213511d341caSmrg			OtherIConfigFiles SiteIConfigFiles $(EXTRA_ICONFIGFILES)
213611d341caSmrg#endif
213711d341caSmrg
213811d341caSmrg#ifndef TopLevelProject
213911d341caSmrg# define TopLevelProject	X11
214011d341caSmrg#endif
214111d341caSmrg#ifndef ProjectRulesFile
214211d341caSmrg# define ProjectRulesFile	Concat3(<,TopLevelProject,.rules>)
214311d341caSmrg#endif
214411d341caSmrg#include ProjectRulesFile
214511d341caSmrg#ifndef LocalRulesFile
214611d341caSmrg/* need this to make ANSI-style preprocessors happy */
214711d341caSmrg#define LocalRulesFile <noop.rules>
214811d341caSmrg#endif
214911d341caSmrg#include LocalRulesFile
215011d341caSmrg
215111d341caSmrg/*
215211d341caSmrg * get project-specific configuration and rules
215311d341caSmrg */
215411d341caSmrg#ifndef ProjectTmplFile
215511d341caSmrg#define ProjectTmplFile		Concat3(<,TopLevelProject,.tmpl>)
215611d341caSmrg#endif
215711d341caSmrg#include ProjectTmplFile
215811d341caSmrg#ifndef LocalTmplFile
215911d341caSmrg/* need this to make ANSI-style preprocessors happy */
216011d341caSmrg#define LocalTmplFile <noop.rules>
216111d341caSmrg#endif
216211d341caSmrg#include LocalTmplFile
216311d341caSmrg
216411d341caSmrg#if !BuildLibraries && AlternateIncRoot && !defined(CrossCompileDir)
216511d341caSmrgINSTALLED_INCLUDES = -I$(INCROOT)
216611d341caSmrg#endif
216711d341caSmrg
216811d341caSmrg#if !defined(UseInstalled) && !BuildLibraries && AlternateUsrLibDir && !defined(CrossCompileDir)
216911d341caSmrgINSTALLED_LIBS = -L$(USRLIBDIR)
217011d341caSmrg#endif
217111d341caSmrg
217211d341caSmrg#ifdef FixupLibReferences
217311d341caSmrgFixupLibReferences()
217411d341caSmrg#endif
217511d341caSmrg
217611d341caSmrg/* ConfigDir comes from X11.tmpl */
217711d341caSmrg        CONFIGDIR = ConfigDir		/* build configuration information */
217811d341caSmrg#if HasClearmake
217911d341caSmrg           OSNAME = OSName
218011d341caSmrg#endif
218111d341caSmrg    USRLIBDIRPATH = UsrLibDirPath
218211d341caSmrg        LDPRELIBS = LdPreLibs $(INSTALLED_LIBS)
218311d341caSmrg       LDPOSTLIBS = LdPostLibs
218411d341caSmrg     TOP_INCLUDES = TopIncludes
218511d341caSmrg  PROJECT_DEFINES = ProjectDefines
218611d341caSmrg   VENDOR_DEFINES = VendorDefines
218711d341caSmrg#if HasCplusplus
218811d341caSmrgCXXPROJECT_DEFINES = CplusplusProjectDefines
218911d341caSmrg#endif
219011d341caSmrg
219111d341caSmrgXCOMM ----------------------------------------------------------------------
219211d341caSmrgXCOMM start of Imakefile
219311d341caSmrg#include INCLUDE_IMAKEFILE
219411d341caSmrg
219511d341caSmrgXCOMM ----------------------------------------------------------------------
219611d341caSmrgXCOMM common rules for all Makefiles - do not edit
219711d341caSmrg
219811d341caSmrg.c.i:
219911d341caSmrg	CPPOnlyCompile($*.c,$(_NOOP_))
220011d341caSmrg
220111d341caSmrg.SUFFIXES: .ii
220211d341caSmrg
220311d341caSmrg.cc.ii:
220411d341caSmrg	CPPOnlyCompile($*.cc,$(_NOOP_))
220511d341caSmrg
220611d341caSmrg.SUFFIXES: .s
220711d341caSmrg
220811d341caSmrg.c.s:
220911d341caSmrg	CompileCToAsm($(_NOOP_))
221011d341caSmrg
221111d341caSmrg.cc.s:
221211d341caSmrg	CompileCplusplusToAsm($(_NOOP_))
221311d341caSmrg
221411d341caSmrg/*
221511d341caSmrg * These need to be here so that rules in Imakefile occur first;  the blank
221611d341caSmrg * emptyrule is to make sure that an empty Imakefile does not default to make
221711d341caSmrg * clean.
221811d341caSmrg */
221911d341caSmrgemptyrule::
222011d341caSmrg
222111d341caSmrgCleanTarget()
222211d341caSmrg
222311d341caSmrg#ifndef IHaveSpecialMakefileTarget
222411d341caSmrgMakefileTarget()
222511d341caSmrg#endif
222611d341caSmrg
222711d341caSmrg#if BuildHtmlManPages
222811d341caSmrgRmanDependency()
222911d341caSmrg#endif
223011d341caSmrg
223111d341caSmrgTagsTarget()
223211d341caSmrg#ifdef MakefileAdditions
223311d341caSmrgMakefileAdditions()
223411d341caSmrg#endif
223511d341caSmrg
223611d341caSmrgCenterLoadTarget(debug_src,$(SRCS),NullParameter,$(ALLDEFINES))
223711d341caSmrg
223811d341caSmrgCenterLoadTarget(debug_obj,$(OBJS),NullParameter,$(ALLDEFINES))
223911d341caSmrg
224011d341caSmrgManKeywordsTarget($(MANPATH))
224111d341caSmrg
224211d341caSmrgHtmlManIndex
224311d341caSmrg
224411d341caSmrg/* Generate the "real" clean rules */
224511d341caSmrg#undef clean
224611d341caSmrg
224711d341caSmrgclean:: cleandir
224811d341caSmrg
224911d341caSmrgdistclean:: cleandir
225011d341caSmrg
225111d341caSmrg#ifdef IHaveSubdirs
225211d341caSmrgXCOMM ----------------------------------------------------------------------
225311d341caSmrgXCOMM rules for building in SUBDIRS - do not edit
225411d341caSmrg
225511d341caSmrgInstallSubdirs($(SUBDIRS))
225611d341caSmrgInstallManSubdirs($(SUBDIRS))
225711d341caSmrgInstallDriverSDKSubdirs($(SUBDIRS))
225811d341caSmrgCleanSubdirs($(SUBDIRS))
225911d341caSmrgTagSubdirs($(SUBDIRS))
226011d341caSmrgMakefileSubdirs($(SUBDIRS))
226111d341caSmrgIncludesSubdirs($(SUBDIRS))
226211d341caSmrg
226311d341caSmrg/* "distclean" subdirectories */
226411d341caSmrg#undef  BootstrapCleanSubdirs
226511d341caSmrg#define BootstrapCleanSubdirs /**/
226611d341caSmrg#define clean distclean
226711d341caSmrgCleanSubdirs($(SUBDIRS))
226811d341caSmrg#undef clean
226911d341caSmrg
227011d341caSmrg#endif
227111d341caSmrg
227211d341caSmrg#if !DontPreprocessManPages || defined(PreprocessManPages)
227311d341caSmrg    PREPROCESSMANPAGES = true
227411d341caSmrg#endif
227511d341caSmrg/* must be after all install.man rules that install anything */
227611d341caSmrg#ifndef MakeManKeywords
227711d341caSmrg#define MakeManKeywords		NO
227811d341caSmrg#endif
227911d341caSmrg#if MakeManKeywords		/* typically only at top level */
228011d341caSmrginstall.man:: man_keywords
228111d341caSmrg#endif
228211d341caSmrg
228311d341caSmrg/* must be after all install.man rules that install anything */
228411d341caSmrg#ifndef MakeHtmlManIndex
228511d341caSmrg#define MakeHtmlManIndex	NO
228611d341caSmrg#endif
228711d341caSmrg#if MakeHtmlManIndex		/* typically only at top level */
228811d341caSmrginstall.man:: html_index
228911d341caSmrg#endif
229011d341caSmrg
229111d341caSmrg#ifndef IHaveSubdirs
229211d341caSmrgXCOMM ----------------------------------------------------------------------
229311d341caSmrgXCOMM empty rules for directories that do not have SUBDIRS - do not edit
229411d341caSmrg
229511d341caSmrginstall::
229611d341caSmrg	@echo "install in $(CURRENT_DIR) done"
229711d341caSmrg
229811d341caSmrginstall.man::
229911d341caSmrg	@echo "install.man in $(CURRENT_DIR) done"
230011d341caSmrg
230111d341caSmrginstall.sdk::
230211d341caSmrg	@echo "install.sdk in $(CURRENT_DIR) done"
230311d341caSmrg
230411d341caSmrgMakefiles::
230511d341caSmrg
230611d341caSmrgincludes::
230711d341caSmrg
230811d341caSmrgdepend::
230911d341caSmrg
231011d341caSmrg#endif /* if subdirectory rules are needed */
231111d341caSmrg
231211d341caSmrg#ifndef IHaveSpecialMakefileTarget
231311d341caSmrg/* "distclean" also removes the Makefile and the depend file */
231411d341caSmrgdistclean::
231511d341caSmrg	RemoveFiles(Makefile DependFileName)
231611d341caSmrg#endif
231711d341caSmrg
231811d341caSmrgXCOMM ----------------------------------------------------------------------
231911d341caSmrgXCOMM dependencies generated by makedepend
232011d341caSmrgIncludeMakefile(DependFileName)
2321