mirror of https://gitee.com/openkylin/apr.git
172 lines
4.5 KiB
Makefile
172 lines
4.5 KiB
Makefile
# 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)\APR-CHANGES.txt" <.y
|
|
copy LICENSE "$(PREFIX)\APR-LICENSE.txt" <.y
|
|
copy NOTICE "$(PREFIX)\APR-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 $(LIBSOSPATH)\aprapp-1.lib "$(PREFIX)\lib\" <.y
|
|
copy $(LIBSOSPATH)\aprapp-1.pdb "$(PREFIX)\lib\" <.y
|
|
copy $(ARCHOSPATH)\libaprapp-1.lib "$(PREFIX)\lib\" <.y
|
|
copy $(ARCHOSPATH)\libaprapp-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
|
|
|