summaryrefslogtreecommitdiffstats
path: root/Makefile.win
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--Makefile.win1297
1 files changed, 1297 insertions, 0 deletions
diff --git a/Makefile.win b/Makefile.win
new file mode 100644
index 0000000..701ea06
--- /dev/null
+++ b/Makefile.win
@@ -0,0 +1,1297 @@
+# Makefile for Windows NT and Windows 95/98/2000
+
+# Targets are:
+# _buildr - build Apache in Release mode
+# _buildd - build Apache in Debug mode
+# installr - build and install a Release build
+# installd - build and install a Debug build
+# clean - remove (most) generated files
+# _cleanr - remove (most) files generated by a Release build
+# _cleand - remove (most) files generated by a Debug build
+# _browse - build the browse info file
+#
+# The following install defaults may be customized;
+#
+# Option Default
+# INSTDIR /Apache24
+# PORT 80
+# SSLPORT 443
+# DOMAINNAME example.com
+# SERVERNAME www.example.com
+# SERVERNAME admin@example.com
+#
+# ALL (unset) Includes additional modules for build testing
+#
+# Provide a DBD_LIST argument after configuring LIB and INCLUDE with
+# the SDK paths of the corresponding client support libraries.
+# The ODBC driver is always built on Windows
+#
+# DBD_LIST="sqlite3 pgsql oracle mysql freetds"
+#
+# Provide a DBM_LIST argument after configuring LIB and INCLUDE with
+# the SDK paths of the corresponding client support libraries.
+# The sdbm driver is always built in.
+#
+# DBM_LIST="db gdbm"
+#
+# For example;
+#
+# nmake -f Makefile.win PORT=80 INSTDIR="d:\Program Files\Apache" installr
+#
+# Be aware that certain awk's will not accept backslashed names,
+# so the server root should be given in forward slashes (quoted),
+# preferably with the drive designation!
+
+!IF EXIST("Apache.sln") && ([devenv /help > NUL 2>&1] == 0) \
+ && !defined(USEMAK) && !defined(USEDSW)
+USESLN=1
+USEMAK=0
+USEDSW=0
+!ELSEIF EXIST("httpd.mak") && !defined(USEDSW)
+USESLN=0
+USEMAK=1
+USEDSW=0
+!ELSE
+USESLN=0
+USEMAK=0
+USEDSW=1
+!ENDIF
+
+# APU 1.6 (and up?)
+!IF EXIST("srclib\apr-util\xml\xml.mak")
+EXPAT=xml
+EXPBCK = ..
+!ELSE
+EXPAT=xml\expat\lib
+EXPBCK = ..\..\..
+!ENDIF
+
+default: _buildr
+
+!IF ("$(CTARGET)" == "") && ($(USESLN) == 1)
+CTARGET=/build
+!ENDIF
+
+!IF EXIST("srclib\apr\include\apu.h")
+TLP=Apache-apr2
+UTILDIR=apr
+!ELSEIF !EXIST("srclib\apr") || !EXIST("srclib\apr-util") || !EXIST("srclib\apr-iconv")
+!MESSAGE Please check out or download and unpack the Apache Portability Runtime
+!MESSAGE sources (apr, apr-iconv and apr-util) into your srclib dir.
+!MESSAGE Apache cannot build without these libraries!
+!MESSAGE
+!ERROR Need srclib\ apr, apr-iconv and apr-util
+!ELSE
+TLP=Apache
+UTILDIR=apr-util
+!ENDIF
+
+!IF !EXIST("srclib\expat") && !EXIST("srclib\apr-util\xml\expat")
+!MESSAGE Please check out or download and unpack the current expat library source
+!MESSAGE under your srclib dir for apr 2.x, or srclib\apr-util\xml\expat for apr 1.x
+!MESSAGE Apache cannot build without this library!
+!MESSAGE
+!ERROR Need srclib\expat or srclib\apr-util\xml\expat
+!ENDIF
+
+!IF !EXIST("srclib\pcre")
+!MESSAGE Please check out or download and unpack the current PCRE library source
+!MESSAGE under your srclib dir, and compile the pcre.dll with CMake options
+!MESSAGE BUILD_SHARED_LIBS and CMAKE_BUILD_TYPE RelWithDebInfo.
+!MESSAGE Apache cannot build without this library!
+!MESSAGE
+!ERROR Need srclib\pcre
+!ENDIF
+
+
+# Note; _tryfoo: blocks are used only by the msvc developer studio environment
+# to 'fix up' the build, since conditional dependencies aren't supported.
+#
+
+!IF EXIST("srclib\openssl")
+!IF "$(LONG)" == "Debug" && EXIST("srclib\openssl\out32dll.dbg\openssl.exe")
+SSLBIN=out32dll.dbg
+SSLAPP=out32dll.dbg
+SSLCRP=libeay32
+SSLLIB=ssleay32
+!ELSEIF EXIST("srclib\openssl\libcrypto.lib")
+!MESSAGE Building with OpenSSL 1.1.0
+!MESSAGE
+SSLBIN=.
+SSLAPP=apps
+SSLCRP=libcrypto
+SSLLIB=libssl
+SSLOPT=_HAVE_OSSL110=1
+!ELSE
+SSLBIN=out32dll
+SSLAPP=out32dll
+SSLCRP=libeay32
+SSLLIB=ssleay32
+!ENDIF
+
+
+_tryssl:
+!IF $(USEMAK) == 1
+ cd modules\ssl
+ $(MAKE) $(MAKEOPT) $(SSLOPT) -f mod_ssl.mak CFG="mod_ssl - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..
+ cd support
+ $(MAKE) $(MAKEOPT) $(SSLOPT) -f abs.mak CFG="abs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..
+!ELSEIF $(USESLN) == 1
+ devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_ssl
+ devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project abs
+!ELSE
+ @msdev $(TLP).dsw /USEENV /MAKE \
+ "mod_ssl - Win32 $(LONG)" \
+ "abs - Win32 $(LONG)" /NORECURSE $(CTARGET)
+!ENDIF
+
+!ELSE
+# NOT EXIST("srclib\openssl")
+
+_tryssl:
+ @echo -----
+ @echo mod_ssl and ab/ssl will not build unless openssl is installed
+ @echo in srclib\openssl. They must be precompiled using the
+ @echo ms/ntdll.mak file, see srclib\openssl\INSTALL.W32. The most
+ @echo recent version confirmed to build with mod_ssl and ab is 0.9.8d.
+ @echo Available from http://www.openssl.org/
+!ENDIF
+# NOT EXIST("srclib\openssl")
+
+!IF EXIST("srclib\zlib")
+
+_tryzlib:
+!IF $(USEMAK) == 1
+ cd modules\filters
+ $(MAKE) $(MAKEOPT) -f mod_deflate.mak CFG="mod_deflate - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..
+!ELSEIF $(USESLN) == 1
+ devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_deflate
+!ELSE
+ @msdev $(TLP).dsw /USEENV /MAKE \
+ "mod_deflate - Win32 $(LONG)" /NORECURSE $(CTARGET)
+!ENDIF
+
+!ELSE
+# NOT EXIST("srclib\zlib")
+
+_tryzlib:
+ @echo -----
+ @echo mod_deflate will not build unless zlib is built in srclib\zlib.
+ @echo Version 1.2.1 and later available from http://www.gzip.org/zlib/
+ @echo built w/ nmake -f win32/Makefile.msc will satisfy this requirement.
+
+!ENDIF
+
+!IF EXIST("srclib\libxml2")
+
+_tryxml:
+!IF $(USEMAK) == 1
+ cd modules\filters
+ $(MAKE) $(MAKEOPT) -f mod_proxy_html.mak CFG="mod_proxy_html - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_xml2enc.mak CFG="mod_xml2enc - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..
+!ELSEIF $(USESLN) == 1
+ devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_proxy_html
+ devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_xml2enc
+!ELSE
+ @msdev $(TLP).dsw /USEENV /MAKE \
+ "mod_proxy_html - Win32 $(LONG)" /NORECURSE $(CTARGET)
+ @msdev $(TLP).dsw /USEENV /MAKE \
+ "mod_xml2enc - Win32 $(LONG)" /NORECURSE $(CTARGET)
+!ENDIF
+
+!ELSE
+# NOT EXIST("srclib\libxml2")
+
+_tryxml:
+ @echo -----
+ @echo mod_proxy_html and mod_xml2enc will not build unless libxml2 is
+ @echo built in srclib\libxml2. Version 2.7.7 and later available from
+ @echo http://xmlsoft.org/ will satisfy this requirement.
+
+!ENDIF
+
+
+!IF EXIST("srclib\lua")
+
+_trylua:
+!IF $(USEMAK) == 1
+ cd modules\lua
+ $(MAKE) $(MAKEOPT) -f mod_lua.mak CFG="mod_lua - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..
+!ELSEIF $(USESLN) == 1
+ devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_lua
+!ELSE
+ @msdev $(TLP).dsw /USEENV /MAKE \
+ "mod_lua - Win32 $(LONG)" /NORECURSE $(CTARGET)
+!ENDIF
+
+!ELSE
+# NOT EXIST("srclib\lua")
+
+_trylua:
+ @echo -----
+ @echo mod_lua will not build unless lua is installed in srclib\lua.
+ @echo Version 5.1 includes an etc\luavs.bat that will satisfy this requirement.
+
+!ENDIF
+
+!IF EXIST("srclib\nghttp2")
+
+_trynghttp2:
+!IF $(USEMAK) == 1
+ cd modules\http2
+ $(MAKE) $(MAKEOPT) -f mod_http2.mak CFG="mod_http2 - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_proxy_http2.mak CFG="mod_proxy_http2 - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..
+!ELSEIF $(USESLN) == 1
+ devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_http2
+ devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_proxy_http2
+!ELSE
+ @msdev $(TLP).dsw /USEENV /MAKE \
+ "mod_http2 - Win32 $(LONG)" /NORECURSE $(CTARGET)
+ @msdev $(TLP).dsw /USEENV /MAKE \
+ "mod_proxy_http2 - Win32 $(LONG)" /NORECURSE $(CTARGET)
+!ENDIF
+
+!ELSE
+# NOT EXIST("srclib\nghttp2")
+
+_trynghttp2:
+ @echo -----
+ @echo mod_http2 will not build unless nghttp2 is installed in srclib\nghttp2.
+ @echo Version 1.0 includes an lib\makefile.msvc that will satisfy this
+ @echo requirement.
+
+!ENDIF
+
+!IF EXIST("srclib\brotli")
+
+_trybrotli:
+!IF $(USEMAK) == 1
+ cd modules\filters
+ $(MAKE) $(MAKEOPT) -f mod_brotli.mak CFG="mod_brotli - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..
+!ELSEIF $(USESLN) == 1
+ devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_brotli
+!ELSE
+ @msdev $(TLP).dsw /USEENV /MAKE \
+ "mod_brotli - Win32 $(LONG)" /NORECURSE $(CTARGET)
+!ENDIF
+
+!ELSE
+# NOT EXIST("srclib\brotli")
+
+_trybrotli:
+ @echo -----
+ @echo mod_brotli will not build unless brotli is built in srclib\brotli.
+ @echo Version 1.0.0 and later available from https://github.com/google/brotli/releases
+ @echo build with:
+ @echo cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF
+ @echo nmake
+
+!ENDIF
+
+!IF EXIST("srclib\openssl") && EXIST("srclib\jansson") && EXIST("srclib\curl")
+
+_trymd:
+!IF $(USEMAK) == 1
+ cd modules\md
+ $(MAKE) $(MAKEOPT) $(SSLOPT) -f mod_md.mak CFG="mod_md - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..
+!ELSEIF $(USESLN) == 1
+ devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_md
+!ELSE
+ @msdev $(TLP).dsw /USEENV /MAKE \
+ "mod_md - Win32 $(LONG)" /NORECURSE $(CTARGET)
+!ENDIF
+
+!ELSE
+# NOT EXIST("srclib\openssl") && EXIST("srclib\jansson") && EXIST("srclib\curl")
+
+_trymd:
+ @echo -----
+ @echo mod_md will not build unless OpenSSL, Jansson and Curl are built and placed
+ @echo in srclib. Example: srclib/openssl, srclib/jansson and srclib/curl
+
+!ENDIF
+
+_trydb:
+!IF $(USEMAK) == 1
+ cd srclib\$(UTILDIR)\dbd
+ for %d in (odbc $(DBD_LIST)) do \
+ $(MAKE) $(MAKEOPT) -f apr_dbd_%d.mak CFG="apr_dbd_%d - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\dbm
+ for %d in ($(DBM_LIST) x) do if not %d == x \
+ $(MAKE) $(MAKEOPT) -f apr_dbm_%d.mak CFG="apr_dbm_%d - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..\..
+!ELSEIF $(USESLN) == 1
+ for %d in (odbc $(DBD_LIST)) do \
+ devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project apr_dbd_%d
+ for %d in ($(DBM_LIST) x) do if not %d == x \
+ devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project apr_dbm_%d
+!ELSE
+ @for %d in (odbc $(DBD_LIST)) do \
+ msdev $(TLP).dsw /USEENV /MAKE \
+ "apr_dbd_%d - Win32 $(LONG)" /NORECURSE $(CTARGET)
+ @for %d in ($(DBM_LIST) x) do if not %d == x \
+ msdev $(TLP).dsw /USEENV /MAKE \
+ "apr_dbm_%d - Win32 $(LONG)" /NORECURSE $(CTARGET)
+!ENDIF
+
+
+!IF "$(INSTDIR)" == ""
+INSTDIR=\Apache24
+!ENDIF
+!IF "$(DOMAINNAME)" == ""
+DOMAINNAME=example.com
+!ENDIF
+!IF "$(SERVERNAME)" == ""
+SERVERNAME=www.$(DOMAINNAME)
+!ENDIF
+!IF "$(SERVERADMIN)" == ""
+SERVERADMIN=admin@$(DOMAINNAME)
+!ENDIF
+!IF "$(PORT)" == ""
+PORT=80
+!ENDIF
+!IF "$(SSLPORT)" == ""
+SSLPORT=443
+!ENDIF
+
+!IF "$(LONG)" == ""
+!MESSAGE
+!MESSAGE INSTDIR = $(INSTDIR)
+!MESSAGE DOMAINNAME = $(DOMAINNAME)
+!MESSAGE SERVERNAME = $(SERVERNAME)
+!MESSAGE SERVERADMIN = $(SERVERADMIN)
+!MESSAGE PORT = $(PORT)
+!IF EXIST("srclib\openssl")
+!MESSAGE SSLPORT = $(SSLPORT)
+!ENDIF
+!MESSAGE
+!MESSAGE To change these options use 'nmake -f Makefile.win [option=value]'
+!MESSAGE Example: nmake -f Makefile.win PORT=8080
+!MESSAGE
+!MESSAGE
+!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
+
+_dummy:
+
+_browse:
+ cd Browse
+ bscmake.exe -nologo -Iu -o Apache.bsc *.sbr
+ cd ..
+
+_buildr:
+ @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release _build
+
+_buildd:
+ @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug _build
+
+installr:
+ @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release _build _install
+
+installd:
+ @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug _build _install
+
+clean: _cleanr _cleand
+ -if exist Browse\. rd /s Browse < << > nul
+y
+<<
+
+!IF $(USEMAK) == 1
+
+_cleanr:
+ $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET=CLEAN _build
+
+_cleand:
+ $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug CTARGET=CLEAN _build
+
+_build:
+ echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
+!IF !EXIST("srclib\apr-util")
+ cd srclib\expat\lib
+ $(MAKE) $(MAKEOPT) -f expat.mak CFG="expat - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..\..
+!ENDIF
+ cd srclib\apr
+ $(MAKE) $(MAKEOPT) -f apr.mak CFG="apr - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f libapr.mak CFG="libapr - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..
+!IF EXIST("srclib\apr-util")
+ cd srclib\apr-iconv
+ $(MAKE) $(MAKEOPT) -f apriconv.mak CFG="apriconv - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f libapriconv.mak CFG="libapriconv - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+!IF "$(CTARGET)" == "CLEAN"
+ $(MAKE) $(MAKEOPT) -f build\modules.mk.win clean \
+ BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=.
+!ELSE
+ cd ccs
+ $(MAKE) $(MAKEOPT) -f Makefile.win all \
+ BUILD_MODE=$(LONG) BIND_MODE=shared
+ cd ..\ces
+ $(MAKE) $(MAKEOPT) -f Makefile.win all \
+ BUILD_MODE=$(LONG) BIND_MODE=shared
+ cd ..
+!ENDIF
+ cd ..\..
+ cd srclib\apr-util\$(EXPAT)
+ $(MAKE) $(MAKEOPT) -f xml.mak CFG="xml - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd $(EXPBCK)
+ $(MAKE) $(MAKEOPT) $(SSLOPT) -f aprutil.mak CFG="aprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) $(SSLOPT) -f libaprutil.mak CFG="libaprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ldap
+ $(MAKE) $(MAKEOPT) -f apr_ldap.mak CFG="apr_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..
+!ELSE
+ # DBD, DBM components live now in apr
+ cd srclib\apr
+!ENDIF
+ cd dbd
+ for %d in (odbc $(DBD_LIST)) do \
+ $(MAKE) $(MAKEOPT) -f apr_dbd_%d.mak CFG="apr_dbd_%d - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..
+ cd dbm
+ for %d in ($(DBM_LIST) x) do if not %d == x \
+ $(MAKE) $(MAKEOPT) -f apr_dbm_%d.mak CFG="apr_dbm_%d - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..
+ cd ..\..
+ cd server
+ $(MAKE) $(MAKEOPT) -f gen_test_char.mak CFG="gen_test_char - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..
+ $(MAKE) $(MAKEOPT) -f libhttpd.mak CFG="libhttpd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f httpd.mak CFG="httpd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+# build ldap prior to authnz_ldap
+ cd modules\ldap
+ $(MAKE) $(MAKEOPT) -f mod_ldap.mak CFG="mod_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..
+ cd modules\database
+ $(MAKE) $(MAKEOPT) -f mod_dbd.mak CFG="mod_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..
+ cd modules\aaa
+ $(MAKE) $(MAKEOPT) -f mod_access_compat.mak CFG="mod_access_compat - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_allowmethods.mak CFG="mod_allowmethods - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_auth_basic.mak CFG="mod_auth_basic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_auth_digest.mak CFG="mod_auth_digest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_auth_form.mak CFG="mod_auth_form - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_authn_anon.mak CFG="mod_authn_anon - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_authn_core.mak CFG="mod_authn_core - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_authn_dbd.mak CFG="mod_authn_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_authn_dbm.mak CFG="mod_authn_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_authn_file.mak CFG="mod_authn_file - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_authn_socache.mak CFG="mod_authn_socache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_authnz_fcgi.mak CFG="mod_authnz_fcgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_authnz_ldap.mak CFG="mod_authnz_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_authz_core.mak CFG="mod_authz_core - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_authz_dbd.mak CFG="mod_authz_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_authz_dbm.mak CFG="mod_authz_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_authz_groupfile.mak CFG="mod_authz_groupfile - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_authz_host.mak CFG="mod_authz_host - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_authz_owner.mak CFG="mod_authz_owner - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_authz_user.mak CFG="mod_authz_user - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..
+ cd modules\arch\win32
+ $(MAKE) $(MAKEOPT) -f mod_isapi.mak CFG="mod_isapi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..\..
+ cd modules\cache
+ $(MAKE) $(MAKEOPT) -f mod_cache.mak CFG="mod_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_cache_disk.mak CFG="mod_cache_disk - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_cache_socache.mak CFG="mod_cache_socache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_file_cache.mak CFG="mod_file_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_socache_dbm.mak CFG="mod_socache_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+# $(MAKE) $(MAKEOPT) -f mod_socache_dc.mak CFG="mod_socache_dc - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_socache_memcache.mak CFG="mod_socache_memcache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_socache_shmcb.mak CFG="mod_socache_shmcb - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_socache_redis.mak CFG="mod_socache_redis - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..
+ cd modules\core
+ $(MAKE) $(MAKEOPT) -f mod_macro.mak CFG="mod_macro - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_watchdog.mak CFG="mod_watchdog - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..
+ cd modules\cluster
+ $(MAKE) $(MAKEOPT) -f mod_heartbeat.mak CFG="mod_heartbeat - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_heartmonitor.mak CFG="mod_heartmonitor - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..
+ cd modules\dav\main
+ $(MAKE) $(MAKEOPT) -f mod_dav.mak CFG="mod_dav - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..\..
+ cd modules\dav\fs
+ $(MAKE) $(MAKEOPT) -f mod_dav_fs.mak CFG="mod_dav_fs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..\..
+ cd modules\dav\lock
+ $(MAKE) $(MAKEOPT) -f mod_dav_lock.mak CFG="mod_dav_lock - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..\..
+ cd modules\debugging
+!IFDEF ALL
+ $(MAKE) $(MAKEOPT) -f mod_bucketeer.mak CFG="mod_bucketeer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+!ENDIF
+ $(MAKE) $(MAKEOPT) -f mod_dumpio.mak CFG="mod_dumpio - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..
+ cd modules\echo
+!IFDEF ALL
+ $(MAKE) $(MAKEOPT) -f mod_echo.mak CFG="mod_echo - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+!ENDIF
+ cd ..\..
+!IFDEF ALL
+ cd modules\examples
+ $(MAKE) $(MAKEOPT) -f mod_case_filter.mak CFG="mod_case_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_case_filter_in.mak CFG="mod_case_filter_in - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_example_hooks.mak CFG="mod_example_hooks - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_example_ipc.mak CFG="mod_example_ipc - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..
+!ENDIF
+ cd modules\filters
+!IF EXIST("srclib\brotli")
+ $(MAKE) $(MAKEOPT) -f mod_brotli.mak CFG="mod_brotli - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+!ENDIF
+ $(MAKE) $(MAKEOPT) -f mod_buffer.mak CFG="mod_buffer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_charset_lite.mak CFG="mod_charset_lite - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_data.mak CFG="mod_data - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+!IF EXIST("srclib\zlib")
+ $(MAKE) $(MAKEOPT) -f mod_deflate.mak CFG="mod_deflate - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+!ENDIF
+ $(MAKE) $(MAKEOPT) -f mod_ext_filter.mak CFG="mod_ext_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_filter.mak CFG="mod_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_include.mak CFG="mod_include - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+!IF EXIST("srclib\libxml2")
+ $(MAKE) $(MAKEOPT) -f mod_proxy_html.mak CFG="mod_proxy_html - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_xml2enc.mak CFG="mod_xml2enc - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+!ENDIF
+ $(MAKE) $(MAKEOPT) -f mod_ratelimit.mak CFG="mod_ratelimit - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_reflector.mak CFG="mod_reflector - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_reqtimeout.mak CFG="mod_reqtimeout - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_request.mak CFG="mod_request - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_sed.mak CFG="mod_sed - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_substitute.mak CFG="mod_substitute - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..
+ cd modules\generators
+ $(MAKE) $(MAKEOPT) -f mod_asis.mak CFG="mod_asis - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_autoindex.mak CFG="mod_autoindex - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_cgi.mak CFG="mod_cgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_info.mak CFG="mod_info - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_status.mak CFG="mod_status - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..
+ cd modules\http
+ $(MAKE) $(MAKEOPT) -f mod_mime.mak CFG="mod_mime - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..
+ cd modules\loggers
+ $(MAKE) $(MAKEOPT) -f mod_log_config.mak CFG="mod_log_config - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_log_debug.mak CFG="mod_log_debug - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_log_forensic.mak CFG="mod_log_forensic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_logio.mak CFG="mod_logio - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..
+!IF EXIST("srclib\lua")
+ cd modules\lua
+ $(MAKE) $(MAKEOPT) -f mod_lua.mak CFG="mod_lua - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..
+!ENDIF
+ cd modules\mappers
+ $(MAKE) $(MAKEOPT) -f mod_actions.mak CFG="mod_actions - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_alias.mak CFG="mod_alias - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_dir.mak CFG="mod_dir - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_imagemap.mak CFG="mod_imagemap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_negotiation.mak CFG="mod_negotiation - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_rewrite.mak CFG="mod_rewrite - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_speling.mak CFG="mod_speling - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_userdir.mak CFG="mod_userdir - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_vhost_alias.mak CFG="mod_vhost_alias - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..
+!IF EXIST("srclib\openssl") && EXIST("srclib\jansson") && EXIST("srclib\curl")
+ cd modules\md
+ $(MAKE) $(MAKEOPT) $(SSLOPT) -f mod_md.mak CFG="mod_md - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..
+!ENDIF
+ cd modules\metadata
+ $(MAKE) $(MAKEOPT) -f mod_cern_meta.mak CFG="mod_cern_meta - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_env.mak CFG="mod_env - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_expires.mak CFG="mod_expires - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_headers.mak CFG="mod_headers - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_ident.mak CFG="mod_ident - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_mime_magic.mak CFG="mod_mime_magic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_remoteip.mak CFG="mod_remoteip - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_setenvif.mak CFG="mod_setenvif - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_unique_id.mak CFG="mod_unique_id - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_usertrack.mak CFG="mod_usertrack - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_version.mak CFG="mod_version - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..
+ cd modules\proxy
+ $(MAKE) $(MAKEOPT) -f mod_proxy.mak CFG="mod_proxy - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_proxy_ajp.mak CFG="mod_proxy_ajp - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_proxy_balancer.mak CFG="mod_proxy_balancer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_proxy_connect.mak CFG="mod_proxy_connect - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_proxy_express.mak CFG="mod_proxy_express - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_proxy_fcgi.mak CFG="mod_proxy_fcgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_proxy_ftp.mak CFG="mod_proxy_ftp - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_proxy_hcheck.mak CFG="mod_proxy_hcheck - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_proxy_http.mak CFG="mod_proxy_http - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_proxy_scgi.mak CFG="mod_proxy_scgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_proxy_uwsgi.mak CFG="mod_proxy_uwsgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_proxy_wstunnel.mak CFG="mod_proxy_wstunnel - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..
+ cd modules\proxy\balancers
+ $(MAKE) $(MAKEOPT) -f mod_lbmethod_bybusyness.mak CFG="mod_lbmethod_bybusyness - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_lbmethod_byrequests.mak CFG="mod_lbmethod_byrequests - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_lbmethod_bytraffic.mak CFG="mod_lbmethod_bytraffic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_lbmethod_heartbeat.mak CFG="mod_lbmethod_heartbeat - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..\..
+# mod_proxy_http2 must be built after mod_proxy and mod_http2
+!IF EXIST("srclib\nghttp2")
+ cd modules\http2
+ $(MAKE) $(MAKEOPT) -f mod_http2.mak CFG="mod_http2 - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_proxy_http2.mak CFG="mod_proxy_http2 - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..
+!ENDIF
+ cd modules\session
+ $(MAKE) $(MAKEOPT) -f mod_session.mak CFG="mod_session - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_session_cookie.mak CFG="mod_session_cookie - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_session_dbd.mak CFG="mod_session_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..
+ cd modules\slotmem
+ $(MAKE) $(MAKEOPT) -f mod_slotmem_plain.mak CFG="mod_slotmem_plain - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_slotmem_shm.mak CFG="mod_slotmem_shm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..
+!IF EXIST("srclib\openssl")
+# cd modules\session
+# $(MAKE) $(MAKEOPT) -f mod_session_crypto.mak CFG="mod_session_crypto - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+# cd ..\..
+ cd modules\ssl
+ $(MAKE) $(MAKEOPT) $(SSLOPT) -f mod_ssl.mak CFG="mod_ssl - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..
+ cd support
+ $(MAKE) $(MAKEOPT) $(SSLOPT) -f abs.mak CFG="abs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..
+!ENDIF
+ cd support
+ $(MAKE) $(MAKEOPT) -f ab.mak CFG="ab - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+# $(MAKE) $(MAKEOPT) -f fcgistarter.mak CFG="fcgistarter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f htcacheclean.mak CFG="htcacheclean - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f htdbm.mak CFG="htdbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f htdigest.mak CFG="htdigest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f htpasswd.mak CFG="htpasswd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f httxt2dbm.mak CFG="httxt2dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f logresolve.mak CFG="logresolve - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f rotatelogs.mak CFG="rotatelogs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..
+ cd support\win32
+ $(MAKE) $(MAKEOPT) -f ApacheMonitor.mak CFG="ApacheMonitor - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f wintty.mak CFG="wintty - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ cd ..\..
+
+!ELSEIF $(USESLN) == 1
+
+_cleanr:
+ $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/clean" _build
+
+_cleand:
+ $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug CTARGET="/clean" _build
+
+_build:
+ echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
+!IFDEF ALL
+ devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project BuildAll
+!ELSE
+ devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project BuildBin
+!ENDIF
+!IF EXIST("srclib\openssl")
+ devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_ssl
+ devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project abs
+!ENDIF
+!IF EXIST("srclib\zlib")
+ devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_deflate
+!ENDIF
+!IF EXIST("srclib\lua")
+ devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_lua
+!ENDIF
+!IF EXIST("srclib\libxml2")
+ devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_proxy_html
+ devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_xml2enc
+!ENDIF
+
+!ELSE
+
+_cleanr:
+ @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/CLEAN" _build
+
+_cleand:
+ @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug CTARGET="/CLEAN" _build
+
+_build:
+ @echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
+!IFDEF ALL
+ @msdev $(TLP).dsw /USEENV /MAKE \
+ "BuildAll - Win32 $(LONG)" $(CTARGET)
+!ELSE
+ @msdev $(TLP).dsw /USEENV /MAKE \
+ "BuildBin - Win32 $(LONG)" $(CTARGET)
+!ENDIF
+!IF "$(CTARGET)" == "/CLEAN"
+!IF EXIST("srclib\apr-iconv")
+ @cd srclib\apr-iconv
+ @$(MAKE) $(MAKEOPT) -f build\modules.mk.win clean \
+ BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=.
+ @cd ..\..
+!ENDIF
+!ENDIF
+!IF EXIST("srclib\openssl")
+ @msdev $(TLP).dsw /USEENV /MAKE \
+ "mod_ssl - Win32 $(LONG)" \
+ "abs - Win32 $(LONG)" /NORECURSE $(CTARGET)
+!ENDIF
+!IF EXIST("srclib\zlib")
+ @msdev $(TLP).dsw /USEENV /MAKE \
+ "mod_deflate - Win32 $(LONG)" /NORECURSE $(CTARGET)
+!ENDIF
+!IF EXIST("srclib\lua")
+ @msdev $(TLP).dsw /USEENV /MAKE \
+ "mod_lua - Win32 $(LONG)" /NORECURSE $(CTARGET)
+!ENDIF
+!IF EXIST("srclib\libxml2")
+ @msdev $(TLP).dsw /USEENV /MAKE \
+ "mod_proxy_html - Win32 $(LONG)" /NORECURSE $(CTARGET)
+ @msdev $(TLP).dsw /USEENV /MAKE \
+ "mod_xml2enc - Win32 $(LONG)" /NORECURSE $(CTARGET)
+!ENDIF
+
+!ENDIF
+
+
+_copybin:
+ copy $(LONG)\httpd.$(src_exe) "$(inst_exe)" <.y
+ copy $(LONG)\libhttpd.$(src_dll) "$(inst_dll)" <.y
+ copy srclib\apr\$(LONG)\libapr-1.$(src_dll) "$(inst_dll)" <.y
+!IF EXIST("srclib\apr-util")
+ copy srclib\apr-iconv\$(LONG)\libapriconv-1.$(src_dll) "$(inst_dll)" <.y
+ copy srclib\apr-util\$(LONG)\libaprutil-1.$(src_dll) "$(inst_dll)" <.y
+ copy srclib\apr-util\ldap\$(LONG)\apr_ldap-1.$(src_dll) "$(inst_dll)" <.y
+!ENDIF
+ for %d in (odbc $(DBD_LIST)) do ( \
+ copy srclib\$(UTILDIR)\dbd\$(LONG)\apr_dbd_%d-1.$(src_dll) "$(inst_dll)" <.y \
+ )
+ for %d in ($(DBM_LIST) x) do if not %d == x ( \
+ copy srclib\$(UTILDIR)\dbm\$(LONG)\apr_dbm_%d-1.$(src_dll) "$(inst_dll)" <.y \
+ )
+!IF "$(SHORT)" == "D"
+ copy srclib\pcre\pcred.$(src_dll) "$(inst_dll)" <.y
+!ELSE
+ copy srclib\pcre\pcre.$(src_dll) "$(inst_dll)" <.y
+!ENDIF
+ copy modules\aaa\$(LONG)\mod_access_compat.$(src_so) "$(inst_so)" <.y
+ copy modules\aaa\$(LONG)\mod_allowmethods.$(src_so) "$(inst_so)" <.y
+ copy modules\aaa\$(LONG)\mod_auth_basic.$(src_so) "$(inst_so)" <.y
+ copy modules\aaa\$(LONG)\mod_auth_digest.$(src_so) "$(inst_so)" <.y
+ copy modules\aaa\$(LONG)\mod_auth_form.$(src_so) "$(inst_so)" <.y
+ copy modules\aaa\$(LONG)\mod_authn_anon.$(src_so) "$(inst_so)" <.y
+ copy modules\aaa\$(LONG)\mod_authn_core.$(src_so) "$(inst_so)" <.y
+ copy modules\aaa\$(LONG)\mod_authn_dbd.$(src_so) "$(inst_so)" <.y
+ copy modules\aaa\$(LONG)\mod_authn_dbm.$(src_so) "$(inst_so)" <.y
+ copy modules\aaa\$(LONG)\mod_authn_file.$(src_so) "$(inst_so)" <.y
+ copy modules\aaa\$(LONG)\mod_authn_socache.$(src_so) "$(inst_so)" <.y
+ copy modules\aaa\$(LONG)\mod_authnz_fcgi.$(src_so) "$(inst_so)" <.y
+ copy modules\aaa\$(LONG)\mod_authnz_ldap.$(src_so) "$(inst_so)" <.y
+ copy modules\aaa\$(LONG)\mod_authz_core.$(src_so) "$(inst_so)" <.y
+ copy modules\aaa\$(LONG)\mod_authz_dbd.$(src_so) "$(inst_so)" <.y
+ copy modules\aaa\$(LONG)\mod_authz_dbm.$(src_so) "$(inst_so)" <.y
+ copy modules\aaa\$(LONG)\mod_authz_core.$(src_so) "$(inst_so)" <.y
+ copy modules\aaa\$(LONG)\mod_authz_groupfile.$(src_so) "$(inst_so)" <.y
+ copy modules\aaa\$(LONG)\mod_authz_host.$(src_so) "$(inst_so)" <.y
+ copy modules\aaa\$(LONG)\mod_authz_owner.$(src_so) "$(inst_so)" <.y
+ copy modules\aaa\$(LONG)\mod_authz_user.$(src_so) "$(inst_so)" <.y
+ copy modules\arch\win32\$(LONG)\mod_isapi.$(src_so) "$(inst_so)" <.y
+ copy modules\cache\$(LONG)\mod_cache.$(src_so) "$(inst_so)" <.y
+ copy modules\cache\$(LONG)\mod_cache_disk.$(src_so) "$(inst_so)" <.y
+ copy modules\cache\$(LONG)\mod_cache_socache.$(src_so) "$(inst_so)" <.y
+ copy modules\cache\$(LONG)\mod_file_cache.$(src_so) "$(inst_so)" <.y
+ copy modules\cache\$(LONG)\mod_socache_dbm.$(src_so) "$(inst_so)" <.y
+# copy modules\cache\$(LONG)\mod_socache_dc.$(src_so) "$(inst_so)" <.y
+ copy modules\cache\$(LONG)\mod_socache_memcache.$(src_so) "$(inst_so)" <.y
+ copy modules\cache\$(LONG)\mod_socache_shmcb.$(src_so) "$(inst_so)" <.y
+ copy modules\cache\$(LONG)\mod_socache_redis.$(src_so) "$(inst_so)" <.y
+ copy modules\core\$(LONG)\mod_macro.$(src_so) "$(inst_so)" <.y
+ copy modules\core\$(LONG)\mod_watchdog.$(src_so) "$(inst_so)" <.y
+ copy modules\cluster\$(LONG)\mod_heartbeat.$(src_so) "$(inst_so)" <.y
+ copy modules\cluster\$(LONG)\mod_heartmonitor.$(src_so) "$(inst_so)" <.y
+ copy modules\database\$(LONG)\mod_dbd.$(src_so) "$(inst_so)" <.y
+ copy modules\dav\fs\$(LONG)\mod_dav_fs.$(src_so) "$(inst_so)" <.y
+ copy modules\dav\lock\$(LONG)\mod_dav_lock.$(src_so) "$(inst_so)" <.y
+ copy modules\dav\main\$(LONG)\mod_dav.$(src_so) "$(inst_so)" <.y
+!IFDEF ALL
+ copy modules\debugging\$(LONG)\mod_bucketeer.$(src_so) "$(inst_so)" <.y
+!ENDIF
+ copy modules\debugging\$(LONG)\mod_dumpio.$(src_so) "$(inst_so)" <.y
+!IFDEF ALL
+ copy modules\echo\$(LONG)\mod_echo.$(src_so) "$(inst_so)" <.y
+ copy modules\examples\$(LONG)\mod_case_filter.$(src_so) "$(inst_so)" <.y
+ copy modules\examples\$(LONG)\mod_case_filter_in.$(src_so) "$(inst_so)" <.y
+ copy modules\examples\$(LONG)\mod_example_hooks.$(src_so) "$(inst_so)" <.y
+ copy modules\examples\$(LONG)\mod_example_ipc.$(src_so) "$(inst_so)" <.y
+!ENDIF
+!IF EXIST("srclib\brotli")
+ copy modules\filters\$(LONG)\mod_brotli.$(src_so) "$(inst_so)" <.y
+!ENDIF
+ copy modules\filters\$(LONG)\mod_buffer.$(src_so) "$(inst_so)" <.y
+ copy modules\filters\$(LONG)\mod_charset_lite.$(src_so) "$(inst_so)" <.y
+ copy modules\filters\$(LONG)\mod_data.$(src_so) "$(inst_so)" <.y
+!IF EXIST("srclib\zlib")
+ copy modules\filters\$(LONG)\mod_deflate.$(src_so) "$(inst_so)" <.y
+!IF EXIST("srclib\zlib\zlib1.$(src_dll)")
+ copy srclib\zlib\zlib1.$(src_dll) "$(inst_dll)" <.y
+!ENDIF
+!ENDIF
+ copy modules\filters\$(LONG)\mod_ext_filter.$(src_so) "$(inst_so)" <.y
+ copy modules\filters\$(LONG)\mod_filter.$(src_so) "$(inst_so)" <.y
+ copy modules\filters\$(LONG)\mod_include.$(src_so) "$(inst_so)" <.y
+!IF EXIST("srclib\libxml2")
+ copy modules\filters\$(LONG)\mod_proxy_html.$(src_so) "$(inst_so)" <.y
+ copy modules\filters\$(LONG)\mod_xml2enc.$(src_so) "$(inst_so)" <.y
+!IF EXIST("srclib\libxml2\win32\bin.msvc\libxml2.$(src_dll)")
+ copy srclib\libxml2\win32\bin.msvc\libxml2.$(src_dll) "$(inst_dll)" <.y
+!ENDIF
+!ENDIF
+ copy modules\filters\$(LONG)\mod_ratelimit.$(src_so) "$(inst_so)" <.y
+ copy modules\filters\$(LONG)\mod_reflector.$(src_so) "$(inst_so)" <.y
+ copy modules\filters\$(LONG)\mod_reqtimeout.$(src_so) "$(inst_so)" <.y
+ copy modules\filters\$(LONG)\mod_request.$(src_so) "$(inst_so)" <.y
+ copy modules\filters\$(LONG)\mod_sed.$(src_so) "$(inst_so)" <.y
+ copy modules\filters\$(LONG)\mod_substitute.$(src_so) "$(inst_so)" <.y
+ copy modules\generators\$(LONG)\mod_asis.$(src_so) "$(inst_so)" <.y
+ copy modules\generators\$(LONG)\mod_autoindex.$(src_so) "$(inst_so)" <.y
+ copy modules\generators\$(LONG)\mod_cgi.$(src_so) "$(inst_so)" <.y
+ copy modules\generators\$(LONG)\mod_info.$(src_so) "$(inst_so)" <.y
+ copy modules\generators\$(LONG)\mod_status.$(src_so) "$(inst_so)" <.y
+ copy modules\http\$(LONG)\mod_mime.$(src_so) "$(inst_so)" <.y
+!IF EXIST("srclib\nghttp2")
+ copy modules\http2\$(LONG)\mod_http2.$(src_so) "$(inst_so)" <.y
+ copy modules\http2\$(LONG)\mod_proxy_http2.$(src_so) "$(inst_so)" <.y
+!IF "$(SHORT)" == "D"
+ copy srclib\nghttp2\lib\MSVC_obj\nghttp2d.$(src_dll) "$(inst_dll)" <.y
+!ELSE
+ copy srclib\nghttp2\lib\MSVC_obj\nghttp2.$(src_dll) "$(inst_dll)" <.y
+!ENDIF
+!ENDIF
+ copy modules\ldap\$(LONG)\mod_ldap.$(src_so) "$(inst_so)" <.y
+ copy modules\loggers\$(LONG)\mod_log_config.$(src_so) "$(inst_so)" <.y
+ copy modules\loggers\$(LONG)\mod_log_debug.$(src_so) "$(inst_so)" <.y
+ copy modules\loggers\$(LONG)\mod_log_forensic.$(src_so) "$(inst_so)" <.y
+ copy modules\loggers\$(LONG)\mod_logio.$(src_so) "$(inst_so)" <.y
+!IF EXIST("srclib\lua")
+ copy modules\lua\$(LONG)\mod_lua.$(src_so) "$(inst_so)" <.y
+!IF EXIST("srclib\lua\src\lua51.$(src_dll)")
+ copy srclib\lua\src\lua51.$(src_dll) "$(inst_dll)" <.y
+!ENDIF
+!ENDIF
+ copy modules\mappers\$(LONG)\mod_actions.$(src_so) "$(inst_so)" <.y
+ copy modules\mappers\$(LONG)\mod_alias.$(src_so) "$(inst_so)" <.y
+ copy modules\mappers\$(LONG)\mod_dir.$(src_so) "$(inst_so)" <.y
+ copy modules\mappers\$(LONG)\mod_imagemap.$(src_so) "$(inst_so)" <.y
+ copy modules\mappers\$(LONG)\mod_negotiation.$(src_so) "$(inst_so)" <.y
+ copy modules\mappers\$(LONG)\mod_rewrite.$(src_so) "$(inst_so)" <.y
+ copy modules\mappers\$(LONG)\mod_speling.$(src_so) "$(inst_so)" <.y
+ copy modules\mappers\$(LONG)\mod_userdir.$(src_so) "$(inst_so)" <.y
+ copy modules\mappers\$(LONG)\mod_vhost_alias.$(src_so) "$(inst_so)" <.y
+!IF EXIST("srclib\openssl") && EXIST("srclib\jansson") && EXIST("srclib\curl")
+ copy modules\md\$(LONG)\mod_md.$(src_so) "$(inst_so)" <.y
+!IF "$(SHORT)" == "D"
+ -copy srclib\curl\bin\libcurl_debug.$(src_dll) "$(inst_dll)" <.y
+ -copy srclib\jansson\bin\jansson_d.$(src_dll) "$(inst_dll)" <.y
+!ELSE
+ -copy srclib\curl\bin\libcurl.$(src_dll) "$(inst_dll)" <.y
+ -copy srclib\jansson\bin\jansson.$(src_dll) "$(inst_dll)" <.y
+!ENDIF
+!ENDIF
+ copy modules\metadata\$(LONG)\mod_cern_meta.$(src_so) "$(inst_so)" <.y
+ copy modules\metadata\$(LONG)\mod_env.$(src_so) "$(inst_so)" <.y
+ copy modules\metadata\$(LONG)\mod_expires.$(src_so) "$(inst_so)" <.y
+ copy modules\metadata\$(LONG)\mod_headers.$(src_so) "$(inst_so)" <.y
+ copy modules\metadata\$(LONG)\mod_ident.$(src_so) "$(inst_so)" <.y
+ copy modules\metadata\$(LONG)\mod_mime_magic.$(src_so) "$(inst_so)" <.y
+ copy modules\metadata\$(LONG)\mod_remoteip.$(src_so) "$(inst_so)" <.y
+ copy modules\metadata\$(LONG)\mod_setenvif.$(src_so) "$(inst_so)" <.y
+ copy modules\metadata\$(LONG)\mod_unique_id.$(src_so) "$(inst_so)" <.y
+ copy modules\metadata\$(LONG)\mod_usertrack.$(src_so) "$(inst_so)" <.y
+ copy modules\metadata\$(LONG)\mod_version.$(src_so) "$(inst_so)" <.y
+ copy modules\proxy\$(LONG)\mod_proxy.$(src_so) "$(inst_so)" <.y
+ copy modules\proxy\$(LONG)\mod_proxy_ajp.$(src_so) "$(inst_so)" <.y
+ copy modules\proxy\$(LONG)\mod_proxy_balancer.$(src_so) "$(inst_so)" <.y
+ copy modules\proxy\$(LONG)\mod_proxy_connect.$(src_so) "$(inst_so)" <.y
+ copy modules\proxy\$(LONG)\mod_proxy_express.$(src_so) "$(inst_so)" <.y
+ copy modules\proxy\$(LONG)\mod_proxy_fcgi.$(src_so) "$(inst_so)" <.y
+ copy modules\proxy\$(LONG)\mod_proxy_ftp.$(src_so) "$(inst_so)" <.y
+ copy modules\proxy\$(LONG)\mod_proxy_hcheck.$(src_so) "$(inst_so)" <.y
+ copy modules\proxy\$(LONG)\mod_proxy_http.$(src_so) "$(inst_so)" <.y
+ copy modules\proxy\$(LONG)\mod_proxy_scgi.$(src_so) "$(inst_so)" <.y
+ copy modules\proxy\$(LONG)\mod_proxy_uwsgi.$(src_so) "$(inst_so)" <.y
+ copy modules\proxy\$(LONG)\mod_proxy_wstunnel.$(src_so) "$(inst_so)" <.y
+ copy modules\proxy\balancers\$(LONG)\mod_lbmethod_bybusyness.$(src_so) "$(inst_so)" <.y
+ copy modules\proxy\balancers\$(LONG)\mod_lbmethod_byrequests.$(src_so) "$(inst_so)" <.y
+ copy modules\proxy\balancers\$(LONG)\mod_lbmethod_bytraffic.$(src_so) "$(inst_so)" <.y
+ copy modules\proxy\balancers\$(LONG)\mod_lbmethod_heartbeat.$(src_so) "$(inst_so)" <.y
+ copy modules\session\$(LONG)\mod_session.$(src_so) "$(inst_so)" <.y
+ copy modules\session\$(LONG)\mod_session_cookie.$(src_so) "$(inst_so)" <.y
+ copy modules\session\$(LONG)\mod_session_dbd.$(src_so) "$(inst_so)" <.y
+ copy modules\slotmem\$(LONG)\mod_slotmem_plain.$(src_so) "$(inst_so)" <.y
+ copy modules\slotmem\$(LONG)\mod_slotmem_shm.$(src_so) "$(inst_so)" <.y
+!IF EXIST("srclib\openssl")
+# copy modules\session\$(LONG)\mod_session_crypto.$(src_so) "$(inst_so)" <.y
+ copy modules\ssl\$(LONG)\mod_ssl.$(src_so) "$(inst_so)" <.y
+ -copy srclib\openssl\$(SSLBIN)\$(SSLCRP)*.$(src_dll) "$(inst_dll)" <.y
+ -copy srclib\openssl\$(SSLBIN)\$(SSLLIB)*.$(src_dll) "$(inst_dll)" <.y
+ -copy srclib\openssl\$(SSLAPP)\openssl.$(src_exe) "$(inst_exe)" <.y
+ copy support\$(LONG)\abs.$(src_exe) "$(inst_exe)" <.y
+!ENDIF
+ copy support\$(LONG)\ab.$(src_exe) "$(inst_exe)" <.y
+# copy support\$(LONG)\fcgistarter.$(src_exe) "$(inst_exe)" <.y
+ copy support\$(LONG)\htcacheclean.$(src_exe) "$(inst_exe)" <.y
+ copy support\$(LONG)\htdbm.$(src_exe) "$(inst_exe)" <.y
+ copy support\$(LONG)\htdigest.$(src_exe) "$(inst_exe)" <.y
+ copy support\$(LONG)\htpasswd.$(src_exe) "$(inst_exe)" <.y
+ copy support\$(LONG)\httxt2dbm.$(src_exe) "$(inst_exe)" <.y
+ copy support\$(LONG)\logresolve.$(src_exe) "$(inst_exe)" <.y
+ copy support\$(LONG)\rotatelogs.$(src_exe) "$(inst_exe)" <.y
+ copy support\win32\$(LONG)\ApacheMonitor.$(src_exe) "$(inst_exe)" <.y
+ copy support\win32\$(LONG)\wintty.$(src_exe) "$(inst_exe)" <.y
+
+
+# First we create the tree and populate the README so that
+# whatever happens, all licensing has already propagated.
+# Then repeatedly invoke the _copybin build to copy the
+# real binaries, then pdb symbols, anf finally dbg syms.
+# Then hit docs of various sorts, then includes and libs,
+# and finally do the .conf magic.
+#
+_install:
+ echo Y >.y
+ echo A >.A
+ -mkdir "$(INSTDIR)"
+ -mkdir "$(INSTDIR)\bin"
+!IF EXIST("srclib\apr-util")
+ -mkdir "$(INSTDIR)\bin\iconv"
+!ENDIF
+ -mkdir "$(INSTDIR)\cgi-bin"
+ -mkdir "$(INSTDIR)\conf"
+ -mkdir "$(INSTDIR)\conf\extra"
+ -mkdir "$(INSTDIR)\conf\original"
+ -mkdir "$(INSTDIR)\conf\original\extra"
+ -mkdir "$(INSTDIR)\error"
+ -mkdir "$(INSTDIR)\htdocs"
+ -mkdir "$(INSTDIR)\manual"
+ -mkdir "$(INSTDIR)\icons"
+ -mkdir "$(INSTDIR)\include"
+ -mkdir "$(INSTDIR)\lib"
+ -mkdir "$(INSTDIR)\logs"
+ -mkdir "$(INSTDIR)\modules"
+ copy ABOUT_APACHE "$(INSTDIR)\ABOUT_APACHE.txt" <.y
+ copy CHANGES "$(INSTDIR)\CHANGES.txt" <.y
+ copy INSTALL "$(INSTDIR)\INSTALL.txt" <.y
+ copy LICENSE "$(INSTDIR)\LICENSE.txt" <.y
+ copy NOTICE "$(INSTDIR)\NOTICE.txt" <.y
+ copy README "$(INSTDIR)\README.txt" <.y
+ type << >> "$(INSTDIR)\NOTICE.txt"
+
+Regular expression support is provided by the PCRE library package,
+which is open source software, written by Philip Hazel, and copyright
+by the University of Cambridge, England. The original software is
+available from
+ ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
+<<
+ -awk -f <<script1.awk < "srclib\pcre\LICENCE" >> "$(INSTDIR)\LICENSE.txt"
+BEGIN {
+ print "";
+ print "For the pcre.dll component:";
+ print "";
+ while ( getline > 0 ) {
+ if ( $$0 ~ /^End$$/ ) $$0 = "END OF PCRE LICENSE";
+ print $$0;
+ }
+}
+<<
+!IF EXIST("srclib\openssl")
+ -copy srclib\openssl\apps\openssl.cnf "$(INSTDIR)\conf\openssl.cnf" <.y
+ type << >> "$(INSTDIR)\NOTICE.txt"
+
+This binary distribution includes cryptographic software written by
+Eric Young (eay@cryptsoft.com), software written by Tim Hudson
+(tjh@cryptsoft.com), and software developed by the OpenSSL Project
+for use in the OpenSSL Toolkit <http://www.openssl.org/>.
+<<
+ -awk -f <<script.awk < "srclib\openssl\LICENSE" >> "$(INSTDIR)\LICENSE.txt"
+BEGIN {
+ print "";
+ print "For the libeay32.dll, ssleay32.dll and openssl.exe components:";
+ print "";
+ while ( getline > 0 ) {
+ print $$0;
+ }
+}
+<<
+ copy << "$(INSTDIR)\OPENSSL-NEWS.txt" <.y
+
+ Apache HTTP Server 2.4 Limited OpenSSL Distribution
+
+ This binary distribution includes the minimal components of OpenSSL required
+ to support mod_ssl for Apache HTTP Server version 2.4 (details are listed
+ in OPENSSL-README.txt.) For the complete list of CHANGES to this and later
+ versions of OpenSSL, please refer to the definative source,
+ <http://www.openssl.org/news/changelog.html>, or see the CHANGES file in the
+ full binary or source distribution package from <http://www.openssl.org/>.
+
+ These OpenSSL binaries were built for distribution from the U.S. without
+ support for the patented encryption methods IDEA, MDC-2 or RC5.
+
+--------------------------------------------------------------------------------
+
+<<
+ -copy "$(INSTDIR)\OPENSSL-NEWS.txt" \
+ + srclib\openssl\NEWS "$(INSTDIR)\OPENSSL-NEWS.txt"
+ copy << "$(INSTDIR)\OPENSSL-README.txt" <.y
+
+ Apache HTTP Server 2.4 Limited OpenSSL Distribution
+
+ This binary installation of OpenSSL is a limited distribution of the
+ files derived from the OpenSSL project:
+
+ LICENSE.txt (includes openssl LICENSE)
+ OPENSSL-NEWS.txt
+ OPENSSL-README.txt
+ conf\openssl.cnf
+ bin\libeay32.dll
+ bin\ssleay32.dll
+ bin\openssl.exe
+
+ These are the minimal libraries and tools required to use mod_ssl as
+ distributed with Apache HTTP Server version 2.4. No library link files,
+ headers or sources are distributed with this binary distribution. Please
+ refer to the <http://www.openssl.org/> site for complete source or binary
+ distributions.
+
+ These OpenSSL binaries were built for distribution from the U.S. without
+ support for the patented encryption methods IDEA, MDC-2 or RC5.
+
+ The Apache HTTP Project only supports the binary distribution of these files
+ and development of the mod_ssl module. We cannot provide support assistance
+ for using or configuring the OpenSSL package or these modules. Please refer
+ all installation and configuration questions to the appropriate forum,
+ such as the user supported lists, <http://httpd.apache.org/userslist.html>
+ the Apache HTTP Server user's list or <http://www.openssl.org/support/> the
+ OpenSSL support page.
+
+--------------------------------------------------------------------------------
+
+<<
+ -copy "$(INSTDIR)\OPENSSL-README.txt" \
+ + srclib\openssl\README "$(INSTDIR)\OPENSSL-README.txt"
+!ENDIF
+!IF EXIST("srclib\zlib")
+ type << >> "$(INSTDIR)\NOTICE.txt"
+
+This binary distribution of mod_deflate.so includes zlib compression code
+<http://www.gzip.org/zlib/> written by Jean-loup Gailly (jloup@gzip.org)
+and Mark Adler (madler@alumni.caltech.edu) .
+<<
+ -awk -f <<script.awk < "srclib\zlib\README" >> "$(INSTDIR)\LICENSE.txt"
+BEGIN {
+ while ( getline > 0 ) {
+ if ( $$0 ~ /Copyright notice:/ ) {
+ print "";
+ print "For the mod_deflate zlib compression component:";
+ while ( getline > 0 && $$0 !~ /^[^ ]/ ) {
+ print $$0;
+ }
+ exit 0;
+ }
+ }
+ exit 1;
+}
+<<
+!ENDIF
+!IF EXIST("srclib\lua")
+ type << >> "$(INSTDIR)\NOTICE.txt"
+
+This binary distribution of mod_lua.so includes the Lua language,
+developed at Lua.org, a laboratory of the Department of Computer Science
+of PUC-Rio (the Pontifical Catholic University of Rio de Janeiro in Brazil).
+For complete information, visit Lua's web site at http://www.lua.org/
+<<
+ -awk -f <<script.awk < "srclib\lua\COPYRIGHT" >> "$(INSTDIR)\LICENSE.txt"
+BEGIN {
+ print "";
+ print "For the mod_lua language component:";
+ print "";
+ while ( getline > 0 && $$0 !~ /end of COPYRIGHT/ ) {
+ print $$0;
+ }
+ exit 0;
+}
+<<
+!ENDIF
+!IF EXIST("srclib\libxml2")
+ type << >> "$(INSTDIR)\NOTICE.txt"
+
+This binary distributions of mod_proxy_html.so and mod_xml2enc.so include the
+libxml2 C library written by Daniel Veillard (daniel veillard.com), Bjorn
+Reese (breese users.sourceforge.net) and Gary Pennington (Gary.Pennington
+uk.sun.com). For complete information, visit LibXML2's web site at
+https://http://www.xmlsoft.org/
+<<
+ -awk -f <<script.awk < "srclib\libxml2\Copyright" >> "$(INSTDIR)\LICENSE.txt"
+BEGIN {
+ print "";
+ print "For the mod_proxy_html and mod_xml2enc components:";
+ print "";
+ while ( getline > 0 ) {
+ print $$0;
+ }
+ exit 0;
+}
+<<
+!ENDIF
+!IF EXIST("srclib\nghttp2")
+ type << >> "$(INSTDIR)\NOTICE.txt"
+
+This binary distribution of mod_http2.so includes nghttp2 C library written
+by Tatsuhiro Tsujikawa. For complete information, visit nghttp2's web site
+at https://nghttp2.org/
+<<
+ -awk -f <<script.awk < "srclib\nghttp2\COPYING" >> "$(INSTDIR)\LICENSE.txt"
+BEGIN {
+ print "";
+ print "For the mod_http2 component:";
+ print "";
+ while ( getline > 0 ) {
+ print $$0;
+ }
+ exit 0;
+}
+<<
+!ENDIF
+!IF EXIST("srclib\brotli")
+ type << >> "$(INSTDIR)\NOTICE.txt"
+
+This binary distribution of mod_brotli.so includes Brotli C library written
+by the Brotli Authors. For complete information, visit Brotli's web site
+at https://github.com/google/brotli
+<<
+ -awk -f <<script.awk < "srclib\brotli\LICENSE" >> "$(INSTDIR)\LICENSE.txt"
+BEGIN {
+ print "";
+ print "For the mod_brotli component:";
+ print "";
+ while ( getline > 0 ) {
+ print $$0;
+ }
+ exit 0;
+}
+<<
+!ENDIF
+ $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=$(SHORT) LONG=$(LONG) \
+ _copybin src_exe=exe src_dll=dll src_so=so \
+ inst_exe="$(INSTDIR)\bin" \
+ inst_dll="$(INSTDIR)\bin" \
+ inst_so="$(INSTDIR)\modules"
+ $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=$(SHORT) LONG=$(LONG) \
+ _copybin src_exe=pdb src_dll=pdb src_so=pdb \
+ inst_exe="$(INSTDIR)\bin" \
+ inst_dll="$(INSTDIR)\bin" \
+ inst_so="$(INSTDIR)\modules"
+!IF EXIST("srclib\apr-util")
+ cd srclib\apr-iconv
+ $(MAKE) $(MAKEOPT) -f build\modules.mk.win install \
+ BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=. \
+ INSTALL_DIR="$(INSTDIR)\bin\iconv"
+ cd ..\..
+!ENDIF
+ copy docs\cgi-examples\printenv "$(INSTDIR)\cgi-bin\printenv.pl" <.y
+ -awk -f <<script.awk "docs/cgi-examples/printenv" > "$(INSTDIR)\cgi-bin\printenv.pl"
+ BEGIN {
+ if ( "perl -e \"print $$^X;\"" | getline perlroot ) {
+ gsub( /\\/, "/", perlroot );
+ print "#!" perlroot;
+ }
+ }
+ {
+ if ( $$0 !~ /^#!/ ) {
+ print $$0;
+ }
+ }
+<<
+ xcopy docs\error "$(INSTDIR)\error" /s /d < .a
+ xcopy docs\docroot "$(INSTDIR)\htdocs" /d < .a
+ xcopy docs\icons "$(INSTDIR)\icons" /s /d < .a
+ xcopy docs\manual "$(INSTDIR)\manual" /s /d < .a
+ for %f in ( \
+ srclib\expat\lib\expat.h \
+ srclib\apr-util\xml\expat\lib\expat.h \
+ srclib\apr\include\*.h \
+ srclib\apr-util\include\*.h \
+ include\*.h \
+ os\win32\os.h \
+ modules\cache\mod_cache.h \
+ modules\cache\cache_common.h \
+ modules\core\mod_so.h \
+ modules\core\mod_watchdog.h \
+ modules\database\mod_dbd.h \
+ modules\dav\main\mod_dav.h \
+ modules\filters\mod_include.h \
+ modules\generators\mod_cgi.h \
+ modules\generators\mod_status.h \
+ modules\http2\mod_http2.h \
+ modules\loggers\mod_log_config.h \
+ modules\mappers\mod_rewrite.h \
+ modules\proxy\mod_proxy.h \
+ modules\ssl\mod_ssl.h \
+ modules\ssl\mod_ssl_openssl.h \
+ ) do \
+ @copy %f "$(INSTDIR)\include" < .y > nul
+ copy srclib\apr\Lib$(SHORT)\apr-1.lib "$(INSTDIR)\lib" <.y
+ copy srclib\apr\Lib$(SHORT)\apr-1.pdb "$(INSTDIR)\lib" <.y
+ copy srclib\apr\$(LONG)\libapr-1.lib "$(INSTDIR)\lib" <.y
+ copy srclib\apr\$(LONG)\libapr-1.exp "$(INSTDIR)\lib" <.y
+!IF EXIST("srclib\apr-util")
+ copy srclib\apr-util\Lib$(SHORT)\aprutil-1.lib "$(INSTDIR)\lib" <.y
+ copy srclib\apr-util\Lib$(SHORT)\aprutil-1.pdb "$(INSTDIR)\lib" <.y
+ copy srclib\apr-util\$(EXPAT)\Lib$(SHORT)\xml.lib "$(INSTDIR)\lib" <.y
+ copy srclib\apr-util\$(EXPAT)\Lib$(SHORT)\xml.pdb "$(INSTDIR)\lib" <.y
+ copy srclib\apr-util\$(LONG)\libaprutil-1.lib "$(INSTDIR)\lib" <.y
+ copy srclib\apr-util\$(LONG)\libaprutil-1.exp "$(INSTDIR)\lib" <.y
+ copy srclib\apr-iconv\$(LONG)\libapriconv-1.lib "$(INSTDIR)\lib" <.y
+ copy srclib\apr-iconv\$(LONG)\libapriconv-1.exp "$(INSTDIR)\lib" <.y
+!ELSE
+ copy srclib\expat\win32\$(LONG)\libexpatMT.lib "$(INSTDIR)\lib" <.y
+ copy srclib\expat\win32\$(LONG)\libexpatMT.exp "$(INSTDIR)\lib" <.y
+ copy srclib\expat\win32\$(LONG)\libexpat.lib "$(INSTDIR)\lib" <.y
+ copy srclib\expat\win32\$(LONG)\libexpat.exp "$(INSTDIR)\lib" <.y
+ copy srclib\expat\win32\$(LONG)\libexpat.dll "$(INSTDIR)\bin" <.y
+!ENDIF
+ copy $(LONG)\libhttpd.exp "$(INSTDIR)\lib" <.y
+ copy $(LONG)\libhttpd.lib "$(INSTDIR)\lib" <.y
+ copy modules\dav\main\$(LONG)\mod_dav.exp "$(INSTDIR)\lib" <.y
+ copy modules\dav\main\$(LONG)\mod_dav.lib "$(INSTDIR)\lib" <.y
+ for %f in ( charset.conv magic mime.types ) do ( \
+ copy docs\conf\%f "$(INSTDIR)\conf\original\%f" <.y )
+ awk -f build\installwinconf.awk $(DOMAINNAME) $(SERVERNAME) \
+ $(SERVERADMIN) $(PORT) $(SSLPORT) "$(INSTDIR) " docs/conf/
+ copy "support\dbmmanage.in" "$(INSTDIR)\bin\dbmmanage.pl"
+ -awk -f <<script.awk "support/dbmmanage.in" >"$(INSTDIR)\bin\dbmmanage.pl"
+ { if ( $$0 ~ /^BEGIN \{ @AnyDBM_File::/ ) {
+ sub( /ISA = qw\(.*\)/, "ISA = qw(SDBM_File)" );
+ }
+ if ( $$0 !~ /^#!@perlbin@/ )
+ print $$0;
+ }
+<<
+ del .y
+ del .a