📄 win32.rules
字号:
<<#endif#ifndef UseInstalled#define DependDependency() @@\depend:: ProgramTargetName($(DEPEND)) @@\ @@\ProgramTargetName($(DEPEND)): @@\ <<tmp.bat @@\ cd $(DEPENDSRC:/=\) @@\ $(MAKE) @@\<<#endif#define DependTarget() @@\DependDependency() @@\ @@\depend:: @@\ $(DEPEND:/=\) @<< @@\$(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- $(SRCS) @@\<<#define DependTarget3(srcs1,srcs2,srcs3) @@\DependDependency() @@\ @@\depend:: @@\ $(DEPEND:/=\) @<< @@\$(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- srcs1 srcs2 srcs3 @@\<<#define ForceSubdirs(dirs) @@\Avoid.Error dirs: FRC @@\ @cd $@ @@\ @echo making all in $(CURRENT_DIR)/$@... @@\ $(MAKE) $(MFLAGS) PassCDebugFlags all @@\ cd .. @@\ @@\FRC:#define MakeMakeSubdirs(dirs,target) @@\XVARdef0 = dirs @@\XVARdef1 = $$ @@\ @@\target:: @@\ @$(MAKE) -A $(MFLAGS) -f << @@\.SUFFIXES: @@\ @@\all: $(XVARuse0:/=\) @@\ @@\Avoid.Error $(XVARuse0:/=\): @@\ cd $(XVARuse1)@ @@\ RMoveToBakFile(Makefile) @@\ ImakeSubCmdHelper -DTOPDIR=../$(TOP) -DCURDIR=$(CURRENT_DIR)/$(XVARuse1)@ @@\ $(MAKE) $(MFLAGS) Makefiles @@\ cd .. @@\<<#ifdef UseInstalled# define ImakeSubCmdHelper $(IMAKE_CMD)#else# define ImakeSubCmdHelper ..\$(IMAKE) -I../$(IRULESRC) $(IMAKE_DEFINES)#endif#define NamedTargetSubdirs(name,dirs,verb,flags,subname) @@\XVARdef0 = dirs @@\XVARdef1 = $$ @@\ @@\name:: @@\ @$(MAKE) -A $(MFLAGS) -f << @@\.SUFFIXES: @@\ @@\all: $(XVARuse0:/=\) @@\ @@\Avoid.Error $(XVARuse0:/=\): @@\ cd $(XVARuse1)@ @@\ @echo verb in $(CURRENT_DIR)/$(XVARuse1)@... @@\ $(MAKE) $(MFLAGS) flags subname @@\ cd .. @@\<<#define UnsharedLibReferences(varname,libname,libsource) @@\Concat3(DEP,varname,LIB) = _UseCat($(USRLIBDIR)/,libsource/,libname.lib) @@\Concat(varname,LIB) = LoaderLibPrefix _Use(libname.lib,$(Concat3(DEP,varname,LIB))) @@\LintLibReferences(varname,libname,libsource)#define SharedLibReferences(varname,libname,libsource,revname,rev) @@\revname = rev @@\UnsharedLibReferences(varname,libname,libsource)#define SubdirLibraryRule(objlist) @@\XVARdef0 = objlist @@\ @@\all:: DONE @@\ @@\DONE: $(XVARuse0:.o=.obj) @@\ RemoveFile($@) @@\ echo - > $@ @@\ @@\clean:: @@\ RemoveFile(DONE)#define CppScriptTarget(dst,src,defs,deplist) @@\dst:: @@\ @echo sorry, unable to make $@#define CppFileTarget(dst,src,defs,deplist) @@\XFAKEVAR = X @@\dst:: src deplist @@\ RemoveFile($@) @@\ $(PREPROCESSCMD) -I. <<CppTmpFile.c @<< >$@ @@\ XCOMM define $(XFAKEVAR)COMM XCOMM @@\ XCOMM include <src> @@\<< @@\ defs @@\<< @@\ @@\clean:: @@\ RemoveFiles(dst)#define InstallNamedTarget(step,srcname,flags,dest,dstname) @@\XVARdef0 = $(DESTDIR)dest @@\ @@\step:: srcname @@\ MakeDir($(XVARuse0:/=\)) @@\ $(INSTALL) $(INSTALLFLAGS) flags srcname $(XVARuse0:/=\)\\dstname#define InstallNamedTargetNoClobber(step,srcname,flags,dest,dstname) @@\XVARdef0 = $(DESTDIR)dest @@\ @@\step:: srcname @@\ MakeDir($(XVARuse0:/=\)) @@\ @if exist $(XVARuse0:/=\)\\dstname echo Not overwriting existing $(XVARuse0:/=\)\\dstname @@\ if not exist $(XVARuse0:/=\)\\dstname $(INSTALL) $(INSTALLFLAGS) flags srcname $(XVARuse0:/=\)\\dstname#define InstallLibrary(libname,dest) @@\InstallTarget(install,LibraryTargetName(libname),$(INSTLIBFLAGS),dest)#define InstallScript(program,dest) /**/#define InstallNamedProg(srcname,dstname,dest) @@\install:: srcname @@\ @echo sorry, unable to install srcname#define InstallSharedLibrary(libname,rev,dest) @@\InstallTarget(install,LibraryTargetName(libname),$(INSTLIBFLAGS),$(USRLIBDIR)) @@\InstallTarget(install,libname.dll,$(INSTLIBFLAGS),dest)#define InstallSharedLibraryData(libname,rev,dest)#define MakeDLL(libname,solist) $(LD) @<< @@\SharedLibraryLoadFlags -out:libname.dll libname.exp solist @@\<<#define SharedLibraryTarget(libname,rev,solist,down,up) @@\AllTarget(libname.dll) @@\ @@\CppFileTarget(libname.def,libname-def.cpp,-DLIBRARY_VERSION=rev,$(ICONFIGFILES)) @@\ @@\XVARdef0 = solist @@\ @@\LibraryTargetName(libname): $(XVARuse0:.o=.obj) libname.def $(EXTRALIBRARYDEPS) @@\ RemoveFile($@) @@\ MakeLibrary($@,-def:libname.def $(XVARuse0:.o=.obj)) @@\ LinkBuildLibrary($@) @@\ RemoveFile(libname.dll) @@\ MakeDLL(libname,$(XVARuse0:.o=.obj) $(REQUIREDLIBS) $(EXTRA_LIBRARIES)) @@\ LinkBuildDLL(libname.dll) @@\ @@\libname.dll: LibraryTargetName(libname) $(EXTRALIBRARYDEPS) @@\ RemoveFile(libname.dll) @@\ MakeDLL(libname,$(XVARuse0:.o=.obj) $(REQUIREDLIBS) $(EXTRA_LIBRARIES)) @@\ LinkBuildDLL(libname.dll) @@\ @@\clean:: @@\ RemoveFile(LibraryTargetName(libname)) @@\ RemoveFile(libname.dll)#define SharedLibraryDataTarget(libname,rev,salist)#define ObjectCplusplusCompile(options) RemoveFile($@) @@\ $(CXX) -c $*.CCsuf @<< @@\ $(CFLAGS) options @@\<<#define CplusplusLinkRule LinkRule#define CplusplusProgramTargetHelper ProgramTargetHelper#ifndef ComplexCplusplusProgramTarget#define ComplexCplusplusProgramTarget(program) @@\ PROGRAM = ProgramTargetName(program) @@\ @@\AllTarget(ProgramTargetName(program)) @@\ @@\CplusplusProgramTargetHelper(program,SRCS,OBJS,DEPLIBS,$(LOCAL_LIBRARIES),NullParameter) @@\ @@\DependTarget() @@\LintTarget() @@\ @@\clean:: @@\ RemoveFile(ProgramTargetName(program))#endif /* ComplexCplusplusProgramTarget */#ifndef UseInstalled# define LinkBuildDLL(binary) MakeDir($(BUILDBINDIR:/=\)) @@\ RemoveFile(Concat($(BUILDBINDIR:/=\)\,binary)) @@\ cd $(BUILDBINDIR:/=\) && $(LN) Concat($(BUILDBINTOP:/=\)\$(CURRENT_DIR:/=\)\,binary) .# ifdef LinkBuildBinary# undef LinkBuildBinary# endif# define LinkBuildBinary(binary) @@\all:: $(BUILDBINDIR)\ProgramTargetName(binary) ProgramTargetName(binary) @@\ @@\$(BUILDBINDIR)\ProgramTargetName(binary): ProgramTargetName(binary) @@\ MakeDir($(BUILDBINDIR:/=\)) @@\ RemoveFile($(BUILDBINDIR:/=\)\ProgramTargetName(binary))) @@\ cd $(BUILDBINDIR:/=\) && $(LN) $(BUILDBINTOP:/=\)\$(CURRENT_DIR:/=\)\ProgramTargetName(binary) .# ifdef LinkBuildLibrary# undef LinkBuildLibrary# endif# define LinkBuildLibrary(lib) MakeDir($(BUILDLIBDIR:/=\)) @@\ RemoveFile(Concat($(BUILDLIBDIR:/=\)\,lib)) @@\ cd $(BUILDLIBDIR:/=\) && $(LN) Concat($(BUILDLIBTOP:/=\)\$(CURRENT_DIR:/=\)\,lib) .#endif#ifndef ProjectUnsharedLibReferences#define ProjectUnsharedLibReferences(varname,libname,libsource,buildlibdir) @@\Concat3(DEP,varname,LIB) = _UseCat($(USRLIBDIR)/lib,buildlibdir/,libname.lib) @@\Concat(varname,LIB) = $(Concat3(DEP,varname,LIB)) @@\LintLibReferences(varname,libname,libsource)#endif/* * ServerTargetWithFlags - generate rules to compile, link, and relink a server */#ifndef ServerTargetWithFlags#define ServerTargetWithFlags(server,subdirs,objects,libs,syslibs,flags) @@\XVARdef0 = objects @@\ @@\AllTarget(ProgramTargetName(server)) @@\ProgramTargetName(server): subdirs $(XVARuse0:.o=.obj) libs @@\ MoveToBakFile($@) @@\ LinkRule($@,$(LDOPTIONS),$(XVARuse0:.o=.obj),libs $(LDLIBS) syslibs) @@\ @@\Concat(load,server): @@\ MoveToBakFile(ProgramTargetName(server)) @@\ LinkRule(ProgramTargetName(server),$(LDOPTIONS),$(XVARuse0:.o=.obj),libs $(LDLIBS) syslibs) @@\ @@\loadX:: Concat(load,server) @@\ @@\ProofProgramTarget(server,subdirs objects libs,objects libs $(LDLIBS) syslibs) @@\ProofLinkTarget(Concat(load,server),server,objects libs $(LDLIBS) syslibs) @@\ @@\InstallProgramWithFlags(server,$(BINDIR),flags) @@\ @@\clean:: @@\ RemoveFile(ProgramTargetName(server))#endif /* ServerTargetWithFlags */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -