XCOMM ---------------------------------------------------------------------- XCOMM Makefile generated from IMAKE_TEMPLATE and INCLUDE_IMAKEFILE XCOMM $XConsortium: Imake.tmpl,v 1.224.1.1 95/06/19 17:51:01 gildea Exp $ XCOMM $XFree86: xc/config/cf/Imake.tmpl,v 3.18 1995/07/12 15:27:23 dawes Exp $ XCOMM /* * generic imake template */ /* * Modify Imake.cf when adding a new architecture, do not modify this file. * Platform-specific parameters may be set in the appropriate .cf * configuration files. Site-specific parameters should be set in the file * site.def. Full rebuilds are recommended if any parameters are changed. * If your C preprocessor does not define any unique symbols, you will need * to set BOOTSTRAPCFLAGS when rebuilding imake (usually when doing * "make World" the first time). */ #define ImakeConfigRelease 6 #define YES 1 #define NO 0 .SUFFIXES: .i #include XCOMM ----------------------------------------------------------------------- XCOMM site-specific configuration parameters that need to come before XCOMM the platform-specific parameters - edit site.def to change #define BeforeVendorCF #include #undef BeforeVendorCF #if defined(HasGcc2) && !defined(HasGcc) #define HasGcc HasGcc2 #endif XCOMM ----------------------------------------------------------------------- XCOMM platform-specific configuration parameters - edit MacroFile to change #include MacroIncludeFile XCOMM ----------------------------------------------------------------------- XCOMM site-specific configuration parameters that go after XCOMM the platform-specific parameters - edit site.def to change #define AfterVendorCF #include #undef AfterVendorCF /* * defaults for various generic parameters; set in site.def if needed */ /* the following are needed before we can include Imake.rules */ #ifndef SystemV #define SystemV NO /* SYSV (R3) */ #endif #ifndef SystemV4 #define SystemV4 NO /* SVR4 */ #endif #ifndef HasCodeCenter #define HasCodeCenter NO #endif #ifndef HasSentinel #define HasSentinel NO #endif #ifndef HasPurify #define HasPurify NO #endif #ifndef HasTestCenter #define HasTestCenter NO #endif #ifndef HasParallelMake #define HasParallelMake NO #endif #ifndef RemoveTargetProgramByMoving #define RemoveTargetProgramByMoving NO #endif #ifndef DoRanlibCmd #if SystemV || SystemV4 #define DoRanlibCmd NO #else #define DoRanlibCmd YES #endif #endif #ifndef ExecableScripts #if SystemV #define ExecableScripts NO #else #define ExecableScripts YES /* kernel exec() can handle #! */ #endif #endif #include #ifndef HasSharedLibraries #define HasSharedLibraries 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 AvoidNullMakeCommand #define AvoidNullMakeCommand NO #endif #if AvoidNullMakeCommand /* * An obscure bug in BSD4.3's original make causes it not to recognize a * macro definition if the macro name starts with a non-alpha and in * column one. */ _NULLCMD_ = @ echo -n #endif #ifndef CrossCompiling #define CrossCompiling NO #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 HasLdRunPath #define HasLdRunPath NO #endif #ifndef HasBSD44Sockets #define HasBSD44Sockets NO #endif #ifndef HasSockets #define HasSockets YES #endif #ifndef HasStreams #define HasStreams !HasSockets #endif #ifndef HasDECnet #define HasDECnet NO #endif #ifndef HasPoll #if SystemV || SystemV4 #define HasPoll YES #else #define HasPoll NO #endif #endif #ifndef HasVFork #if SystemV #define HasVFork NO /* not yet... */ #else #define HasVFork YES #endif #endif #ifndef HasPutenv #define HasPutenv NO /* assume not */ #endif #ifndef HasVoidSignalReturn #define HasVoidSignalReturn YES /* assume yes */ #endif #ifndef HasBsearch #define HasBsearch YES /* assume yes */ #endif #ifndef HasFortran #define HasFortran NO #endif #ifndef HasCplusplus #if HasGcc2ForCplusplus #define HasCplusplus YES #else #define HasCplusplus NO #endif #endif #ifndef HasNdbm #define HasNdbm NO #endif #ifndef HasSecureRPC #define HasSecureRPC NO /* if you have Secure RPC */ #endif #ifndef HasKrb5 #define HasKrb5 NO /* if you have Kerberos V5 */ #endif #ifndef HasLatex #define HasLatex YES #endif #ifndef HasShm #if SystemV || SystemV4 #define HasShm YES #else #define HasShm NO #endif #endif #if HasKrb5 #ifndef Krb5Includes #define Krb5Includes -I/krb5/include #endif #ifndef Krb5Libraries #define Krb5Libraries -L/krb5/lib -L/usr/isode/lib -lkrb5 -lcrypto -lisode -lcom_err -ldbm #endif #else #undef Krb5Includes #define Krb5Includes /**/ #undef Krb5Libraries #define Krb5Libraries /**/ #endif #ifndef UseGnuMalloc #define UseGnuMalloc NO #endif #ifndef GnuMallocLibrary #define GnuMallocLibrary -lgmalloc #endif #ifndef MallocLibraries #if UseGnuMalloc #define MallocLibraries GnuMallocLibrary #else #define MallocLibraries /**/ #endif #endif #ifndef 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 UseCCMakeDepend /* use slow cc -E script */ #define UseCCMakeDepend NO #endif #ifndef UseGccMakeDepend /* use slowish but correct gcc -M */ #define UseGccMakeDepend NO #endif /* DefaultUsrBin is independent of ProjectRoot. This is a directory where programs will be found even if PATH is not set, for example when coming in remotely via rsh. */ #ifndef DefaultUsrBin #define DefaultUsrBin /usr/bin #endif #ifndef UsrLibDir #ifdef ProjectRoot #define UsrLibDir Concat(ProjectRoot,/lib) #ifndef AlternateUsrLibDir #define AlternateUsrLibDir (defined(UseInstalled) || HasLdRunPath) #endif #else #define UsrLibDir /usr/lib #ifndef AlternateUsrLibDir #define AlternateUsrLibDir NO #endif #endif #else #ifndef AlternateUsrLibDir #define AlternateUsrLibDir YES #endif #endif #ifndef ShLibDir #define ShLibDir UsrLibDir #endif #ifndef IncRoot #ifdef ProjectRoot #define IncRoot Concat(ProjectRoot,/include) #ifndef AlternateIncRoot #define AlternateIncRoot YES #endif #else #define IncRoot /usr/include #ifndef AlternateIncRoot #define AlternateIncRoot NO #endif #endif #else #ifndef AlternateIncRoot #define AlternateIncRoot YES #endif #endif #ifndef LintlibDir #define LintlibDir $(USRLIBDIR)/lint #endif #ifndef SystemManDirectory #if SystemV4 #define SystemManDirectory /usr/share/man #else #define SystemManDirectory /usr/man #endif #endif #ifndef ManDirectoryRoot #ifdef ProjectRoot #define ManDirectoryRoot Concat(ProjectRoot,/man) #else #define ManDirectoryRoot SystemManDirectory #endif #endif #ifndef ManPath #define ManPath ManDirectoryRoot #endif #ifndef ManSourcePath #define ManSourcePath $(MANPATH)/man #endif #ifndef ManDir #define ManDir $(MANSOURCEPATH)$(MANSUFFIX) #endif #ifndef LibmanDir #define LibmanDir $(MANSOURCEPATH)$(LIBMANSUFFIX) #endif #ifndef FileManDir #define FileManDir $(MANSOURCEPATH)$(FILEMANSUFFIX) #endif #ifndef ConfigSrc #define ConfigSrc $(TOP)/config #endif #ifndef DependDir #if UseCCMakeDepend || UseGccMakeDepend #define DependDir $(CONFIGSRC)/util #else #define DependDir $(CONFIGSRC)/makedepend #endif #endif #ifndef UNCOMPRESSPATH #define UNCOMPRESSPATH /usr/ucb/uncompress #endif #ifndef OptimizedCDebugFlags #define OptimizedCDebugFlags -O #endif #ifndef OptimizedCplusplusDebugFlags #define OptimizedCplusplusDebugFlags OptimizedCDebugFlags #endif #ifndef DebuggableCDebugFlags #define DebuggableCDebugFlags -g #endif #ifndef DebuggableCplusplusDebugFlags #define DebuggableCplusplusDebugFlags DebuggableCDebugFlags #endif #ifndef ProfiledCDebugFlags #define ProfiledCDebugFlags -pg #endif #ifndef ProfiledCplusplusDebugFlags #define ProfiledCplusplusDebugFlags ProfiledCDebugFlags #endif #ifndef NoOpCDebugFlags #define NoOpCDebugFlags /**/ #endif #ifndef DefaultCDebugFlags #define DefaultCDebugFlags OptimizedCDebugFlags #endif #ifndef DefaultCplusplusDebugFlags #define DefaultCplusplusDebugFlags OptimizedCplusplusDebugFlags #endif #ifndef DefaultCCOptions #define DefaultCCOptions /* floating point, etc. */ #endif #ifndef DefaultCplusplusOptions #define DefaultCplusplusOptions /* floating point, etc. */ #endif #ifndef NoRConst #define NoRConst NO /* YES if const for structs of funcs is bad */ #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 /* put -g kmem -m 2755 in site.def... */ #define InstKmemFlags InstUidFlags #endif #ifndef ArCmdBase #define ArCmdBase ar #endif #ifndef ArCmd #if HasLargeTmp || SystemV4 #define ArCmd ArCmdBase cq #else #define ArCmd ArCmdBase clq #endif #endif #ifndef ArAddCmd #if HasLargeTmp || SystemV4 #define ArAddCmd ArCmdBase ru #else #define ArAddCmd ArCmdBase rul #endif #endif #ifndef ArExtCmd #if HasLargeTmp || SystemV4 #define ArExtCmd ArCmdBase x #else #define ArExtCmd ArCmdBase xl #endif #endif #ifndef BootstrapCFlags #define BootstrapCFlags /**/ #endif #ifndef HasGcc2 #define HasGcc2 NO #endif #ifndef HasGcc #define HasGcc HasGcc2 #endif #ifndef HasGcc2ForCplusplus #define HasGcc2ForCplusplus NO #endif #ifndef HasCenterLineC #define HasCenterLineC NO #endif #ifndef HasCenterLineCplusplus #define HasCenterLineCplusplus NO #endif #ifndef CcCmd #if HasGcc2 #define CcCmd gcc -fpcc-struct-return #else #if HasGcc #define CcCmd gcc -fstrength-reduce -fpcc-struct-return #else #if HasCenterLineC #define CcCmd clcc #else #define CcCmd cc #endif #endif #endif #endif #ifndef CplusplusCmd #if HasGcc2ForCplusplus #define CplusplusCmd g++ #else #define CplusplusCmd CC #endif #endif #ifndef CplusplusStandardDefines #define CplusplusStandardDefines StandardDefines #endif #ifndef CplusplusExtraDefines #define CplusplusExtraDefines /**/ #endif #ifndef CplusplusExtraIncludes #define CplusplusExtraIncludes /**/ #endif #ifndef CplusplusDependIncludes #define CplusplusDependIncludes /**/ #endif #ifndef CplusplusOptions #define CplusplusOptions /**/ #endif #ifndef CplusplusSpecialOptions #define CplusplusSpecialOptions /**/ #endif #if HasFortran #ifndef FortranCmd #define FortranCmd f77 #endif #ifndef FortranFlags #define FortranFlags /**/ #endif #ifndef FortranDebugFlags /* for -O or -g */ #define FortranDebugFlags /**/ #endif #endif #ifndef AsCmd #define AsCmd as #endif #ifndef CompressCmd #define CompressCmd compress #endif #ifndef CppCmd #define CppCmd /lib/cpp #endif #ifndef PreProcessCmd #define PreProcessCmd CcCmd -E #endif #ifndef InstallCmd /* hack should be in project */ #if SystemV || SystemV4 #ifdef UseInstalled /* assume BINDIR in path */ #define InstallCmd bsdinst #else #define InstallCmd $(SHELL) $(CONFIGSRC)/util/bsdinst.sh #endif #else #define InstallCmd install #endif #endif #ifndef InstallFlags #define InstallFlags -c #endif #ifndef LdCmd #define LdCmd ld #endif #ifndef LexCmd #define LexCmd lex #endif #ifndef LexLib #define LexLib -ll #endif #ifndef YaccCmd #define YaccCmd yacc #endif #ifndef CplusplusYaccCmd #define CplusplusYaccCmd YaccCmd #endif #ifndef LintCmd #define LintCmd lint #endif #ifndef LintLibFlag #if SystemV || SystemV4 #define LintLibFlag -o #else #define LintLibFlag -C #endif #endif #ifndef LintOpts #if SystemV || SystemV4 #define LintOpts -bh #else #define LintOpts -axz #endif #endif #ifndef CpCmd #define CpCmd cp #endif #ifndef HasSymLinks #define HasSymLinks YES #endif #ifndef LnCmd /* can use cp instead of ln if necessary */ #if HasSymLinks #define LnCmd ln -s #else #define LnCmd ln #endif #endif #ifndef MakeCmd #define MakeCmd make #endif #ifndef MvCmd #define MvCmd mv #endif #ifndef RanlibCmd #define RanlibCmd ranlib #endif #ifndef RanlibInstFlags #define RanlibInstFlags /**/ #endif #ifndef RmCmd #define RmCmd rm -f #endif #ifndef StandardIncludes /* for platform-specifics */ #define StandardIncludes /**/ #endif #ifndef StandardDefines #if SystemV #define StandardDefines -DSYSV #else #if SystemV4 #define StandardDefines -DSVR4 #else #define StandardDefines /**/ #endif #endif #endif #ifndef StandardCppDefines #define StandardCppDefines StandardDefines #endif #ifndef Malloc0ReturnsNull #if UseGnuMalloc #define Malloc0ReturnsNull YES #else #define Malloc0ReturnsNull NO #endif #endif #ifndef ToolkitStringsABIOptions #define ToolkitStringsABIOptions /**/ #endif #ifndef NdbmDefines #if HasNdbm #define NdbmDefines -DNDBM #else #define NdbmDefines /**/ #endif #endif #ifndef LdPreLib #if !defined(UseInstalled) #define LdPreLib -L$(BUILDLIBDIR) #else #if AlternateUsrLibDir #define LdPreLib -L$(USRLIBDIR) #else #define LdPreLib /**/ #endif #endif #endif #ifndef LdPostLib #if !defined(UseInstalled) && AlternateUsrLibDir && !HasLdRunPath #define LdPostLib -L$(USRLIBDIR) #else #define LdPostLib /**/ #endif #endif #ifndef MathLibrary #define MathLibrary -lm #endif #ifndef DBMLibrary #define DBMLibrary -ldbm #endif #ifndef ExtraLibraries #if SystemV4 #if HasSockets #define ExtraLibraries -lsocket -lnsl -lw #else #define ExtraLibraries -lnsl -lw #endif #else #define ExtraLibraries /**/ #endif #endif #ifndef ExtraLoadOptions #define ExtraLoadOptions /**/ #endif #ifndef ExtraLoadFlags #define ExtraLoadFlags /**/ #endif #ifndef LdCombineFlags #if SystemV4 #define LdCombineFlags -r #else #define LdCombineFlags -X -r #endif #endif #ifndef LdStripFlags #define LdStripFlags -x #endif #ifndef TagsCmd #define TagsCmd ctags #endif #ifndef LoaderLibPrefix #define LoaderLibPrefix /**/ #endif #ifndef ImakeCmd #ifdef UseInstalled /* assume BINDIR in path */ #define ImakeCmd imake #else #define ImakeCmd $(IMAKESRC)/imake #endif #endif #ifndef DependCmd #if UseGccMakeDepend #ifdef UseInstalled /* assume BINDIR in path */ #define DependCmd gccmakedep #else #define DependCmd $(DEPENDSRC)/gccmakedep #endif #else #ifdef UseInstalled /* assume BINDIR in path */ #define DependCmd makedepend #else #define DependCmd $(DEPENDSRC)/makedepend #endif #endif #endif #ifndef DependFlags #define DependFlags /**/ #endif #ifndef IxxCmd #ifdef UseInstalled #define IxxCmd ixx /* assume BINDIR in path */ #else #define IxxCmd $(IXXSRC)/ixx #endif #endif #ifndef IxxFlags #define IxxFlags -s BaseObject -m TypeObj -r RequestObj -p Xf #endif #ifndef IxxIncludes #define IxxIncludes -i '' #endif #ifndef MkdirHierCmd #ifdef UseInstalled /* assume BINDIR in path */ #define MkdirHierCmd mkdirhier #else #define MkdirHierCmd $(SHELL) $(CONFIGSRC)/util/mkdirhier.sh #endif #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 DvipsCmd #define DvipsCmd dvips #endif #ifndef LatexCmd #define LatexCmd latex #endif #if HasSentinel #ifndef SentinelCmd #define SentinelCmd sentinel #endif #ifndef SentinelOptions #define SentinelOptions /**/ #endif #endif #if HasPurify #ifndef PurifyCmd #define PurifyCmd purify #endif #ifndef PurifyOptions #define PurifyOptions /**/ #endif #endif #if HasTestCenter #ifndef ProofCmd #define ProofCmd proof #endif #ifndef ProofOptions #define ProofOptions /**/ #endif #endif #ifndef PathSeparator #define PathSeparator / #endif #ifndef Osuf #define Osuf o #endif #ifndef CCsuf #define CCsuf cxx #endif #ifndef SHsuf #define SHsuf sh #endif #ifndef ManSuffix #define ManSuffix n /* use just one tab or cpp will die */ #endif #ifndef LibManSuffix #define LibManSuffix 3 /* use just one tab or cpp will die */ #endif #ifndef FileManSuffix #if SystemV || SystemV4 || defined(OSF1Architecture) #define FileManSuffix 4 /* use just one tab or cpp will die */ #else #define FileManSuffix 5 /* use just one tab or cpp will die */ #endif #endif #ifndef ExpandManNames #if SystemV #define ExpandManNames NO #else #define ExpandManNames YES #endif #endif #ifndef TOPDIR #define TOPDIR . #endif #ifndef CURDIR #define CURDIR . #endif #ifndef SiteIConfigFiles #define SiteIConfigFiles /**/ #endif #ifndef OtherIConfigFiles #define OtherIConfigFiles /**/ #endif #ifndef ExtraFilesToClean #define ExtraFilesToClean /**/ #endif #ifndef FilesToClean #define FilesToClean *.CKP *.ln *.BAK *.bak *.Osuf core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut #endif PATHSEP = PathSeparator SHELL = BourneShell TOP = TOPDIR CURRENT_DIR = CURDIR IMAKE = ImakeCmd DEPEND = DependCmd MKDIRHIER = MkdirHierCmd CONFIGSRC = ConfigSrc IMAKESRC = $(CONFIGSRC)/imake DEPENDSRC = DependDir IXXSRC = $(UNSUPPORTEDSRC)/programs/ixx IXX = IxxCmd IXXFLAGS = IxxFlags IXXINCLUDES = IxxIncludes INCROOT = IncRoot /* base of where to put header files */ USRLIBDIR = UsrLibDir /* nonshared libraries */ SHLIBDIR = ShLibDir /* shared libraries */ LINTLIBDIR = LintlibDir /* lint libraries */ MANPATH = ManPath /* top of manual page tree */ MANSOURCEPATH = ManSourcePath /* prefix for man page sources */ MANDIR = ManDir /* man pages for commands */ LIBMANDIR = LibmanDir /* man pages for library routines */ FILEMANDIR = FileManDir /* man pages for config files */ AR = ArCmd BOOTSTRAPCFLAGS = BootstrapCFlags /* set if cpp does not have uniq sym */ CC = CcCmd AS = AsCmd #if HasFortran FC = FortranCmd FDEBUGFLAGS = FortranDebugFlags FCFLAGS = FortranFlags $(FDEBUGFLAGS) #endif #if HasCplusplus .SUFFIXES: .CCsuf CXX = CplusplusCmd CXXDEBUGFLAGS = DefaultCplusplusDebugFlags CXXEXTRA_DEFINES = CplusplusExtraDefines CXXEXTRA_INCLUDES = CplusplusExtraIncludes CXXIDL_INCLUDES = -I$(TOP)/include CXXSTD_DEFINES = CplusplusStandardDefines CXXOPTIONS = CplusplusOptions CXXINCLUDES = $(INCLUDES) $(TOP_INCLUDES) $(CXXEXTRA_INCLUDES) $(CXXIDL_INCLUDES) CXXDEFINES = $(CXXINCLUDES) $(CXXSTD_DEFINES) $(THREADS_CXXDEFINES) $(CXXEXTRA_DEFINES) CXXFLAGS = $(CXXDEBUGFLAGS) $(CXXOPTIONS) $(THREADS_CXXFLAGS) $(CXXDEFINES) #endif COMPRESS = CompressCmd CPP = CppCmd $(STD_CPP_DEFINES) /* simple filters */ PREPROCESSCMD = PreProcessCmd $(STD_CPP_DEFINES) /* prefered; mdep */ INSTALL = InstallCmd INSTALLFLAGS = InstallFlags LD = LdCmd LEX = LexCmd LEXLIB = LexLib YACC = YaccCmd CCYACC = CplusplusYaccCmd LINT = LintCmd LINTLIBFLAG = LintLibFlag LINTOPTS = LintOpts LN = LnCmd MAKE = MakeCmd MV = MvCmd CP = CpCmd #if DoRanlibCmd RANLIB = RanlibCmd RANLIBINSTFLAGS = RanlibInstFlags #endif RM = RmCmd MANSUFFIX = ManSuffix /* suffix for command man pages */ LIBMANSUFFIX = LibManSuffix /* suffix for library man pages */ FILEMANSUFFIX = FileManSuffix /* suffix for config file man pages */ TROFF = TroffCmd MSMACROS = MsMacros TBL = TblCmd EQN = EqnCmd #if HasLatex DVIPS = DvipsCmd LATEX = LatexCmd #endif #if HasSentinel SENTINEL = SentinelCmd SENTINELOPTIONS = SentinelOptions #endif #if HasPurify PURIFY = PurifyCmd PURIFYOPTIONS = PurifyOptions #endif #if HasTestCenter PROOF = ProofCmd PROOFOPTIONS = ProofOptions #endif STD_INCLUDES = StandardIncludes STD_CPP_DEFINES = StandardCppDefines STD_DEFINES = StandardDefines EXTRA_LOAD_FLAGS = ExtraLoadFlags EXTRA_LDOPTIONS = ExtraLoadOptions EXTRA_LIBRARIES = MallocLibraries ExtraLibraries Krb5Libraries TAGS = TagsCmd #if ConstructMFLAGS MFLAGS = -$(MAKEFLAGS) #endif #if HasSharedLibraries SHAREDCODEDEF = SharedCodeDef SHLIBDEF = SharedLibraryDef #ifdef SharedLibraryLoadFlags SHLIBLDFLAGS = SharedLibraryLoadFlags #endif /* * Here we set up flags needed to produce position-independent code * when doing C and C++ compilation. The default if you specify C * PIC flags without also specifying C++ PIC flags is to assume that * the C flags work for both. If your C++ compiler requires different * flags, specify them explicitly in PositionIndependentCplusplusFlags. */ #ifdef PositionIndependentCFlags PICFLAGS = PositionIndependentCFlags #endif #ifdef PositionIndependentCplusplusFlags CXXPICFLAGS = PositionIndependentCplusplusFlags #else #ifdef PositionIndependentCFlags CXXPICFLAGS = PositionIndependentCFlags #endif #endif #endif #if !HasVoidSignalReturn SIGNAL_DEFINES = -DSIGNALRETURNSINT #endif /* * The following supports forcing of function prototypes */ #if NeedFunctionPrototypes && NeedVarargsPrototypes && NeedConstPrototypes && NeedNestedPrototypes #define _funcprotodef -DFUNCPROTO=15 #else #if NeedFunctionPrototypes && NeedVarargsPrototypes && NeedNestedPrototypes #define _funcprotodef -DFUNCPROTO=11 #else #if NeedFunctionPrototypes && NeedNestedPrototypes #define _funcprotodef -DFUNCPROTO=9 #else #if NeedFunctionPrototypes && NeedVarargsPrototypes && NeedConstPrototypes #define _funcprotodef -DFUNCPROTO=7 #else #if NeedFunctionPrototypes && NeedConstPrototypes #define _funcprotodef -DFUNCPROTO=5 #else #if NeedFunctionPrototypes && NeedVarargsPrototypes #define _funcprotodef -DFUNCPROTO=3 #else #if NeedFunctionPrototypes #define _funcprotodef -DFUNCPROTO #else #define _funcprotodef /**/ #endif #endif #endif #endif #endif #endif #endif #if NeedWidePrototypes #define _wideprotodef /**/ #else #define _wideprotodef -DNARROWPROTO #endif PROTO_DEFINES = _funcprotodef _wideprotodef #undef _funcprotodef #undef _wideprotodef #if StripInstalledPrograms INSTPGMFLAGS = InstPgmFlags /* install flags for stripping */ #else INSTPGMFLAGS = #endif INSTBINFLAGS = InstBinFlags /* install flags for programs */ INSTUIDFLAGS = InstUidFlags /* install flags for setuid programs */ INSTLIBFLAGS = InstLibFlags /* install flags for libraries */ INSTINCFLAGS = InstIncFlags /* install flags for headers */ INSTMANFLAGS = InstManFlags /* install flags for man pages */ INSTDATFLAGS = InstDatFlags /* install flags for data files */ INSTKMEMFLAGS = InstKmemFlags /* install flags for /dev/kmem progs */ #ifdef ProjectRoot PROJECTROOT = ProjectRoot #endif #ifdef UseInstalled #if AlternateIncRoot 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 */ /* * 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) $(THREADS_DEFINES) $(DEFINES) CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(THREADS_CFLAGS) $(ALLDEFINES) LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES) $(DEPEND_DEFINES) LDPRELIB = LdPreLib LDPOSTLIB = LdPostLib LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS) $(EXTRA_LDOPTIONS) $(THREADS_LDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIB) CXXLDOPTIONS = $(CXXDEBUGFLAGS) $(CXXOPTIONS) $(EXTRA_LDOPTIONS) $(THREADS_CXXLDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIB) LDLIBS = $(LDPOSTLIB) $(THREADS_LIBS) $(SYS_LIBRARIES) $(EXTRA_LIBRARIES) #if AlternateUsrLibDir && HasLdRunPath CCENVSETUP = LD_RUN_PATH=$(USRLIBDIR) CCLINK = $(CCENVSETUP) $(CC) #else CCLINK = $(CC) #endif #if AlternateUsrLibDir && HasLdRunPath CXXENVSETUP = LD_RUN_PATH=$(USRLIBDIR) CXXLINK = $(CXXENVSETUP) $(CXX) #else CXXLINK = $(CXX) #endif LDSTRIPFLAGS = LdStripFlags LDCOMBINEFLAGS = LdCombineFlags DEPENDFLAGS = DependFlags MACROFILE = MacroFile RM_CMD = $(RM) 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)/cf IMAKE_CMD = $(IMAKE) -I$(IRULESRC) $(IMAKE_DEFINES) #endif ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/Project.tmpl \ $(IRULESRC)/site.def $(IRULESRC)/$(MACROFILE) \ OtherIConfigFiles SiteIConfigFiles $(EXTRA_ICONFIGFILES) #ifndef LocalRulesFile /* need this to make ANSI-style preprocessors happy */ #define LocalRulesFile #endif #include LocalRulesFile /* * get project-specific configuration and rules */ #include #ifndef LocalTmplFile /* need this to make ANSI-style preprocessors happy */ #define LocalTmplFile #endif #include LocalTmplFile #ifdef FixupLibReferences FixupLibReferences() #endif /* ConfigDir comes from Project.tmpl */ CONFIGDIR = ConfigDir /* build configuration information */ XCOMM ----------------------------------------------------------------------- XCOMM start of Imakefile #include INCLUDE_IMAKEFILE XCOMM ----------------------------------------------------------------------- XCOMM common rules for all Makefiles - do not edit .c.i: CPPOnlyCompile($*.c,$(_NOOP_)) /* * These need to be here so that rules in Imakefile occur first; the blank * emptyrule is to make sure that an empty Imakefile does not default to make * clean. */ emptyrule:: CleanTarget() #ifndef IHaveSpecialMakefileTarget MakefileTarget() #endif TagsTarget() #ifdef MakefileAdditions MakefileAdditions() #endif CenterLoadTarget(debug_src,$(SRCS),NullParameter,$(ALLDEFINES)) CenterLoadTarget(debug_obj,$(OBJS),NullParameter,$(ALLDEFINES)) #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:: depend:: #endif /* if subdirectory rules are needed */ XCOMM ----------------------------------------------------------------------- XCOMM dependencies generated by makedepend