📄 imake.tmpl
字号:
#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 ,* *~ *.lib .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 <Motif.tmpl>
#include <Imake.rules>
#include <Motif.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))
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"
Makefiles::
includes::
#endif /* if subdirectory rules are needed */
XCOMM -------------------------------------------------------------------------
XCOMM dependencies generated by makedepend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -