1251875Speter# Makefile.win for Win32 APR alone 2251875Speter# 3251875Speter# Targets are: 4251875Speter# 5251875Speter# buildall - compile everything 6251875Speter# checkall - run APR regression tests 7251875Speter# install - compile everything 8251875Speter# clean - mop up everything 9251875Speter# 10269847Speter# You can override the build mechanism, choose only one; 11251875Speter# 12251875Speter# USEMAK=1 - compile from exported make files 13251875Speter# USEDSW=1 - compile from .dsw / .dsp VC6 projects 14251875Speter# USESLN=1 - compile from converted .sln / .vcproj VC7+ files 15251875Speter# 16251875Speter# Define ARCH to your desired preference (your PATH must point 17251875Speter# to the correct compiler tools!) Choose only one; 18251875Speter# 19251875Speter# ARCH="Win32 Release" 20251875Speter# ARCH="Win32 Debug" 21251875Speter# ARCH="Win32 Release9x" 22251875Speter# ARCH="Win32 Debug9x" 23251875Speter# ARCH="x64 Release" 24251875Speter# ARCH="x64 Debug" 25251875Speter# 26251875Speter# For example; 27251875Speter# 28253734Speter# nmake -f Makefile.win PREFIX=C:\APR buildall checkall install clean 29251875Speter# 30251875Speter 31251875Speter!IF EXIST("apr.sln") && ([devenv /help > NUL 2>&1] == 0) \ 32251875Speter && !defined(USEMAK) && !defined(USEDSW) 33251875SpeterUSESLN=1 34251875SpeterUSEMAK=0 35251875SpeterUSEDSW=0 36251875Speter!ELSEIF EXIST("apr.mak") && !defined(USEDSW) 37251875SpeterUSESLN=0 38251875SpeterUSEMAK=1 39251875SpeterUSEDSW=0 40251875Speter!ELSE 41251875SpeterUSESLN=0 42251875SpeterUSEMAK=0 43251875SpeterUSEDSW=1 44251875Speter!ENDIF 45251875Speter 46251875SpeterPREFIX=..\apr-dist 47251875Speter 48251875Speter!IF [$(COMSPEC) /c cl /nologo /? \ 49251875Speter | $(SystemRoot)\System32\find.exe "x64" >NUL ] == 0 50251875SpeterARCH=x64 Release 51251875Speter!ELSE 52251875SpeterARCH=Win32 Release 53251875Speter!ENDIF 54251875Speter 55251875Speter!MESSAGE ARCH = $(ARCH) 56251875Speter!MESSAGE PREFIX = $(PREFIX) (install path) 57251875Speter 58251875Speter 59251875Speter# Utility and Translation things, nothing here for the user 60251875Speter# 61251875Speter!IF "$(ARCH)" == "Win32 Release" 62251875SpeterSLNARCH=Release|Win32 63251875SpeterARCHOSPATH=Release 64251875SpeterLIBSOSPATH=LibR 65251875Speter!ELSEIF "$(ARCH)" == "Win32 Debug" 66251875SpeterSLNARCH=Debug|Win32 67251875SpeterARCHOSPATH=Debug 68251875SpeterLIBSOSPATH=LibD 69251875Speter!ELSEIF "$(ARCH)" == "Win32 Release9x" 70251875SpeterSLNARCH=Release9x|Win32 71251875SpeterARCHOSPATH=9x\Release 72251875SpeterLIBSOSPATH=9x\LibR 73251875Speter!ELSEIF "$(ARCH)" == "Win32 Debug9x" 74251875SpeterSLNARCH=Debug9x|Win32 75251875SpeterARCHOSPATH=9x\Debug 76251875SpeterLIBSOSPATH=9x\LibD 77251875Speter!ELSEIF "$(ARCH)" == "x64 Release" 78251875SpeterSLNARCH=Release|x64 79251875SpeterARCHOSPATH=x64\Release 80251875SpeterLIBSOSPATH=x64\LibR 81251875Speter!ELSEIF "$(ARCH)" == "x64 Debug" 82251875SpeterSLNARCH=Debug|x64 83251875SpeterARCHOSPATH=x64\Debug 84251875SpeterLIBSOSPATH=x64\LibD 85251875Speter!ENDIF 86251875Speter 87251875Speter!IFNDEF MAKEOPT 88251875Speter# Only default the behavior if MAKEOPT= is omitted 89251875Speter!IFDEF _NMAKE_VER 90251875Speter# Microsoft NMake options 91251875SpeterMAKEOPT=-nologo 92251875Speter!ELSEIF "$(MAKE)" == "make" 93251875Speter# Borland make options? Not really supported (yet) 94251875SpeterMAKEOPT=-s -N 95251875Speter!ENDIF 96251875Speter!ENDIF 97251875Speter 98251875Speter 99251875Speterall: buildall checkall 100251875Speter 101251875Speter!IF $(USEMAK) == 1 102251875Speter 103251875Speterclean: 104251875Speter $(MAKE) $(MAKEOPT) -f Makefile.win ARCH="$(ARCH)" \ 105251875Speter CTARGET=CLEAN buildall 106251875Speter 107251875Speterbuildall: 108251875Speter $(MAKE) $(MAKEOPT) -f apr.mak CFG="apr - $(ARCH)" RECURSE=0 $(CTARGET) 109251875Speter $(MAKE) $(MAKEOPT) -f libapr.mak CFG="libapr - $(ARCH)" RECURSE=0 $(CTARGET) 110251875Speter cd build 111251875Speter $(MAKE) $(MAKEOPT) -f aprapp.mak CFG="aprapp - $(ARCH)" RECURSE=0 $(CTARGET) 112251875Speter $(MAKE) $(MAKEOPT) -f libaprapp.mak CFG="libaprapp - $(ARCH)" RECURSE=0 $(CTARGET) 113251875Speter cd .. 114251875Speter 115251875Speter!ELSEIF $(USESLN) == 1 116251875Speter 117251875Speterclean: 118251875Speter -devenv apr.sln /useenv /clean "$(SLNARCH)" /project libaprapp 119251875Speter -devenv apr.sln /useenv /clean "$(SLNARCH)" /project libapr 120251875Speter -devenv apr.sln /useenv /clean "$(SLNARCH)" /project aprapp 121251875Speter -devenv apr.sln /useenv /clean "$(SLNARCH)" /project apr 122251875Speter 123251875Speterbuildall: 124251875Speter devenv apr.sln /useenv /build "$(SLNARCH)" /project apr 125251875Speter devenv apr.sln /useenv /build "$(SLNARCH)" /project aprapp 126251875Speter devenv apr.sln /useenv /build "$(SLNARCH)" /project libapr 127251875Speter devenv apr.sln /useenv /build "$(SLNARCH)" /project libaprapp 128251875Speter 129251875Speter!ELSE 130251875Speter# $(USEDSP) == 1 131251875Speter 132251875Speterclean: 133251875Speter -msdev apr.dsw /USEENV /MAKE "libaprapp - $(ARCH)" /CLEAN 134251875Speter -msdev apr.dsw /USEENV /MAKE "libapr - $(ARCH)" /CLEAN 135251875Speter -msdev apr.dsw /USEENV /MAKE "aprapp - $(ARCH)" /CLEAN 136251875Speter -msdev apr.dsw /USEENV /MAKE "apr - $(ARCH)" /CLEAN 137251875Speter 138251875Speterbuildall: 139251875Speter @msdev apr.dsw /USEENV /MAKE "apr - $(ARCH)" 140251875Speter @msdev apr.dsw /USEENV /MAKE "aprapp - $(ARCH)" 141251875Speter @msdev apr.dsw /USEENV /MAKE "libapr - $(ARCH)" 142251875Speter @msdev apr.dsw /USEENV /MAKE "libaprapp - $(ARCH)" 143251875Speter 144251875Speter!ENDIF 145251875Speter 146251875Speter 147251875Spetercheckapr: 148251875Speter cd test 149251875Speter $(MAKE) $(MAKEOPT) -f Makefile.win MODEL=static \ 150251875Speter OUTDIR=$(LIBSOSPATH) check 151251875Speter $(MAKE) $(MAKEOPT) -f Makefile.win MODEL=dynamic \ 152251875Speter OUTDIR=$(ARCHOSPATH) check 153251875Speter cd .. 154251875Speter 155251875Spetercheckall: checkapr 156251875Speter 157251875Speter 158251875Speterinstall: 159251875Speter echo Y >.y 160251875Speter echo A >.A 161251875Speter @if NOT EXIST "$(PREFIX)\." mkdir "$(PREFIX)" 162251875Speter @if NOT EXIST "$(PREFIX)\bin\." mkdir "$(PREFIX)\bin" 163251875Speter @if NOT EXIST "$(PREFIX)\include\." mkdir "$(PREFIX)\include" 164251875Speter @if NOT EXIST "$(PREFIX)\lib\." mkdir "$(PREFIX)\lib" 165251875Speter copy CHANGES "$(PREFIX)\APR-CHANGES.txt" <.y 166251875Speter copy LICENSE "$(PREFIX)\APR-LICENSE.txt" <.y 167251875Speter copy NOTICE "$(PREFIX)\APR-NOTICE.txt" <.y 168251875Speter xcopy include\*.h "$(PREFIX)\include\" /d < .a 169251875Speter copy $(LIBSOSPATH)\apr-1.lib "$(PREFIX)\lib\" <.y 170251875Speter copy $(LIBSOSPATH)\apr-1.pdb "$(PREFIX)\lib\" <.y 171251875Speter copy $(LIBSOSPATH)\aprapp-1.lib "$(PREFIX)\lib\" <.y 172251875Speter copy $(LIBSOSPATH)\aprapp-1.pdb "$(PREFIX)\lib\" <.y 173251875Speter copy $(ARCHOSPATH)\libaprapp-1.lib "$(PREFIX)\lib\" <.y 174251875Speter copy $(ARCHOSPATH)\libaprapp-1.pdb "$(PREFIX)\lib\" <.y 175251875Speter copy $(ARCHOSPATH)\libapr-1.lib "$(PREFIX)\lib\" <.y 176251875Speter copy $(ARCHOSPATH)\libapr-1.exp "$(PREFIX)\lib\" <.y 177251875Speter copy $(ARCHOSPATH)\libapr-1.dll "$(PREFIX)\bin\" <.y 178251875Speter copy $(ARCHOSPATH)\libapr-1.pdb "$(PREFIX)\bin\" <.y 179251875Speter del .y 180251875Speter del .a 181251875Speter 182