⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 imake.rules

📁 与Casio BOSS进行串口通讯的程序
💻 RULES
📖 第 1 页 / 共 3 页
字号:
XCOMM -------------------------------------------------------------------------XCOMM Imake rules for building libraries, programs, scripts, and data filesXCOMM rules:  $XConsortium: Imake.rules,v 1.123 91/09/16 20:12:16 rws 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): *  * SaberProgramTarget		(program,srclist,objlist,locallibs,syslibs) * RemoveTargetProgram		(program) * MakeDir			(dir) * 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) * RanLibrary			(args) * LinkFileList			(step,list,dir,sub) * InstallMultipleDestFlags	(step,list,dest,flags) * InstallMultipleDest		(step,list,dest) * InstallMultiple		(list,dest) * DependTarget			() * DependTarget3		(srcs1,srcs2,srcs3) * CleanTarget			() * TagsTarget			() * BuildMakefileTarget		(notused,imakeflags) * MakefileTarget		() * LibMkdir			(dir) * LibCleanDir			(dir) * ObjectCompile		(options) * NormalLibObjCompile		(options) * NormalSharedLibObjCompile	(options) * LibObjCompile		(dir,options) * DebuggedLibObjCompile	(options) * ProfiledLibObjCompile	(options) * SharedLibObjCompile		(options) * NormalLibraryObjectRule	() * ObjectFromSpecialSource	(dst,src,flags) * SpecialObjectRule		(objs,depends,options) * NormalLibraryTarget		(libname,objlist) * NormalLibraryTarget2		(libname,objlist1,objlist2) * NormalLibraryTarget3		(libname,objlist1,objlist2,objlist3) * NormalDepLibraryTarget	(libname,deplist,objlist) * 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) * 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) * MakeNsubdirMakefiles		() * MakefileSubdirs		(dirs) * CppScriptTarget		(dst,src,defs,deplist) * MakeScriptFromCpp		(name,defs) * CppFileTarget		(dst,src,defs,deplist) * MakeDirectories		(step,dirs) * AllTarget			(depends) * * * The following are in Imake.tmpl: * * Concat			(a,b) * Concat3			(a,b,c) *  * * 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/* * SaberProgramTarget - generate rules to make Saber-C read in sources and * objects. */#ifndef SaberProgramTarget#if HasSaberC#define SaberProgramTarget(program,srclist,objlist,locallibs,syslibs)	@@\Concat(saber_,program):: srclist					@@\	XCOMM load $(ALLDEFINES) srclist locallibs $(SYS_LIBRARIES) $(EXTRA_LIBRARIES) syslibs @@\									@@\Concat(osaber_,program):: objlist					@@\	XCOMM load $(ALLDEFINES) objlist locallibs $(SYS_LIBRARIES) $(EXTRA_LIBRARIES) syslibs#else#define SaberProgramTarget(program,srclist,objlist,locallibs,syslibs) /**/#endif#endif#ifndef RemoveTargetProgram#if RemoveTargetProgramByMoving#define RemoveTargetProgram(program) \if [ -f program ]; then $(RM) Concat(program,~); $(MV) program Concat(program,~); fi#else#define RemoveTargetProgram(program) $(RM) program#endif#endif#ifndef MakeDir#define MakeDir(dir) DirFailPrefix@if [ -d dir ]; then set +x; \	@@\		else (set -x; $(MKDIRHIER) dir); fi#endif/* * NormalProgramTarget - generate rules to compile and link the indicated  * program; since it does not use any default object files, it may be used for * multiple programs in the same Imakefile. */#ifndef NormalProgramTarget#define	NormalProgramTarget(program,objects,deplibs,locallibs,syslibs)	@@\program: objects deplibs						@@\	RemoveTargetProgram($@)						@@\	$(CC) -o $@ objects $(LDOPTIONS) locallibs $(LDLIBS) syslibs $(EXTRA_LOAD_FLAGS) @@\									@@\clean::									@@\	$(RM) program#endif /* NormalProgramTarget */#ifndef SetUIDProgramTarget#define SetUIDProgramTarget NormalProgramTarget#endif/* * SingleProgramTarget - obsolete version of NormalProgramTarget that does * not have deplibs. */#ifndef SingleProgramTarget#define	SingleProgramTarget(program,objects,locallibs,syslibs)		@@\NormalProgramTarget(program,objects,NullParameter,locallibs,syslibs)#endif /* SingleProgramTarget *//* * SimpleProgramTarget - generate rules for compiling and linking programs * that only have one C source file.  It should only be used in Imakefiles  * that describe a single program. */#ifndef SimpleProgramTarget#define	SimpleProgramTarget(program)					@@\           OBJS = program.o						@@\           SRCS = program.c						@@\									@@\ComplexProgramTarget(program)#endif /* SimpleProgramTarget *//* * ComplexProgramTarget - generate rules for compiling and linking the  * program specified by $(OBJS) and $(SRCS), installing the program and its * man page, and generating dependencies.  It should only be used in  * Imakefiles that describe a single program. */#ifndef ComplexProgramTarget#define	ComplexProgramTarget(program)					@@\        PROGRAM = program						@@\									@@\AllTarget(program)							@@\									@@\program: $(OBJS) $(DEPLIBS)						@@\	RemoveTargetProgram($@)						@@\	$(CC) -o $@ $(OBJS) $(LDOPTIONS) $(LOCAL_LIBRARIES) $(LDLIBS) $(EXTRA_LOAD_FLAGS) @@\									@@\SaberProgramTarget(program,$(SRCS),$(OBJS),$(LOCAL_LIBRARIES),NullParameter) @@\									@@\InstallProgram(program,$(BINDIR))					@@\InstallManPage(program,$(MANDIR))					@@\DependTarget()								@@\LintTarget()								@@\									@@\clean::									@@\	$(RM) $(PROGRAM)#endif /* ComplexProgramTarget *//* * ComplexProgramTarget_1 - generate rules for compiling and linking the * program specified by $(OBJS1) and $(SRCS1), installing the program and its * man page, and generating dependencies for it and any programs described * by $(SRCS2) and $(SRCS3).  It should be used to build the primary  * program in Imakefiles that describe multiple programs. */#ifndef ComplexProgramTarget_1#define	ComplexProgramTarget_1(program,locallib,syslib)			@@\            OBJS = $(OBJS1) $(OBJS2) $(OBJS3)				@@\            SRCS = $(SRCS1) $(SRCS2) $(SRCS3)				@@\									@@\AllTarget($(PROGRAMS))							@@\									@@\program: $(OBJS1) $(DEPLIBS1)						@@\	RemoveTargetProgram($@)						@@\	$(CC) -o $@ $(LDOPTIONS) $(OBJS1) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS) @@\									@@\InstallProgram(program,$(BINDIR))					@@\InstallManPage(program,$(MANDIR))					@@\									@@\SaberProgramTarget(program,$(SRCS1),$(OBJS1),locallib,syslib)		@@\									@@\DependTarget()								@@\LintTarget()								@@\									@@\clean::									@@\	$(RM) $(PROGRAMS)#endif /* ComplexProgramTarget_1 *//* * ComplexProgramTarget_2 - generate rules for compiling and linking the * program specified by $(OBJS2) and $(SRCS2) and installing the program and * man page.  It should be used to build the second program in Imakefiles  * describing more than one program. */#ifndef ComplexProgramTarget_2#define	ComplexProgramTarget_2(program,locallib,syslib)			@@\program: $(OBJS2) $(DEPLIBS2)						@@\	RemoveTargetProgram($@)						@@\	$(CC) -o $@ $(LDOPTIONS) $(OBJS2) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS) @@\									@@\SaberProgramTarget(program,$(SRCS2),$(OBJS2),locallib,syslib)		@@\									@@\InstallProgram(program,$(BINDIR))					@@\InstallManPage(program,$(MANDIR))#endif /* ComplexProgramTarget_2 *//* * ComplexProgramTarget_3 - generate rules for compiling and linking the * program specified by $(OBJS3) and $(SRCS3) and installing the program and * man page.  It should be used to build the third program in Imakefiles  * describing more than one program. */#ifndef ComplexProgramTarget_3#define	ComplexProgramTarget_3(program,locallib,syslib)			@@\program: $(OBJS3) $(DEPLIBS3)						@@\	RemoveTargetProgram($@)						@@\	$(CC) -o $@ $(LDOPTIONS) $(OBJS3) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS) @@\									@@\SaberProgramTarget(program,$(SRCS3),$(OBJS3),locallib,syslib)		@@\									@@\InstallProgram(program,$(BINDIR))					@@\InstallManPage(program,$(MANDIR))#endif /* ComplexProgramTarget_3 */#if DoRanlibCmd#define RanLibrary(args) $(RANLIB) args#else#define RanLibrary(args) /**/#endif/* * LinkFileList - link a list of list of files from one place to another */#ifndef LinkFileList#define LinkFileList(step,list,dir,sub)					@@\step:: list								@@\	@case '${MFLAGS}' in *[i]*) set +e;; esac; \			@@\	echo "	cd" dir; cd dir; \					@@\	for i in list; do (set -x; $(RM) $$i; $(LN) sub/$$i .); done#endif/* * InstallMultipleDestFlags - generate rules to install multiple files at * once during a particular step in the build using a specific set of install  * flags. */#ifndef InstallMultipleDestFlags#define InstallMultipleDestFlags(step,list,dest,flags)			@@\step:: list								@@\	MakeDir($(DESTDIR)dest)						@@\	@case '${MFLAGS}' in *[i]*) set +e;; esac; \			@@\	for i in list; do \						@@\		(set -x; $(INSTALL) -c flags $$i $(DESTDIR)dest); \	@@\	done#endif /* InstallMultipleDestFlags *//* * InstallMultipleDest - generate rules to install multiple files at once * during a particular step in the build using any install flags set in  * $(INSTALLFLAGS). */#ifndef InstallMultipleDest#define InstallMultipleDest(step,list,dest)				@@\InstallMultipleDestFlags(step,list,dest,$(INSTALLFLAGS))#endif /* InstallMultipleDest *//* * InstallMultiple - generate rules to install multiple files at once  * during the install step of the build using any install flags set in  * $(INSTALLFLAGS). */#ifndef InstallMultiple#define	InstallMultiple(list,dest)					@@\InstallMultipleDest(install,list,dest)#endif /* InstallMultiple *//* * DependTarget - generate rules to compute dependencies for all files listed * in $(SRCS). */#ifndef DependTarget#define	DependTarget()							@@\depend::								@@\	$(DEPEND) $(DEPENDFLAGS) -s "# DO NOT DELETE" -- $(ALLDEFINES) -- $(SRCS)#endif /* DependTarget *//* * DependTarget3 - generate rules to compute dependencies for all files given. */#ifndef DependTarget3#define	DependTarget3(srcs1,srcs2,srcs3)				@@\depend::								@@\	$(DEPEND) $(DEPENDFLAGS) -s "# DO NOT DELETE" -- $(ALLDEFINES) -- srcs1	@@\	$(DEPEND) -a $(DEPENDFLAGS) -s "# DO NOT DELETE" -- $(ALLDEFINES) -- srcs2	@@\	$(DEPEND) -a $(DEPENDFLAGS) -s "# DO NOT DELETE" -- $(ALLDEFINES) -- srcs3#endif /* DependTarget3 *//* * CleanTarget - generate rules to remove any garbage files; the #* is here * instead of in the definition of RM_CMD because System V will treat the  * pound sign in the RM_CMD variable as a comment. */#ifndef CleanTarget#define	CleanTarget()							@@\clean::									@@\	$(RM_CMD) "#"*#endif /* CleanTarget *//* * TagsTarget - generate rules to compute tags files for C source code. */#ifndef TagsTarget#define	TagsTarget()							@@\tags::									@@\

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -