| # 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 mechanism, 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="x64 Release" | |
| # ARCH="x64 Debug" | |
| # | |
| # For example; | |
| # | |
| # nmake -f Makefile.win PREFIX=C:\APR buildall checkall install clean | |
| # | |
| !IF EXIST("apr.sln") && ([devenv /help > NUL 2>&1] == 0) \ | |
| && !defined(USEMAK) && !defined(USEDSW) | |
| USESLN=1 | |
| USEMAK=0 | |
| USEDSW=0 | |
| !ELSEIF EXIST("apr.mak") && !defined(USEDSW) | |
| USESLN=0 | |
| USEMAK=1 | |
| USEDSW=0 | |
| !ELSE | |
| USESLN=0 | |
| USEMAK=0 | |
| USEDSW=1 | |
| !ENDIF | |
| PREFIX=..\apr-dist | |
| !IF [$(COMSPEC) /c cl /nologo /? \ | |
| | $(SystemRoot)\System32\find.exe "x64" >NUL ] == 0 | |
| ARCH=x64 Release | |
| !ELSE | |
| ARCH=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|Win32 | |
| ARCHOSPATH=Release | |
| LIBSOSPATH=LibR | |
| !ELSEIF "$(ARCH)" == "Win32 Debug" | |
| SLNARCH=Debug|Win32 | |
| ARCHOSPATH=Debug | |
| LIBSOSPATH=LibD | |
| !ELSEIF "$(ARCH)" == "x64 Release" | |
| SLNARCH=Release|x64 | |
| ARCHOSPATH=x64\Release | |
| LIBSOSPATH=x64\LibR | |
| !ELSEIF "$(ARCH)" == "x64 Debug" | |
| SLNARCH=Debug|x64 | |
| ARCHOSPATH=x64\Debug | |
| LIBSOSPATH=x64\LibD | |
| !ENDIF | |
| !IFNDEF MAKEOPT | |
| # Only default the behavior if MAKEOPT= is omitted | |
| !IFDEF _NMAKE_VER | |
| # Microsoft NMake options | |
| MAKEOPT=-nologo | |
| !ELSEIF "$(MAKE)" == "make" | |
| # Borland make options? Not really supported (yet) | |
| MAKEOPT=-s -N | |
| !ENDIF | |
| !ENDIF | |
| all: buildall checkall | |
| !IF $(USEMAK) == 1 | |
| clean: | |
| $(MAKE) $(MAKEOPT) -f Makefile.win ARCH="$(ARCH)" \ | |
| CTARGET=CLEAN buildall | |
| buildall: | |
| $(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 aprapp.mak CFG="aprapp - $(ARCH)" RECURSE=0 $(CTARGET) | |
| $(MAKE) $(MAKEOPT) -f libaprapp.mak CFG="libaprapp - $(ARCH)" RECURSE=0 $(CTARGET) | |
| cd .. | |
| !ELSEIF $(USESLN) == 1 | |
| clean: | |
| -devenv apr.sln /useenv /clean "$(SLNARCH)" /project libaprapp | |
| -devenv apr.sln /useenv /clean "$(SLNARCH)" /project libapr | |
| -devenv apr.sln /useenv /clean "$(SLNARCH)" /project aprapp | |
| -devenv apr.sln /useenv /clean "$(SLNARCH)" /project apr | |
| buildall: | |
| devenv apr.sln /useenv /build "$(SLNARCH)" /project apr | |
| devenv apr.sln /useenv /build "$(SLNARCH)" /project aprapp | |
| devenv apr.sln /useenv /build "$(SLNARCH)" /project libapr | |
| devenv apr.sln /useenv /build "$(SLNARCH)" /project libaprapp | |
| !ELSE | |
| # $(USEDSP) == 1 | |
| clean: | |
| -msdev apr.dsw /USEENV /MAKE "libaprapp - $(ARCH)" /CLEAN | |
| -msdev apr.dsw /USEENV /MAKE "libapr - $(ARCH)" /CLEAN | |
| -msdev apr.dsw /USEENV /MAKE "aprapp - $(ARCH)" /CLEAN | |
| -msdev apr.dsw /USEENV /MAKE "apr - $(ARCH)" /CLEAN | |
| buildall: | |
| @msdev apr.dsw /USEENV /MAKE "apr - $(ARCH)" | |
| @msdev apr.dsw /USEENV /MAKE "aprapp - $(ARCH)" | |
| @msdev apr.dsw /USEENV /MAKE "libapr - $(ARCH)" | |
| @msdev apr.dsw /USEENV /MAKE "libaprapp - $(ARCH)" | |
| !ENDIF | |
| checkapr: | |
| cd test | |
| $(MAKE) $(MAKEOPT) -f Makefile.win MODEL=static \ | |
| OUTDIR=$(LIBSOSPATH) check | |
| $(MAKE) $(MAKEOPT) -f Makefile.win MODEL=dynamic \ | |
| OUTDIR=$(ARCHOSPATH) check | |
| cd .. | |
| checkall: checkapr | |
| install: | |
| 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-2.lib "$(PREFIX)\lib\" <.y | |
| copy $(LIBSOSPATH)\apr-2.pdb "$(PREFIX)\lib\" <.y | |
| copy $(LIBSOSPATH)\aprapp-2.lib "$(PREFIX)\lib\" <.y | |
| copy $(LIBSOSPATH)\aprapp-2.pdb "$(PREFIX)\lib\" <.y | |
| copy $(ARCHOSPATH)\libaprapp-2.lib "$(PREFIX)\lib\" <.y | |
| copy $(ARCHOSPATH)\libaprapp-2.pdb "$(PREFIX)\lib\" <.y | |
| copy $(ARCHOSPATH)\libapr-2.lib "$(PREFIX)\lib\" <.y | |
| copy $(ARCHOSPATH)\libapr-2.exp "$(PREFIX)\lib\" <.y | |
| copy $(ARCHOSPATH)\libapr-2.dll "$(PREFIX)\bin\" <.y | |
| copy $(ARCHOSPATH)\libapr-2.pdb "$(PREFIX)\bin\" <.y | |
| del .y | |
| del .a | |