955 lines
22 KiB
Cheetah
955 lines
22 KiB
Cheetah
/*
|
|
* generic imake template
|
|
*/
|
|
|
|
#ifndef XCOMM
|
|
#define XCOMM #
|
|
#endif
|
|
XCOMM -------------------------------------------------------------------------
|
|
XCOMM Makefile generated from IMAKE_TEMPLATE and INCLUDE_IMAKEFILE
|
|
XCOMM $Header: /home/x_cvs/mit/config/Imake.tmpl,v 1.7 1992/09/17 10:41:37 dawes Exp $
|
|
XCOMM $XConsortium: Imake.tmpl,v 1.139 91/09/16 08:52:48 rws Exp $
|
|
XCOMM
|
|
XCOMM Platform-specific parameters may be set in the appropriate <vendor>.cf
|
|
XCOMM configuration files. Site-specific parameters should be set in the file
|
|
XCOMM site.def. Full rebuilds are recommended if any parameters are changed.
|
|
XCOMM
|
|
XCOMM If your C preprocessor does not define any unique symbols, you will need
|
|
XCOMM to set BOOTSTRAPCFLAGS when rebuilding imake (usually when doing
|
|
XCOMM "make World" the first time).
|
|
XCOMM
|
|
|
|
#define YES 1
|
|
#define NO 0
|
|
|
|
|
|
/*
|
|
* To add support for another platform:
|
|
*
|
|
* 1. Identify a machine-specific cpp symbol. If your preprocessor
|
|
* does not have any built in, you will need to add the symbol to the
|
|
* cpp_argv table in config/imakemdep.h and rebuild imake with the
|
|
* BOOTSTRAPCFLAGS variable set (see the macII for an example).
|
|
*
|
|
* 2. Add all machine-specific cpp symbols (either defined by you or by
|
|
* the preprocessor or compiler) to the predefs table in
|
|
* config/imakemdep.h.
|
|
*
|
|
* 3. But a new #ifdef block below that defines MacroIncludeFile and
|
|
* MacroFile for your new platform and then #undefs the machine-
|
|
* specific preprocessor symbols (to avoid problems with file names).
|
|
*
|
|
* 4. Create a .cf file with the name given by MacroFile.
|
|
*/
|
|
|
|
#ifdef ultrix
|
|
#define MacroIncludeFile <ultrix.cf>
|
|
#define MacroFile ultrix.cf
|
|
#ifdef vax
|
|
#undef vax
|
|
#define VaxArchitecture
|
|
#endif
|
|
#ifdef mips
|
|
#undef mips
|
|
#define MipsArchitecture
|
|
#endif
|
|
#undef ultrix
|
|
#define UltrixArchitecture
|
|
#endif
|
|
|
|
#if defined(vax) && !defined(UltrixArchitecture)
|
|
#define MacroIncludeFile <bsd.cf>
|
|
#define MacroFile bsd.cf
|
|
#undef vax
|
|
#define VaxArchitecture
|
|
#endif
|
|
|
|
#ifdef sun
|
|
#define MacroIncludeFile <sun.cf>
|
|
#define MacroFile sun.cf
|
|
#undef sun
|
|
#define SunArchitecture
|
|
#endif /* sun */
|
|
|
|
#ifdef hpux
|
|
#define MacroIncludeFile <hp.cf>
|
|
#define MacroFile hp.cf
|
|
#undef hpux
|
|
#define HPArchitecture
|
|
#endif /* hpux */
|
|
|
|
#ifdef att
|
|
#define MacroIncludeFile <att.cf>
|
|
#define MacroFile att.cf
|
|
#undef att
|
|
#define ATTArchitecture
|
|
#endif /* att */
|
|
|
|
#ifdef apollo
|
|
#define MacroIncludeFile <apollo.cf>
|
|
#define MacroFile apollo.cf
|
|
#undef apollo
|
|
#define ApolloArchitecture
|
|
#endif /* apollo */
|
|
|
|
#ifdef sony
|
|
#define MacroIncludeFile <sony.cf>
|
|
#define MacroFile sony.cf
|
|
#undef sony
|
|
#undef sony_news
|
|
#define SonyArchitecture
|
|
#ifdef mc68020
|
|
#undef mc68020
|
|
#undef mc68030
|
|
#define Mc68020Architecture
|
|
#endif
|
|
#ifdef mips
|
|
#undef mips
|
|
#define MipsArchitecture
|
|
#endif
|
|
#if !defined(bsd43) || defined(SYSTYPE_SYSV)
|
|
#define SonySysvArchitecture
|
|
#else
|
|
#define SonyBsdArchitecture
|
|
#endif
|
|
#endif /* sony */
|
|
|
|
#ifdef M4310
|
|
#define MacroIncludeFile <pegasus.cf>
|
|
#define MacroFile pegasus.cf
|
|
#undef M4310
|
|
#define PegasusArchitecture
|
|
#endif /* M4310 */
|
|
|
|
#ifdef M4330
|
|
#define MacroIncludeFile <m4330.cf>
|
|
#define MacroFile m4330.cf
|
|
#undef M4330
|
|
#define M4330Architecture
|
|
#endif /* M4330 */
|
|
|
|
#ifdef macII
|
|
/* A/UX cpp has no unique symbol: build imake with BOOTSTRAPCFLAGS=-DmacII */
|
|
#define MacroIncludeFile <macII.cf>
|
|
#define MacroFile macII.cf
|
|
#undef macII
|
|
#define MacIIArchitecture
|
|
#endif /* macII */
|
|
|
|
#ifdef CRAY
|
|
#define MacroIncludeFile <cray.cf>
|
|
#define MacroFile cray.cf
|
|
#undef cray
|
|
#define CrayArchitecture
|
|
#endif /* CRAY */
|
|
|
|
#ifdef sgi
|
|
#define MacroIncludeFile <sgi.cf>
|
|
#define MacroFile sgi.cf
|
|
#undef sgi
|
|
#define SGIArchitecture
|
|
#undef mips
|
|
#define MipsArchitecture
|
|
#endif
|
|
|
|
#ifdef stellar
|
|
#define MacroIncludeFile <stellar.cf>
|
|
#define MacroFile stellar.cf
|
|
#undef stellar
|
|
#define StellarArchitecture
|
|
#endif
|
|
|
|
#if defined(ibm) || defined(_IBMR2) || defined(ibm032) || defined(aix)
|
|
#define MacroIncludeFile <ibm.cf>
|
|
#define MacroFile ibm.cf
|
|
#ifdef ibm
|
|
#undef ibm
|
|
#endif
|
|
#define IBMArchitecture
|
|
#ifdef i386
|
|
#undef i386
|
|
#define PS2Architecture
|
|
#endif
|
|
#ifdef ibm032
|
|
#undef ibm032
|
|
#define RtArchitecture
|
|
#endif
|
|
#ifdef aix
|
|
#undef aix
|
|
#define AIXArchitecture
|
|
#endif
|
|
#ifdef _IBMR2
|
|
#undef _IBMR2
|
|
#define RsArchitecture
|
|
#endif
|
|
#endif /* ibm */
|
|
|
|
#ifdef luna
|
|
#undef luna
|
|
#define MacroIncludeFile <luna.cf>
|
|
#define MacroFile luna.cf
|
|
#ifdef mc68000
|
|
#undef mc68000
|
|
#define Mc68000Architecture
|
|
#else
|
|
#undef mc88000
|
|
#define Mc88000Architecture
|
|
#endif
|
|
#endif
|
|
|
|
#ifdef Mips
|
|
# define MacroIncludeFile "Mips.cf"
|
|
# define MacroFile Mips.cf
|
|
# undef Mips
|
|
# if defined(SYSTYPE_BSD43) || defined(BSD) || defined(BSD43)
|
|
# define MipsBsdArchitecture
|
|
# else /* BSD */
|
|
# define MipsSysvArchitecture
|
|
# endif /* BSD */
|
|
#endif /* Mips */
|
|
|
|
#ifdef MOTOROLA
|
|
# define MacroIncludeFile <moto.cf>
|
|
# define MacroFile moto.cf
|
|
# undef MOTOROLA
|
|
# ifdef SYSV
|
|
# define MotoR3Architecture
|
|
# endif
|
|
# ifdef SVR4
|
|
# define MotoR4Architecture
|
|
# endif
|
|
#endif /* MOTOROLA */
|
|
|
|
#ifdef SYSV386
|
|
# define MacroIncludeFile <x386.cf>
|
|
# define MacroFile x386.cf
|
|
# ifdef SVR4
|
|
# define i386SVR4Architecture
|
|
# else
|
|
# define i386SVR3Architecture
|
|
# endif
|
|
#endif /* SYSV386 */
|
|
|
|
#ifdef __386BSD__
|
|
# define MacroIncludeFile <x386.cf>
|
|
# define MacroFile x386.cf
|
|
# define i386BsdArchitecture
|
|
#endif /* __386BSD__ */
|
|
|
|
#ifdef DGUX
|
|
#define MacroIncludeFile <DGUX.cf>
|
|
#define MacroFile DGUX.cf
|
|
#undef DGUX
|
|
#define DguxArchitecture
|
|
#endif
|
|
|
|
#ifdef __convex__
|
|
# define MacroIncludeFile <convex.cf>
|
|
# define MacroFile convex.cf
|
|
# ifdef convex
|
|
# undef convex
|
|
# endif
|
|
# define ConvexArchitecture
|
|
#endif
|
|
|
|
#ifdef linux
|
|
# define MacroIncludeFile <x386.cf>
|
|
# define MacroFile x386.cf
|
|
# undef linux
|
|
# define LinuxArchitecture
|
|
#endif /* linux */
|
|
|
|
#ifdef MACH
|
|
# ifdef i386
|
|
# undef i386
|
|
# define i386MachArchitecture
|
|
# define i386Mach_BsdTree
|
|
# define MacroIncludeFile <x386.cf>
|
|
# define MacroFile x386.cf
|
|
# endif
|
|
#endif
|
|
|
|
#ifndef MacroIncludeFile
|
|
XCOMM WARNING: Imake.tmpl not configured; guessing at definitions!!!
|
|
XCOMM This might mean that BOOTSTRAPCFLAGS was not set when building imake.
|
|
#define MacroIncludeFile <generic.cf>
|
|
#define MacroFile generic.cf
|
|
#endif
|
|
|
|
/*****************************************************************************
|
|
* *
|
|
* DO NOT MODIFY BELOW THIS LINE *
|
|
* *
|
|
*****************************************************************************/
|
|
|
|
|
|
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
|
|
|
|
XCOMM -------------------------------------------------------------------------
|
|
XCOMM platform-specific configuration parameters - edit MacroFile to change
|
|
#include MacroIncludeFile
|
|
|
|
/* It is a kludge to put these two macros here,
|
|
* but Project.tmpl needs them and it is not clear there is a better place.
|
|
*/
|
|
|
|
/*
|
|
* Concat - concatenates two strings.
|
|
*/
|
|
#ifndef Concat
|
|
#if __STDC__ && !defined(UnixCpp)
|
|
#define Concat(a,b)a##b
|
|
#else
|
|
#define Concat(a,b)a/**/b
|
|
#endif
|
|
#endif
|
|
|
|
/*
|
|
* Concat3 - concatenates three strings.
|
|
*/
|
|
#ifndef Concat3
|
|
#if __STDC__ && !defined(UnixCpp)
|
|
#define Concat3(a,b,c)a##b##c
|
|
#else
|
|
#define Concat3(a,b,c)a/**/b/**/c
|
|
#endif
|
|
#endif
|
|
|
|
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
|
|
*/
|
|
|
|
#ifndef HasSharedLibraries
|
|
#define HasSharedLibraries NO
|
|
#endif
|
|
#ifndef SystemV
|
|
#define SystemV NO /* SYSV (R3) */
|
|
#endif
|
|
#ifndef SystemV4
|
|
#define SystemV4 NO /* SVR4 */
|
|
#endif
|
|
#ifndef i386Bsd
|
|
#define i386Bsd NO
|
|
#endif
|
|
#ifndef i386Mach
|
|
#define i386Mach NO
|
|
#endif
|
|
#ifndef OSMajorVersion
|
|
#define OSMajorVersion 0
|
|
#endif
|
|
#ifndef OSMinorVersion
|
|
#define OSMinorVersion 0
|
|
#endif
|
|
#ifndef UnalignedReferencesAllowed
|
|
#define UnalignedReferencesAllowed NO /* if arbitrary deref is okay */
|
|
#endif
|
|
#ifndef ExecableScripts
|
|
#if SystemV
|
|
#define ExecableScripts NO
|
|
#else
|
|
#define ExecableScripts YES /* kernel exec() can handle #! */
|
|
#endif
|
|
#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 HasLargeTmp
|
|
#define HasLargeTmp NO /* be paranoid */
|
|
#endif
|
|
#ifndef HasSockets
|
|
#if SystemV || SystemV4
|
|
#define HasSockets NO /* do not assume it has them */
|
|
#else
|
|
#define HasSockets YES /* bsd does have them */
|
|
#endif
|
|
#endif
|
|
#ifndef HasVFork
|
|
#if SystemV
|
|
#define HasVFork NO /* not yet... */
|
|
#else
|
|
#define HasVFork YES
|
|
#endif
|
|
#endif
|
|
#ifndef HasPutenv
|
|
#define HasPutenv NO /* assume not */
|
|
#endif
|
|
#ifndef HasVoidSignalReturn
|
|
#define HasVoidSignalReturn YES /* assume yes */
|
|
#endif
|
|
#ifndef HasBsearch
|
|
#define HasBsearch YES /* assume yes */
|
|
#endif
|
|
#ifndef HasSaberC
|
|
#define HasSaberC NO /* for people unclear on the concept */
|
|
#endif
|
|
#ifndef HasFortran
|
|
#define HasFortran NO
|
|
#endif
|
|
#ifndef HasNdbm
|
|
#define HasNdbm NO
|
|
#endif
|
|
#ifndef HasSecureRPC
|
|
#define HasSecureRPC NO /* if you have Secure RPC */
|
|
#endif
|
|
#ifndef HasShm
|
|
#if SystemV || SystemV4
|
|
#define HasShm YES
|
|
#else
|
|
#define HasShm NO
|
|
#endif
|
|
#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 StripInstalledPrograms
|
|
#define StripInstalledPrograms NO /* leave symbol table just in case */
|
|
#endif
|
|
|
|
#ifndef UsrLibDir
|
|
#ifdef ProjectRoot
|
|
#define UsrLibDir Concat(ProjectRoot,/lib)
|
|
#ifndef AlternateUsrLibDir
|
|
#define AlternateUsrLibDir YES
|
|
#endif
|
|
#else
|
|
#define UsrLibDir /usr/lib
|
|
#ifndef AlternateUsrLibDir
|
|
#define AlternateUsrLibDir NO
|
|
#endif
|
|
#endif
|
|
#else
|
|
#ifndef AlternateUsrLibDir
|
|
#define AlternateUsrLibDir YES
|
|
#endif
|
|
#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 UNCOMPRESSPATH
|
|
#define UNCOMPRESSPATH /usr/ucb/uncompress
|
|
#endif
|
|
#ifndef OptimizedCDebugFlags
|
|
#define OptimizedCDebugFlags -O
|
|
#endif
|
|
#ifndef DebuggableCDebugFlags
|
|
#define DebuggableCDebugFlags -g
|
|
#endif
|
|
#ifndef NoOpCDebugFlags
|
|
#define NoOpCDebugFlags /* as nothing */
|
|
#endif
|
|
#ifndef DefaultCDebugFlags
|
|
#define DefaultCDebugFlags OptimizedCDebugFlags
|
|
#endif
|
|
#ifndef DefaultCCOptions
|
|
#define DefaultCCOptions /* as nothing: this is for floating point, etc. */
|
|
#endif
|
|
#ifndef AnsiCCOptions
|
|
#define AnsiCCOptions /* as nothing */
|
|
#endif
|
|
#ifndef InstPgmFlags
|
|
#define InstPgmFlags -s
|
|
#endif
|
|
#ifndef InstBinFlags
|
|
#define InstBinFlags -m 0755
|
|
#endif
|
|
#ifndef InstUidFlags
|
|
#define InstUidFlags -m 4755
|
|
#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
|
|
#define InstKmemFlags InstUidFlags /* put -g kmem -m 2755 in site.def... */
|
|
#endif
|
|
#ifndef ArCmd
|
|
#if HasLargeTmp | SystemV4
|
|
#define ArCmd ar cq /* do nothing special */
|
|
#else
|
|
#define ArCmd ar clq /* use local dir for temp files */
|
|
#endif
|
|
#endif
|
|
#ifndef BootstrapCFlags
|
|
#define BootstrapCFlags /**/
|
|
#endif
|
|
#ifndef HasGcc
|
|
#define HasGcc NO
|
|
#endif
|
|
#ifndef CcCmd
|
|
#if HasGcc
|
|
#define CcCmd gcc -fstrength-reduce -fpcc-struct-return
|
|
#else
|
|
#define CcCmd cc
|
|
#endif
|
|
#endif
|
|
#if HasFortran
|
|
#ifndef FortranCmd
|
|
#define FortranCmd f77
|
|
#endif
|
|
#ifndef FortranFlags
|
|
#define FortranFlags /**/
|
|
#endif
|
|
#ifndef FortranDebugFlags
|
|
#define FortranDebugFlags /**/ /* for -O or -g */
|
|
#endif
|
|
#endif
|
|
#ifndef AsCmd
|
|
#define AsCmd as
|
|
#endif
|
|
#ifndef CompressCmd
|
|
#define CompressCmd compress
|
|
#endif
|
|
#ifndef CppCmd
|
|
#define CppCmd /lib/cpp
|
|
#endif
|
|
#ifndef PreProcessCmd
|
|
#define PreProcessCmd CcCmd -E
|
|
#endif
|
|
#ifndef InstallCmd
|
|
#if SystemV | SystemV4
|
|
#ifdef UseInstalled
|
|
#define InstallCmd $(BINDIR)/bsdinst /* hack should be in project */
|
|
#else
|
|
#define InstallCmd $(SCRIPTSRC)/bsdinst.sh /* hack should be in project */
|
|
#endif
|
|
#else
|
|
#define InstallCmd install
|
|
#endif
|
|
#endif
|
|
#ifndef LdCmd
|
|
#define LdCmd ld
|
|
#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 -ax
|
|
#else
|
|
#define LintOpts -axz
|
|
#endif
|
|
#endif
|
|
#ifndef CpCmd
|
|
#define CpCmd cp
|
|
#endif
|
|
#ifndef LnCmd
|
|
#if SystemV
|
|
#define LnCmd ln /* or even cp */
|
|
#else
|
|
#define LnCmd ln -s
|
|
#endif
|
|
#endif
|
|
#ifndef MakeCmd
|
|
#define MakeCmd make
|
|
#endif
|
|
#ifndef MvCmd
|
|
#define MvCmd mv
|
|
#endif
|
|
#ifndef DoRanlibCmd
|
|
#if SystemV || SystemV4
|
|
#define DoRanlibCmd 0
|
|
#else
|
|
#define DoRanlibCmd 1
|
|
#endif
|
|
#endif
|
|
#ifndef RanlibCmd
|
|
#define RanlibCmd ranlib
|
|
#endif
|
|
#ifndef RanlibInstFlags
|
|
#define RanlibInstFlags /**/
|
|
#endif
|
|
#ifndef RmCmd
|
|
#define RmCmd rm -f
|
|
#endif
|
|
#ifndef StandardIncludes
|
|
#define StandardIncludes /**/ /* for platform-specifics */
|
|
#endif
|
|
#ifndef StandardDefines
|
|
#if SystemV
|
|
#define StandardDefines -DSYSV
|
|
#else
|
|
#if SystemV4
|
|
#define StandardDefines -DSVR4
|
|
#else
|
|
#define StandardDefines /**/
|
|
#endif
|
|
#endif
|
|
#endif
|
|
#ifndef StandardCppDefines
|
|
#define StandardCppDefines StandardDefines
|
|
#endif
|
|
#ifndef Malloc0ReturnsNull
|
|
#define Malloc0ReturnsNull NO
|
|
#endif
|
|
#ifndef NdbmDefines
|
|
#if HasNdbm
|
|
#define NdbmDefines -DNDBM
|
|
#else
|
|
#define NdbmDefines /**/
|
|
#endif
|
|
#endif
|
|
#ifndef ExtraLibraries
|
|
#if SystemV4
|
|
#if HasSockets
|
|
#define ExtraLibraries -lsocket -lnsl
|
|
#else
|
|
#define ExtraLibraries -lnsl
|
|
#endif
|
|
#else
|
|
#define ExtraLibraries /**/
|
|
#endif
|
|
#endif
|
|
#ifndef ExtraLoadFlags
|
|
#define ExtraLoadFlags /**/
|
|
#endif
|
|
#ifndef LdCombineFlags
|
|
#if SystemV4
|
|
#define LdCombineFlags -r
|
|
#else
|
|
#define LdCombineFlags -X -r
|
|
#endif
|
|
#endif
|
|
#ifndef TagsCmd
|
|
#define TagsCmd ctags
|
|
#endif
|
|
#ifndef LoaderLibPrefix
|
|
#define LoaderLibPrefix /**/ /* cray does -l libX11.a */
|
|
#endif
|
|
#ifndef DependFlags
|
|
#define DependFlags /**/
|
|
#endif
|
|
#ifndef TroffCmd
|
|
#define TroffCmd psroff
|
|
#endif
|
|
#ifndef MsMacros
|
|
#define MsMacros -ms
|
|
#endif
|
|
#ifndef TblCmd
|
|
#define TblCmd tbl
|
|
#endif
|
|
#ifndef EqnCmd
|
|
#define EqnCmd eqn
|
|
#endif
|
|
#ifndef ExpandManNames
|
|
#if SystemV
|
|
#define ExpandManNames NO
|
|
#else
|
|
#define ExpandManNames YES
|
|
#endif
|
|
#endif
|
|
#ifndef TOPDIR
|
|
#define TOPDIR .
|
|
#endif
|
|
#ifndef CURDIR
|
|
#define CURDIR .
|
|
#endif
|
|
#ifndef ExtraFilesToClean
|
|
#define ExtraFilesToClean /**/
|
|
#endif
|
|
#ifndef FilesToClean
|
|
#define FilesToClean *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut
|
|
#endif
|
|
#ifdef i386SVR3Architecture
|
|
.NOEXPORT:
|
|
#endif
|
|
|
|
SHELL = BourneShell
|
|
|
|
TOP = TOPDIR
|
|
CURRENT_DIR = CURDIR
|
|
|
|
AR = ArCmd
|
|
BOOTSTRAPCFLAGS = BootstrapCFlags /* set if cpp does not have uniq sym */
|
|
CC = CcCmd
|
|
AS = AsCmd
|
|
#ifdef LexCmd
|
|
LEX = LexCmd
|
|
#endif
|
|
#ifdef YaccCmd
|
|
YACC = YaccCmd
|
|
#endif
|
|
#if HasFortran
|
|
FC = FortranCmd
|
|
FDEBUGFLAGS = FortranDebugFlags
|
|
FCFLAGS = FortranFlags $(FDEBUGFLAGS)
|
|
#endif
|
|
COMPRESS = CompressCmd
|
|
CPP = CppCmd $(STD_CPP_DEFINES) /* simple filters */
|
|
PREPROCESSCMD = PreProcessCmd $(STD_CPP_DEFINES) /* prefered; mdep */
|
|
INSTALL = InstallCmd
|
|
LD = LdCmd
|
|
LINT = LintCmd
|
|
LINTLIBFLAG = LintLibFlag
|
|
LINTOPTS = LintOpts
|
|
LN = LnCmd
|
|
MAKE = MakeCmd
|
|
MV = MvCmd
|
|
CP = CpCmd
|
|
#if DoRanlibCmd
|
|
RANLIB = RanlibCmd
|
|
RANLIBINSTFLAGS = RanlibInstFlags
|
|
#endif
|
|
RM = RmCmd
|
|
TROFF = TroffCmd
|
|
MSMACROS = MsMacros
|
|
TBL = TblCmd
|
|
EQN = EqnCmd
|
|
STD_INCLUDES = StandardIncludes
|
|
STD_CPP_DEFINES = StandardCppDefines
|
|
STD_DEFINES = StandardDefines
|
|
EXTRA_LOAD_FLAGS = ExtraLoadFlags
|
|
EXTRA_LIBRARIES = ExtraLibraries
|
|
TAGS = TagsCmd
|
|
#if ConstructMFLAGS
|
|
MFLAGS = -$(MAKEFLAGS)
|
|
#endif
|
|
#if HasSharedLibraries
|
|
SHAREDCODEDEF = SharedCodeDef
|
|
SHLIBDEF = SharedLibraryDef
|
|
#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
|
|
TOP_INCLUDES = -I$(INCROOT) /* def: for alternative /usr/include */
|
|
#endif
|
|
#else
|
|
TOP_INCLUDES = -I$(TOP) /* def: for builds within tree */
|
|
#endif
|
|
CDEBUGFLAGS = DefaultCDebugFlags
|
|
CCOPTIONS = DefaultCCOptions /* to distinguish from param flags */
|
|
ANSICCOPTIONS = AnsiCCOptions
|
|
/*
|
|
* 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) $(STD_INCLUDES)
|
|
ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(EXTRA_DEFINES) $(PROTO_DEFINES) $(DEFINES)
|
|
CFLAGS = $(ANSICCOPTIONS) $(CDEBUGFLAGS) $(CCOPTIONS) $(ALLDEFINES)
|
|
LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES)
|
|
#if AlternateUsrLibDir && !defined(UseInstalled)
|
|
LDLIBS = -L$(USRLIBDIR) $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
|
|
#else
|
|
LDLIBS = $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
|
|
#endif
|
|
#if AlternateUsrLibDir && defined(UseInstalled)
|
|
LDOPTIONS = $(ANSICCOPTIONS) $(CDEBUGFLAGS) $(CCOPTIONS) $(LOCAL_LDFLAGS) -L$(USRLIBDIR)
|
|
#else
|
|
LDOPTIONS = $(ANSICCOPTIONS) $(CDEBUGFLAGS) $(CCOPTIONS) $(LOCAL_LDFLAGS)
|
|
#endif
|
|
LDCOMBINEFLAGS = LdCombineFlags
|
|
DEPENDFLAGS = DependFlags
|
|
|
|
MACROFILE = MacroFile
|
|
RM_CMD = $(RM) FilesToClean ExtraFilesToClean
|
|
|
|
IMAKE_DEFINES = /* leave blank, for command line use only */
|
|
#ifdef UseInstalled
|
|
IRULESRC = $(CONFIGDIR) /* used in rules file */
|
|
IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES)
|
|
#else
|
|
IRULESRC = $(CONFIGSRC)
|
|
IMAKE_CMD = $(NEWTOP)$(IMAKE) -I$(NEWTOP)$(IRULESRC) $(IMAKE_DEFINES)
|
|
#endif
|
|
ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/Imake.rules \
|
|
$(IRULESRC)/Project.tmpl $(IRULESRC)/site.def \
|
|
$(IRULESRC)/$(MACROFILE) $(EXTRA_ICONFIGFILES)
|
|
|
|
/*
|
|
* get project-specific configuration and rules
|
|
*/
|
|
|
|
#include <Project.tmpl>
|
|
|
|
#include <Imake.rules>
|
|
|
|
XCOMM -------------------------------------------------------------------------
|
|
XCOMM start of Imakefile
|
|
#include INCLUDE_IMAKEFILE
|
|
|
|
XCOMM -------------------------------------------------------------------------
|
|
XCOMM common rules for all Makefiles - do not edit
|
|
/*
|
|
* These need to be here so that rules in Imakefile occur first; the blank
|
|
* all is to make sure that an empty Imakefile does not default to make clean.
|
|
*/
|
|
emptyrule::
|
|
|
|
CleanTarget()
|
|
|
|
#ifndef IHaveSpecialMakefileTarget
|
|
MakefileTarget()
|
|
#endif
|
|
|
|
TagsTarget()
|
|
#ifdef MakefileAdditions
|
|
MakefileAdditions()
|
|
#endif
|
|
|
|
#if HasSaberC
|
|
saber:
|
|
XCOMM load $(ALLDEFINES) $(SRCS)
|
|
|
|
osaber:
|
|
XCOMM load $(ALLDEFINES) $(OBJS)
|
|
#endif
|
|
|
|
|
|
#ifdef IHaveSubdirs
|
|
XCOMM -------------------------------------------------------------------------
|
|
XCOMM rules for building in SUBDIRS - do not edit
|
|
|
|
InstallSubdirs($(SUBDIRS))
|
|
InstallManSubdirs($(SUBDIRS))
|
|
InstallLinkKitSubdirs($(SUBDIRS))
|
|
CleanSubdirs($(SUBDIRS))
|
|
TagSubdirs($(SUBDIRS))
|
|
MakefileSubdirs($(SUBDIRS))
|
|
IncludesSubdirs($(SUBDIRS))
|
|
|
|
#else
|
|
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.linkkit::
|
|
@echo "install.linkkit in $(CURRENT_DIR) done"
|
|
|
|
Makefiles::
|
|
|
|
includes::
|
|
|
|
#endif /* if subdirectory rules are needed */
|
|
|
|
XCOMM -------------------------------------------------------------------------
|
|
XCOMM dependencies generated by makedepend
|