📄 imake.rules
字号:
XCOMM ---------------------------------------------------------------------XCOMM Imake rules for building libraries, programs, scripts, and data filesXCOMM rules: $TOG: Imake.rules /main/222 1997/07/17 20:04:40 kaleb $XCOMM rules: $XFree86: xc/config/cf/Imake.rules,v 3.33.2.7 1998/02/06 09:02:17 dawes Exp $/* * MACHINE-INDEPENDENT RULES; DO NOT MODIFY * * Warning, when defining rules: make sure you do not include both a trailing * backslash and double ampersand backslash or else you will get an extra * backslash in the Makefile. * * The following macros are defined for the various templates and Imakefiles * (for a list of the applicable make variables, see the template files): * * Concat (a,b) * Concat3 (a,b,c) * Concat4 (a,b,c,d) * _Use (a,b) * _UseCat (a,b,c) * _MUse (a,b) * _MUseCat (a,b,c) * ProgramTargetName (target) * RunProgram (progvar,options) * RunProgramWithSetup (setup,progvar,options) * RemoveFile (file) * RemoveFiles (files) * CenterLoadTarget (target,srclist,libs,defines) * CenterProgramTarget (program,srclist,objlist,locallibs,syslibs) * SentinelLinkTarget (step,program,linklist) * SentinelProgramTarget (program,deplist,linklist) * SentinelCplusplusProgramTarget (program,deplist,linklist) * PurifyLinkTarget (step,program,linklist) * PurifyProgramTarget (program,deplist,linklist) * PurifyCplusplusProgramTarget (program,deplist,linklist) * ProofLinkTarget (step,program,linklist) * ProofProgramTarget (program,deplist,linklist) * ProofCplusplusProgramTarget (program,deplist,linklist) * ProofCleanTarget () * RemoveTargetProgram (program) * MakeDir (dir) * BuildIncludesTop (srclist) * BuildIncludes (srclist,dstsubdir,dstupdir) * LinkRule (program,options,objects,libraries) * HostLinkRule (program,options,objects,libraries) * NoCmpScript (target) * NoConfigRec (target) * NormalProgramTarget (program,objects,deplibs,locallibs,syslibs) * SetUIDProgramTarget (program,objects,deplibs,locallibs,syslibs) * SingleProgramTarget (program,objects,locallibs,syslibs) * SimpleProgramTarget (program) * ComplexProgramTarget (program) * ComplexProgramTarget_1 (program,locallib,syslib) * ComplexProgramTarget_2 (program,locallib,syslib) * ComplexProgramTarget_3 (program,locallib,syslib) * ServerTargetWithFlags (server,subdirs,objects,libs,syslibs,flags) * ServerTarget (server,subdirs,objects,libs,syslibs) * MoveToBakFile (file) * RMoveToBakFile (file) * RanLibrary (args) * LibraryTargetName (libname) * LibraryTargetNameSuffix (libname,suffix) * InstallNamedTarget (step,srcname,flags,dest,dstname) * InstallTarget (step,file,flags,dest) * InstallLibrary (libname,dest) * MergeIntoInstalledLibrary (tolib,fromlib) * InstallLibraryAlias (libname,alias,dest) * InstallLintLibrary (libname,dest) * InstallManPageLong (file,destdir,dest) * InstallManPage (file,destdir) * InstallManPageAliases (file,destdir,aliases) * ManKeywordsTarget (manpath) * InstallNamedNonExec (srcname,dstname,dest) * InstallNonExecFile (file,dest) * InstallNonExecFileNoClobber (file,dest) * InstallNonExec (file,dest) * InstallProgramWithFlags (program,dest,flags) * InstallProgram (program,dest) * InstallScript (program,dest) * InstallNamedProg (srcname,dstname,dest) * InstallNamedProgNoClobber (srcname,dstname,dest) * MakeFlagsToShellFlags (makeflags,shellcmd) * MakeNamedTargetSubdir (dir,flags,subname) * LinkFileList (step,list,dir,sub) * LinkVarDirectory (mdir,cdir,rdir,ldir) * InstallMultipleDestFlags (step,list,dest,flags) * InstallMultipleDest (step,list,dest) * InstallMultiple (list,dest) * InstallMultipleFlags (list,dest,flags) * InstallMultipleMan (list,dest) * DependDependency () * DependTarget () * DependTarget3 (srcs1,srcs2,srcs3) * CleanTarget () * TagsTarget () * ImakeDependency (target) * BuildMakefileTarget (notused,imakeflags) * MakefileTarget () * LibMkdir (dir) * LibCleanDir (dir) * LintLibReferences (varname,libname,libsource) * UnsharedLibReferences (varname,libname,libsource) * ProjectUnsharedLibReferences (varname,libname,libsource,buildlibdir) * SharedLibDependencies (libname,libsource,revname) * SharedDSLibDependencies (libname,libsource,revname) * SharedLibReferences (varname,libname,libsource,revname,rev) * SharedDSLibReferences (varname,libname,libsource,revname,rev) * ObjectCompile (options) * NormalLibObjCompile (options) * NormalSharedLibObjCompile (options) * LibObjCompile (dir,options) * DebuggedLibObjCompile (options) * ProfiledLibObjCompile (options) * SharedLibObjCompile (options) * NormalLibraryObjectRule () * NormalFortranObjectRule () * ObjectFromSpecialSource (dst,src,flags) * SpecialObjectRule (objs,depends,options) * SpecialCObjectRule (basename,depends,options) * LexFile (file) * YaccFile (file,flags) * YaccFileNoFlags (file) * MakeLibrary (libname,objlist) * NormalLibraryTarget (libname,objlist) * NormalLibraryTarget2 (libname,objlist1,objlist2) * NormalLibraryTarget3 (libname,objlist1,objlist2,objlist3) * NormalDepLibraryTarget (libname,deplist,objlist) * UnsharedLibraryTarget (libname,objlist,down,up) * UnsharedLibraryTarget3 (libname,objlist1,objlist2,objlist3,down,up) * SubdirLibraryRule (objlist) * ProfiledLibraryTarget (libname,objlist) * DebuggedLibraryTarget (libname,objlist) * AliasedLibraryTarget (libname,alias) * NormalRelocatableTarget (objname,objlist) * ProfiledRelocatableTarget (objname,objlist) * DebuggedRelocatableTarget (objname,objlist) * LintLibraryTarget (libname,srclist) * NormalLintTarget (srclist) * LintTarget () * LinkSourceFile (src,dir) * LinkFile (tofile,fromfile) * MakeSubincludesForBuild (step,dir,srclist) * LangNamedTargetSubdirs (lang,name,dirs,verb,flags,subname) * LangNamedMakeSubdirs (lang,name,dirs) * LangMakeSubdirs (lang,dirs) * NamedTargetSubdirs (name,dirs,verb,flags,subname) * NamedMakeSubdirs (name,dirs) * MakeSubdirs (dirs) * DependSubdirs (dirs) * ForceSubdirs (dirs) * InstallSubdirs (dirs) * InstallManSubdirs (dirs) * IncludesSubdirs (dirs) * NamedCleanSubdirs (name,dirs) * CleanSubdirs (dirs) * NamedTagSubdirs (name,dirs) * TagSubdirs (dirs) * MakeLintSubdirs (dirs,target,subtarget) * LintSubdirs (dirs) * MakeLintLibSubdirs (dirs) * MakeMakeSubdirs (dirs,target) * MakefileSubdirs (dirs) * CppScriptTarget (dst,src,defs,deplist) * MakeScriptFromCpp (name,defs) * CppFileTarget (dst,src,defs,deplist) * CppSourceFile (dst,src,defs,deplist) * MakeDirectories (step,dirs) * AllTarget (depends) * StaticLibrary (libpath,libname) * MakeMutex (targets) * * * The following are in specific <os>Lib.rules: * * SharedLibraryTarget (libname,rev,solist,down,up) * SharedLibraryDataTarget (libname,rev,salist) * InstallSharedLibrary (libname,rev,dest) * InstallSharedLibraryData (libname,rev,dest) * */#define NullParameter/* if [ -d ] or [ ! -d ] causes make to fail, define this as - */#ifndef DirFailPrefix#define DirFailPrefix#endif/* * NoCmpScript - suppress clearmake build script comparison. */#ifndef NoCmpScript#if HasClearmake#define NoCmpScript(targ) @@\XCOMM special target for clearmake @@\.NO_CMP_SCRIPT: targ#else#define NoCmpScript(targ) /**/#endif#endif/* * NoConfigRec - suppress using clearmake configuration records. */#ifndef NoConfigRec#if HasClearmake#define NoConfigRec(targ) @@\XCOMM special target for clearmake @@\.NO_CONFIG_REC: targ#else#define NoConfigRec(targ) /**/#endif#endif/* * Concat - concatenates two strings. */#ifndef Concat#if (__STDC__ && !defined(UnixCpp)) || defined(AnsiCpp)#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)) || defined(AnsiCpp)#define Concat3(a,b,c)a##b##c#else#define Concat3(a,b,c)a/**/b/**/c#endif#endif/* * Concat4 - concatenates four strings. */#ifndef Concat4#if (__STDC__ && !defined(UnixCpp)) || defined(AnsiCpp)#define Concat4(a,b,c,d)a##b##c##d#else#define Concat4(a,b,c,d)a/**/b/**/c/**/d#endif#endif/* * _XUse - makes a choice based on UseInstalledX11. */#ifndef _XUse# if defined(UseInstalled) || UseInstalledX11# define _XUse(a,b) a# else# define _XUse(a,b) b# endif#endif /* _XUse *//* * _Use - makes a choice based on UseInstalled. */#ifndef _Use# define _Use _XUse#endif /* _Use *//* * _XUseCat - combination of _XUse and Concat. * exists to avoid problems with some preprocessors */#ifndef _XUseCat# if (__STDC__ && !defined(UnixCpp)) || defined(AnsiCpp)# if defined(UseInstalled) || UseInstalledX11# define _XUseCat(a,b,c) a##c# else# define _XUseCat(a,b,c) b##c# endif# else# if defined(UseInstalled) || UseInstalledX11# define _XUseCat(a,b,c) a/**/c# else# define _XUseCat(a,b,c) b/**/c# endif# endif#endif /* _XUseCat *//* * _UseCat - combination of _Use and Concat. * exists to avoid problems with some preprocessors */#ifndef _UseCat# define _UseCat _XUseCat#endif /* _UseCat */#ifndef ProgramTargetName#define ProgramTargetName(target)target#endif#ifndef RunProgram#define RunProgram(progvar,options) $(progvar) options#endif#ifndef RunProgramWithSetup#define RunProgramWithSetup(setup,progvar,options) setup $(progvar) options#endif#ifndef RemoveFile#define RemoveFile(file) $(RM) file#endif /* RemoveFile */#ifndef RemoveFiles#define RemoveFiles(files) $(RM) files#endif /* RemoveFiles *//* * CenterLoadTarget - generate rules to load files into CodeCenter */#ifndef CenterLoadTarget#if HasCodeCenter#define CenterLoadTarget(target,srclist,libs,defines) @@\ProgramTargetName(target):: srclist @@\ XCOMM load defines srclist libs#else#define CenterLoadTarget(target,srclist,libs,defines) /**/#endif#endif /* CenterLoadTarget *//* * CenterProgramTarget - generate rules to make CodeCenter read in sources * and objects. */#ifndef CenterProgramTarget#define CenterProgramTarget(program,srclist,objlist,locallibs,syslibs) @@\CenterLoadTarget(Concat(debug_,program),srclist,$(EXTRA_LDOPTIONS) $(LOCAL_LDFLAGS) $(LDPRELIBS) locallibs $(LDLIBS) syslibs,$(ALLDEFINES)) @@\ @@\CenterLoadTarget(Concat(odebug_,program),objlist,$(EXTRA_LDOPTIONS) $(LOCAL_LDFLAGS) $(LDPRELIBS) locallibs $(LDLIBS) syslibs,$(ALLDEFINES))#endif /* CenterProgramTarget */#ifndef SentinelLinkTarget#if HasSentinel#define SentinelLinkTarget(step,program,linklist) @@\ProgramTargetName(step.sentinel): @@\ RemoveTargetProgram($@) @@\ $(CCENVSETUP) $(SENTINEL) $(SENTINELOPTIONS) $(CC) -o program.sentinel $(LDOPTIONS) linklist $(EXTRA_LOAD_FLAGS)#else#define SentinelLinkTarget(step,program,linklist) /**/#endif#endif /* SentinelLinkTarget *//* * SentinelProgramTarget - generate rules to make Sentinel image */#ifndef SentinelProgramTarget#if HasSentinel#define SentinelProgramTarget(program,deplist,linklist) @@\ProgramTargetName(program.sentinel): deplist @@\ RemoveTargetProgram($@) @@\ $(CCENVSETUP) $(SENTINEL) $(SENTINELOPTIONS) $(CC) -o $@ $(LDOPTIONS) linklist $(EXTRA_LOAD_FLAGS) @@\ @@\clean clean.sentinel:: @@\ RemoveFile(program.sentinel)#else#define SentinelProgramTarget(program,deplist,linklist) /**/#endif#endif /* SentinelProgramTarget *//* * SentinelCplusplusProgramTarget - generate rules to make Sentinel image */#ifndef SentinelCplusplusProgramTarget#if HasSentinel#define SentinelCplusplusProgramTarget(program,deplist,linklist) @@\ProgramTargetName(program.sentinel): deplist @@\ RemoveTargetProgram($@) @@\ $(CXXENVSETUP) $(SENTINEL) $(SENTINELOPTIONS) $(CXX) -o $@ $(CXXLDOPTIONS) linklist $(EXTRA_LOAD_FLAGS) @@\ @@\clean clean.sentinel:: @@\ RemoveFile(program.sentinel)#else#define SentinelCplusplusProgramTarget(program,deplist,linklist) /**/#endif#endif /* SentinelCplusplusProgramTarget */#ifndef PurifyLinkTarget#if HasPurify#define PurifyLinkTarget(step,program,linklist) @@\ProgramTargetName(step.pure): @@\ RemoveTargetProgram($@) @@\ $(CCENVSETUP) $(PURIFY) $(PURIFYOPTIONS) $(CC) -o program.pure $(LDOPTIONS) linklist $(EXTRA_LOAD_FLAGS)#else#define PurifyLinkTarget(step,program,linklist) /**/#endif#endif /* PurifyLinkTarget *//*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -