📄 makefile.win
字号:
# Makefile.win for Win32 APR alone## Targets are:## buildall - compile everything# checkall - run APR regression tests# install - compile everything# clean - mop up everything## You can override the build mechansim, choose only one;## USEMAK=1 - compile from exported make files# USEDSW=1 - compile from .dsw / .dsp VC6 projects# USESLN=1 - compile from converted .sln / .vcproj VC7+ files## Define ARCH to your desired preference (your PATH must point# to the correct compiler tools!) Choose only one;## ARCH="Win32 Release"# ARCH="Win32 Debug"# ARCH="Win32 ReleaseNT"# ARCH="Win32 DebugNT"# ARCH="x64 Release"# ARCH="x64 Debug"## For example;## nmake -f Makefile.win PREFIX=C:\APR buildall checkall installall clean#!IF EXIST("apr.sln") && ([devenv /help > NUL 2>&1] == 0) \ && !defined(USEMAK) && !defined(USEDSW)USESLN=1USEMAK=0USEDSW=0!ELSEIF EXIST("apr.mak") && !defined(USEDSW)USESLN=0USEMAK=1USEDSW=0!ELSEUSESLN=0USEMAK=0USEDSW=1!ENDIFPREFIX=..\apr-dist!IF [$(COMSPEC) /c cl /nologo /? \ | $(SystemRoot)\System32\find.exe "x64" >NUL ] == 0ARCH=x64 Release!ELSEARCH=Win32 Release!ENDIF!MESSAGE ARCH = $(ARCH)!MESSAGE PREFIX = $(PREFIX) (install path)# Utility and Translation things, nothing here for the user#!IF "$(ARCH)" == "Win32 Release"SLNARCH=Release|Win32ARCHOSPATH=ReleaseLIBSOSPATH=LibR!ELSEIF "$(ARCH)" == "Win32 Debug"SLNARCH=Debug|Win32ARCHOSPATH=DebugLIBSOSPATH=LibD!ELSEIF "$(ARCH)" == "Win32 ReleaseNT"SLNARCH=ReleaseNT|Win32ARCHOSPATH=NT\ReleaseLIBSOSPATH=NT\LibR!ELSEIF "$(ARCH)" == "Win32 DebugNT"SLNARCH=DebugNT|Win32ARCHOSPATH=NT\DebugLIBSOSPATH=NT\LibD!ELSEIF "$(ARCH)" == "x64 Release"SLNARCH=Release|x64ARCHOSPATH=x64\ReleaseLIBSOSPATH=x64\LibR!ELSEIF "$(ARCH)" == "x64 Debug"SLNARCH=Debug|x64ARCHOSPATH=x64\DebugLIBSOSPATH=x64\LibD!ENDIF!IFNDEF MAKEOPT# Only default the behavior if MAKEOPT= is omitted!IFDEF _NMAKE_VER# Microsoft NMake optionsMAKEOPT=-nologo!ELSEIF "$(MAKE)" == "make"# Borland make options? Not really supported (yet)MAKEOPT=-s -N!ENDIF!ENDIFall: buildall checkall!IF $(USEMAK) == 1clean: $(MAKE) $(MAKEOPT) -f Makefile.win ARCH="$(ARCH)" \ CTARGET=CLEAN buildallbuildall: $(MAKE) $(MAKEOPT) -f apr.mak CFG="apr - $(ARCH)" RECURSE=0 $(CTARGET) $(MAKE) $(MAKEOPT) -f libapr.mak CFG="libapr - $(ARCH)" RECURSE=0 $(CTARGET) cd build $(MAKE) $(MAKEOPT) -f apr_app.mak CFG="apr_app - $(ARCH)" RECURSE=0 $(CTARGET) $(MAKE) $(MAKEOPT) -f libapr_app.mak CFG="libapr_app - $(ARCH)" RECURSE=0 $(CTARGET) cd ..!ELSEIF $(USESLN) == 1clean: -devenv apr.sln /useenv /clean "$(SLNARCH)" /project libapr_app -devenv apr.sln /useenv /clean "$(SLNARCH)" /project libapr -devenv apr.sln /useenv /clean "$(SLNARCH)" /project apr_app -devenv apr.sln /useenv /clean "$(SLNARCH)" /project aprbuildall: devenv apr.sln /useenv /build "$(SLNARCH)" /project apr devenv apr.sln /useenv /build "$(SLNARCH)" /project apr_app devenv apr.sln /useenv /build "$(SLNARCH)" /project libapr devenv apr.sln /useenv /build "$(SLNARCH)" /project libapr_app!ELSE# $(USEDSP) == 1clean: -msdev apr.dsw /USEENV /MAKE "libapr_app - $(ARCH)" /CLEAN -msdev apr.dsw /USEENV /MAKE "libapr - $(ARCH)" /CLEAN -msdev apr.dsw /USEENV /MAKE "apr_app - $(ARCH)" /CLEAN -msdev apr.dsw /USEENV /MAKE "apr - $(ARCH)" /CLEANbuildall: @msdev apr.dsw /USEENV /MAKE "apr - $(ARCH)" @msdev apr.dsw /USEENV /MAKE "apr_app - $(ARCH)" @msdev apr.dsw /USEENV /MAKE "libapr - $(ARCH)" @msdev apr.dsw /USEENV /MAKE "libapr_app - $(ARCH)"!ENDIFcheckapr: cd test $(MAKE) $(MAKEOPT) -f Makefile.win MODEL=static \ OUTDIR=$(LIBSOSPATH) check $(MAKE) $(MAKEOPT) -f Makefile.win MODEL=dynamic \ OUTDIR=$(ARCHOSPATH) check cd ..checkall: checkaprinstall: echo Y >.y echo A >.A @if NOT EXIST "$(PREFIX)\." mkdir "$(PREFIX)" @if NOT EXIST "$(PREFIX)\bin\." mkdir "$(PREFIX)\bin" @if NOT EXIST "$(PREFIX)\include\." mkdir "$(PREFIX)\include" @if NOT EXIST "$(PREFIX)\lib\." mkdir "$(PREFIX)\lib" copy CHANGES "$(PREFIX)\CHANGES.txt" <.y copy LICENSE "$(PREFIX)\LICENSE.txt" <.y copy NOTICE "$(PREFIX)\NOTICE.txt" <.y xcopy include\*.h "$(PREFIX)\include\" /d < .a copy $(LIBSOSPATH)\apr-1.lib "$(PREFIX)\lib\" <.y copy $(LIBSOSPATH)\apr-1.pdb "$(PREFIX)\lib\" <.y copy $(ARCHOSPATH)\libapr-1.lib "$(PREFIX)\lib\" <.y copy $(ARCHOSPATH)\libapr-1.exp "$(PREFIX)\lib\" <.y copy $(ARCHOSPATH)\libapr-1.dll "$(PREFIX)\bin\" <.y copy $(ARCHOSPATH)\libapr-1.pdb "$(PREFIX)\bin\" <.y del .y del .a
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -