📄 imake.tmpl
字号:
#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 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 SHELL = BourneShell TOP = TOPDIR CURRENT_DIR = CURDIR 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 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 *//* * 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 = $(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 = $(CDEBUGFLAGS) $(CCOPTIONS) $(LOCAL_LDFLAGS) -L$(USRLIBDIR)#else LDOPTIONS = $(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_IMAKEFILEXCOMM -------------------------------------------------------------------------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 IHaveSpecialMakefileTargetMakefileTarget()#endifTagsTarget()#ifdef MakefileAdditionsMakefileAdditions()#endif#if HasSaberCsaber: XCOMM load $(ALLDEFINES) $(SRCS)osaber: XCOMM load $(ALLDEFINES) $(OBJS)#endif#ifdef IHaveSubdirsXCOMM -------------------------------------------------------------------------XCOMM rules for building in SUBDIRS - do not editInstallSubdirs($(SUBDIRS))InstallManSubdirs($(SUBDIRS))CleanSubdirs($(SUBDIRS))TagSubdirs($(SUBDIRS))MakefileSubdirs($(SUBDIRS))IncludesSubdirs($(SUBDIRS))#elseXCOMM -------------------------------------------------------------------------XCOMM empty rules for directories that do not have SUBDIRS - do not editinstall:: @echo "install in $(CURRENT_DIR) done"install.man:: @echo "install.man in $(CURRENT_DIR) done"Makefiles::includes::#endif /* if subdirectory rules are needed */XCOMM -------------------------------------------------------------------------XCOMM dependencies generated by makedepend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -