]> granicus.if.org Git - apache/blobdiff - Makefile.win
Be even more explicit about the multiple-extension issue.
[apache] / Makefile.win
index c6b090cee9863ef02f190083eaa3666ac146acda..54001a9acc6fa73511093e4d6cf7768e988d2488 100644 (file)
 # The following install defaults may be customized;
 #
 #   Option      Default
-#   INSTDIR     \Apache2
+#   INSTDIR     /Apache23
 #   PORT        80
+#   SSLPORT     443
 #   SERVERNAME  localhost
 #
+#   ALL         (unset)     Includes additional modules for build testing
+#
 # For example;
 #
-#   nmake /f Makefile.win PORT=80 INSTDIR="d:\Program Files\Apache" installr
+#   nmake -f Makefile.win PORT=80 INSTDIR="d:\Program Files\Apache" installr
 #
 # Be aware that certain awk's will not accept backslahed names,
 # so the server root should be given in forward slashes (quoted),
 # preferably with the drive designation!
 
+!IF EXIST("httpd.vcproj") && ([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
+
 default: _apacher
 
-!IF ("$(CTARGET)" == "") && EXIST("Apache.sln")
+!IF ("$(CTARGET)" == "") && ($(USESLN) == 1)
 CTARGET=/build
 !ENDIF
 
 !IF !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 $(INSTDIR)\srclib dir.
+!MESSAGE sources (apr, apr-iconv and apr-util) into your srclib dir.
 !MESSAGE Apache cannot build without these libraries!
 !MESSAGE 
-!ERROR Need $(INSTDIR)\srclib\  apr, apr-iconv and apr-util
+!ERROR Need srclib\  apr, apr-iconv and apr-util
 !ENDIF
 
 # Note; _tryssl: is only used by the msvc developer studio environment to 'fix up'
 #      the build, since conditional dependencies aren't supported.
 #
 !IF EXIST("srclib\openssl")
-!IF "$(LONG)" == "Debug"
+!IF "$(LONG)" == "Debug" && EXIST("srclib\openssl\out32dll.dbg\openssl.exe")
 SSLBIN=out32dll.dbg
 !ELSE
 SSLBIN=out32dll
 !ENDIF
 
 _tryssl:
-!IF EXIST("modules\ssl\mod_ssl.mak")
+!IF $(USEMAK) == 1
        cd modules\ssl
-       $(MAKE) $(MAKEOPT) -f mod_ssl.mak CFG="mod_ssl - Win32 $(LONG)" RECURSE=0 .\$(LONG)\mod_ssl.so
+       $(MAKE) $(MAKEOPT) -f mod_ssl.mak CFG="mod_ssl - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..\..
        cd support
-       $(MAKE) $(MAKEOPT) -f abs.mak CFG="abs - Win32 $(LONG)" RECURSE=0 .\$(LONG)\abs.exe
+       $(MAKE) $(MAKEOPT) -f abs.mak CFG="abs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..
-!ELSEIF EXIST("Apache.sln")
+!ELSEIF $(USESLN) == 1
        devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_ssl
        devenv Apache.sln /useenv $(CTARGET) $(LONG) /project abs
 !ELSE
@@ -74,18 +92,18 @@ _tryssl:
        @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.6h.
+       @echo recent version confirmed to build with mod_ssl and ab is 0.9.8d.
        @echo Available from http://www.openssl.org/
 !ENDIF
 
 !IF EXIST("srclib\zlib")
 
 _tryzlib:
-!IF EXIST("modules\filters\mod_deflate.mak")
+!IF $(USEMAK) == 1
        cd modules\filters
-       $(MAKE) $(MAKEOPT) -f mod_deflate.mak CFG="mod_deflate - Win32 $(LONG)" RECURSE=0 .\$(LONG)\mod_deflate.so
+       $(MAKE) $(MAKEOPT) -f mod_deflate.mak CFG="mod_deflate - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..\..
-!ELSEIF EXIST("Apache.sln")
+!ELSEIF $(USESLN) == 1
        devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_deflate
 !ELSE
        @msdev Apache.dsw /USEENV /MAKE \
@@ -104,7 +122,7 @@ _tryzlib:
 !ENDIF
 
 !IF "$(INSTDIR)" == ""
-INSTDIR=\Apache2
+INSTDIR=\Apache2x
 !ENDIF
 !IF "$(SERVERNAME)" == ""
 SERVERNAME=localhost
@@ -112,25 +130,31 @@ SERVERNAME=localhost
 !IF "$(PORT)" == ""
 PORT=80
 !ENDIF 
+!IF "$(SSLPORT)" == ""
+SSLPORT=443
+!ENDIF 
 
 !IF "$(LONG)" == ""
 !MESSAGE
 !MESSAGE INSTDIR    = $(INSTDIR)
 !MESSAGE SERVERNAME = $(SERVERNAME)
 !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 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
-!IF "$(MAKE)" == "NMAKE"
+!IFDEF _NMAKE_VER
 # Microsoft NMake options
 MAKEOPT=-nologo
-!ELSEIF "($MAKE)" == "make"
+!ELSEIF "$(MAKE)" == "make"
 # Borland make options?  Not really supported (yet)
 MAKEOPT=-s -N
 !ENDIF
@@ -160,7 +184,7 @@ clean:      _cleanr _cleand
 y
 <<
 
-!IF EXIST("httpd.mak")
+!IF $(USEMAK) == 1
 
 _cleanr:
        $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET=CLEAN _build
@@ -178,21 +202,18 @@ _build:
         $(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 \
+       $(MAKE) $(MAKEOPT) -f build\modules.mk.win clean \
                BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=.
 !ELSE
        cd ccs
-       $(MAKE) /nologo /f Makefile.win all \
+       $(MAKE) $(MAKEOPT) -f Makefile.win all \
                BUILD_MODE=$(LONG) BIND_MODE=shared
        cd ..\ces
-       $(MAKE) /nologo /f Makefile.win all \
+       $(MAKE) $(MAKEOPT) -f Makefile.win all \
                BUILD_MODE=$(LONG) BIND_MODE=shared
        cd ..
 !ENDIF
        cd ..\..
-       cd srclib\apr-util\uri
-        $(MAKE) $(MAKEOPT) -f gen_uri_delims.mak  CFG="gen_uri_delims - Win32 $(LONG)" RECURSE=0 $(CTARGET)
-       cd ..\..\..
        cd srclib\apr-util\xml\expat\lib
         $(MAKE) $(MAKEOPT) -f xml.mak             CFG="xml - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..\..\..
@@ -212,19 +233,28 @@ _build:
        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_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_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_default.mak CFG="mod_authn_default - 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_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_default.mak CFG="mod_authz_default - 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)
-        $(MAKE) $(MAKEOPT) -f mod_authnz_ldap.mak CFG="mod_authnz_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..\..
        cd modules\arch\win32
         $(MAKE) $(MAKEOPT) -f mod_isapi.mak       CFG="mod_isapi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
@@ -241,18 +271,35 @@ _build:
        cd modules\dav\fs
         $(MAKE) $(MAKEOPT) -f mod_dav_fs.mak      CFG="mod_dav_fs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..\..\..
-       cd modules\debug
+       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 ..\..
        cd modules\experimental
-        $(MAKE) $(MAKEOPT) -f mod_charset_lite.mak CFG="mod_charset_lite - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+!IFDEF ALL
+        $(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.mak     CFG="mod_example - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+!ENDIF
+        $(MAKE) $(MAKEOPT) -f mod_substitute.mak CFG="mod_substitute - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..\..
        cd modules\filters
+        $(MAKE) $(MAKEOPT) -f mod_charset_lite.mak CFG="mod_charset_lite - 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)
        cd ..\..
        cd modules\generators
@@ -298,12 +345,13 @@ _build:
         $(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_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_http.mak  CFG="mod_proxy_http - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..\..
 !IF EXIST("srclib\openssl")
        cd modules\ssl
-        $(MAKE) $(MAKEOPT) -f mod_ssl.mak         CFG="mod_ssl - Win32 $(LONG)" RECURSE=0 $(CTARGET) .\$(LONG)\mod_ssl.so
+        $(MAKE) $(MAKEOPT) -f mod_ssl.mak         CFG="mod_ssl - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..\..
        cd support
         $(MAKE) $(MAKEOPT) -f abs.mak             CFG="abs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
@@ -311,9 +359,11 @@ _build:
 !ENDIF
        cd support
         $(MAKE) $(MAKEOPT) -f ab.mak              CFG="ab - 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 ..
@@ -322,7 +372,7 @@ _build:
         $(MAKE) $(MAKEOPT) -f wintty.mak          CFG="wintty - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..\..
 
-!ELSEIF EXIST("Apache.sln")
+!ELSEIF $(USESLN) == 1
 
 _cleanr:  
        $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/clean" _build
@@ -332,7 +382,11 @@ _cleand:
 
 _build:
        echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
+!IFDEF ALL
+       devenv Apache.sln /useenv $(CTARGET) $(LONG) /project BuildAll
+!ELSE
        devenv Apache.sln /useenv $(CTARGET) $(LONG) /project BuildBin
+!ENDIF
 !IF EXIST("srclib\openssl")
        devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_ssl
        devenv Apache.sln /useenv $(CTARGET) $(LONG) /project abs
@@ -351,11 +405,16 @@ _cleand:
 
 _build:
        @echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
+!IFDEF ALL
+       @msdev Apache.dsw /USEENV /MAKE \
+               "BuildAll - Win32 $(LONG)" $(CTARGET)
+!ELSE
        @msdev Apache.dsw /USEENV /MAKE \
                "BuildBin - Win32 $(LONG)" $(CTARGET)
+!ENDIF
 !IF "$(CTARGET)" == "/CLEAN"
        @cd srclib\apr-iconv
-       @$(MAKE) $(MAKEOPT) /f build\modules.mk.win clean \
+       @$(MAKE) $(MAKEOPT) -f build\modules.mk.win clean \
                BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=.
        @cd ..\..
 !ENDIF
@@ -378,28 +437,46 @@ _copybin:
        copy srclib\apr\$(LONG)\libapr-1.$(src_dll)             "$(inst_dll)" <.y
        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 modules\aaa\$(LONG)\mod_access_compat.$(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_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_default.$(src_so)    "$(inst_so)" <.y
        copy modules\aaa\$(LONG)\mod_authn_file.$(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_default.$(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\aaa\$(LONG)\mod_authnz_ldap.$(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_file_cache.$(src_so)     "$(inst_so)" <.y
        copy modules\cache\$(LONG)\mod_mem_cache.$(src_so)      "$(inst_so)" <.y
        copy modules\cache\$(LONG)\mod_disk_cache.$(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
-       copy modules\debug\$(LONG)\mod_bucketeer.$(src_so)      "$(inst_so)" <.y
-       copy modules\debug\$(LONG)\mod_dumpio.$(src_so)         "$(inst_so)" <.y
-       copy modules\experimental\$(LONG)\mod_charset_lite.$(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\experimental\$(LONG)\mod_case_filter.$(src_so)     "$(inst_so)" <.y
+       copy modules\experimental\$(LONG)\mod_case_filter_in.$(src_so)  "$(inst_so)" <.y
+       copy modules\experimental\$(LONG)\mod_example.$(src_so)         "$(inst_so)" <.y
+!ENDIF
+       copy modules\experimental\$(LONG)\mod_substitute.$(src_so)      "$(inst_so)" <.y
+       copy modules\filters\$(LONG)\mod_charset_lite.$(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)")
@@ -407,6 +484,7 @@ _copybin:
 !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
        copy modules\generators\$(LONG)\mod_asis.$(src_so)      "$(inst_so)" <.y
        copy modules\generators\$(LONG)\mod_autoindex.$(src_so) "$(inst_so)" <.y
@@ -441,6 +519,7 @@ _copybin:
        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_fcgi.$(src_so)     "$(inst_so)" <.y
        copy modules\proxy\$(LONG)\mod_proxy_ftp.$(src_so)      "$(inst_so)" <.y
        copy modules\proxy\$(LONG)\mod_proxy_http.$(src_so)     "$(inst_so)" <.y
 !IF EXIST("srclib\openssl")
@@ -452,14 +531,17 @@ _copybin:
 !ELSE
        copy support\$(LONG)\ab.$(src_exe)                              "$(inst_exe)" <.y
 !ENDIF
+       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
@@ -476,8 +558,6 @@ _install:
        -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"
@@ -495,9 +575,11 @@ _install:
        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
 !IF EXIST("srclib\openssl")
-       type << >> "$(INSTDIR)\README.txt"
+       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 
@@ -516,10 +598,10 @@ BEGIN {
 <<
        copy << + srclib\openssl\NEWS "$(INSTDIR)\OPENSSL-NEWS.txt" <.y
 
- Apache HTTP Server 2.0 Limited OpenSSL Distribution
+ Apache HTTP Server 2.3 Limited OpenSSL Distribution
 
  This binary distribution includes the minimal components of OpenSSL required
- to support mod_ssl for Apache HTTP Server version 2.0 (details are listed 
+ to support mod_ssl for Apache HTTP Server version 2.3 (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
@@ -532,17 +614,21 @@ BEGIN {
 <<
        copy << + srclib\openssl\README "$(INSTDIR)\OPENSSL-README.txt" <.y
 
- Apache HTTP Server 2.0 Limited OpenSSL Distribution
+ Apache HTTP Server 2.3 Limited OpenSSL Distribution
 
- This binary installation of OpenSSL is a limited distribution of the documents
- OPENSSL-LICENSE.txt, OPENSSL-NEWS.txt and OPENSSL-README.txt, and the binaries
+ This binary installation of OpenSSL is a limited distribution of the
+ files derived from the OpenSSL project:
 
-   libeay32.dll
-   ssleay32.dll
-   openssl.exe
+   OPENSSL-LICENSE.txt
+   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.0.  No library link files, 
+ distributed with Apache HTTP Server version 2.3.  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.
@@ -562,7 +648,7 @@ BEGIN {
 <<
 !ENDIF
 !IF EXIST("srclib\zlib")
-       type << >> "$(INSTDIR)\README.txt"
+       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)
@@ -637,14 +723,14 @@ BEGIN {
        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
-       copy docs\conf\magic "$(INSTDIR)\conf\original\magic" <.y
-       if not exist "$(INSTDIR)\conf\magic" \
-           copy "$(INSTDIR)\conf\original\magic" "$(INSTDIR)\conf\magic"
-       copy docs\conf\mime.types "$(INSTDIR)\conf\original\mime.types" <.y
-       if not exist "$(INSTDIR)\conf\mime.types" \
-           copy "$(INSTDIR)\conf\original\mime.types" "$(INSTDIR)\conf\mime.types"
-       copy docs\conf\httpd-win.conf "$(INSTDIR)\conf\original\httpd.conf" <.y
-       -awk -f <<script.awk "docs/conf/httpd-win.conf" "$(INSTDIR)" > "$(INSTDIR)\conf\original\httpd.conf"
+       echo Y >.y
+       for %f in ( charset.conv magic mime.types ) do ( \
+         copy docs\conf\%f "$(INSTDIR)\conf\%f.default" <.y && \
+         if not exist "$(INSTDIR)\conf\%f" \
+           copy "$(INSTDIR)\conf\%f.default" "$(INSTDIR)\conf\%f" \
+       )
+       copy docs\conf\httpd-win.conf "$(INSTDIR)\conf\httpd.conf.default" <.y
+       -awk -f <<script.awk "docs/conf/httpd-win.conf" "$(INSTDIR)" > "$(INSTDIR)\conf\httpd.conf.default"
     BEGIN { 
        serverroot = ARGV[2];
        delete ARGV[2];
@@ -660,9 +746,10 @@ BEGIN {
     }
 <<
        if not exist "$(INSTDIR)\conf\httpd.conf" \
-           copy "$(INSTDIR)\conf\original\httpd.conf" "$(INSTDIR)\conf\httpd.conf"
-       copy docs\conf\extra\httpd-autoindex.conf.in "$(INSTDIR)\conf\original\httpd-autoindex.conf" <.y
-       -awk -f <<script.awk "docs/conf/extra/httpd-autoindex.conf.in" "$(INSTDIR)" > "$(INSTDIR)\conf\original\extra\httpd-autoindex.conf"
+           copy "$(INSTDIR)\conf\httpd.conf.default" "$(INSTDIR)\conf\httpd.conf"
+       for %f in ( docs\conf\extra\*.in ) do ( \
+         copy %f "$(INSTDIR)\conf\extra\%~nf.default" <.y && \
+         awk -f <<script.awk "docs/conf/extra/%~nf.in" "$(INSTDIR)" > "$(INSTDIR)\conf\extra\%~nf.default" )
     BEGIN { 
        serverroot = ARGV[2];
        delete ARGV[2];
@@ -671,127 +758,31 @@ BEGIN {
        gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
     }
     {
-       gsub( /@exp_iconsdir@/, serverroot "/icons" );
-       print $$0;
-    }
-<<
-       if not exist "$(INSTDIR)\conf\extra\httpd-autoindex.conf" \
-           copy "$(INSTDIR)\conf\original\extra\httpd-autoindex.conf" "$(INSTDIR)\conf\extra\httpd-autoindex.conf"
-       copy docs\conf\extra\httpd-dav.conf.in "$(INSTDIR)\conf\original\httpd-dav.conf" <.y
-       -awk -f <<script.awk "docs/conf/extra/httpd-dav.conf.in" "$(INSTDIR)" > "$(INSTDIR)\conf\original\extra\httpd-dav.conf"
-    BEGIN { 
-       serverroot = ARGV[2];
-       delete ARGV[2];
-       gsub( /\\/, "/", serverroot );
-       "cd" | getline root;
-       gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
-    }
-    {
-       gsub( /@@ServerRoot@@/, serverroot );
-       print $$0;
-    }
-<<
-       if not exist "$(INSTDIR)\conf\extra\httpd-dav.conf" \
-           copy "$(INSTDIR)\conf\original\extra\httpd-dav.conf" "$(INSTDIR)\conf\extra\httpd-dav.conf"
-       copy docs\conf\extra\httpd-manual.conf.in "$(INSTDIR)\conf\original\httpd-manual.conf" <.y
-       -awk -f <<script.awk "docs/conf/extra/httpd-manual.conf.in" "$(INSTDIR)" > "$(INSTDIR)\conf\original\extra\httpd-manual.conf"
-    BEGIN { 
-       serverroot = ARGV[2];
-       delete ARGV[2];
-       gsub( /\\/, "/", serverroot );
-       "cd" | getline root;
-       gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
-    }
-    {
-       gsub( /@exp_manualdir@/, serverroot "/manual" );
-       print $$0;
-    }
-<<
-       if not exist "$(INSTDIR)\conf\extra\httpd-manual.conf" \
-           copy "$(INSTDIR)\conf\original\extra\httpd-manual.conf" "$(INSTDIR)\conf\extra\httpd-manual.conf"
-       copy docs\conf\extra\httpd-multilang-errordoc.conf.in "$(INSTDIR)\conf\original\httpd-multilang-errordoc.conf" <.y
-       -awk -f <<script.awk "docs/conf/extra/httpd-multilang-errordoc.conf.in" "$(INSTDIR)" > "$(INSTDIR)\conf\original\extra\httpd-multilang-errordoc.conf"
-    BEGIN { 
-       serverroot = ARGV[2];
-       delete ARGV[2];
-       gsub( /\\/, "/", serverroot );
-       "cd" | getline root;
-       gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
-    }
-    {
-       gsub( /@exp_errordir@/, serverroot "/error" );
-       print $$0;
-    }
-<<
-       if not exist "$(INSTDIR)\conf\extra\httpd-multilang-errordoc.conf" \
-           copy "$(INSTDIR)\conf\original\extra\httpd-multilang-errordoc.conf" "$(INSTDIR)\conf\extra\httpd-multilang-errordoc.conf"
-       copy docs\conf\extra\httpd-ssl.conf.in "$(INSTDIR)\conf\original\httpd-ssl.conf" <.y
-       -awk -f <<script.awk "docs/conf/extra/httpd-ssl.conf.in" "$(INSTDIR)" > "$(INSTDIR)\conf\original\extra\httpd-ssl.conf"
-    BEGIN { 
-       serverroot = ARGV[2];
-       delete ARGV[2];
-       gsub( /\\/, "/", serverroot );
-       "cd" | getline root;
-       gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
-    }
-    {
-       gsub( /@@ServerRoot@@/, serverroot );
-       gsub( /@exp_runtimedir@/, "logs" );
-       gsub( /@exp_htdocsdir@/, serverroot "/htdocs" );
-       gsub( /@exp_logfiledir@/, "logs" );
-       gsub( /@exp_sysconfdir@/, "conf" );
-       gsub( /@exp_cgidir@/, serverroot "/cgi-bin" );
-       print $$0;
-    }
-<<
-       if not exist "$(INSTDIR)\conf\extra\httpd-ssl.conf" \
-           copy "$(INSTDIR)\conf\original\extra\httpd-ssl.conf" "$(INSTDIR)\conf\extra\httpd-ssl.conf"
-       copy docs\conf\extra\httpd-userdir.conf.in "$(INSTDIR)\conf\original\httpd-userdir.conf" <.y
-       -awk -f <<script.awk "docs/conf/extra/httpd-userdir.conf.in" "$(INSTDIR)" > "$(INSTDIR)\conf\original\extra\httpd-userdir.conf"
-    BEGIN { 
-       serverroot = ARGV[2];
-       delete ARGV[2];
-       gsub( /\\/, "/", serverroot );
-       "cd" | getline root;
-       gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
-    }
-    {
-       gsub( /public_html/, "\"My Documents/My Website\"" );
-       gsub( /\/home/, "C:/WinNT/profiles" ); 
-       print $$0;
-    }
-<<
-       if not exist "$(INSTDIR)\conf\extra\httpd-userdir.conf" \
-           copy "$(INSTDIR)\conf\original\extra\httpd-userdir.conf" "$(INSTDIR)\conf\extra\httpd-userdir.conf"
-       copy docs\conf\extra\httpd-mpm.conf.in "$(INSTDIR)\conf\original\httpd-mpm.conf" <.y
-       -awk -f <<script.awk "docs/conf/extra/httpd-mpm.conf.in" "$(INSTDIR)" > "$(INSTDIR)\conf\original\extra\httpd-mpm.conf"
-    BEGIN { 
-       serverroot = ARGV[2];
-       delete ARGV[2];
-       gsub( /\\/, "/", serverroot );
-       "cd" | getline root;
-       gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
-    }
-    {
-       gsub( /@rel_runtimedir@/, "logs/" );
-       gsub( /\/home/, "C:/WinNT/profiles" ); 
+       gsub( /SSLMutex  file:@exp_runtimedir@\/ssl_mutex/, "SSLMutex default" );
+       gsub( /@@ServerRoot@@/,   serverroot );
+       gsub( /@exp_cgidir@/,     serverroot "/cgi-bin" );
+       gsub( /@exp_sysconfdir@/, serverroot "/conf" );
+       gsub( /@exp_errordir@/,   serverroot "/error" );
+       gsub( /@exp_htdocsdir@/,  serverroot "/htdocs" );
+       gsub( /@exp_iconsdir@/,   serverroot "/icons" );
+       gsub( /@exp_logfiledir@/, serverroot "/logs" );
+       gsub( /@exp_runtimedir@/, serverroot "/logs" );
+       gsub( /@exp_manualdir@/,  serverroot "/manual" );
+       gsub( /@rel_runtimedir@/, "logs" );
+       gsub( /@rel_logfiledir@/, "logs" );
+       gsub( /\/home\/\*\/public_html/, "\"C:/Documents and Settings/*/My Documents/My Website\"" );
+       gsub( /UserDir public_html/, "UserDir \"My Documents/My Website\"" );
+       gsub( /@@ServerName@@/, "$(SERVERNAME)" );
+       gsub( /@@Port@@/, "$(PORT)" );
+       gsub( /443/, "$(SSLPORT)" );
        print $$0;
     }
 <<
-       if not exist "$(INSTDIR)\conf\extra\httpd-mpm.conf" \
-           copy "$(INSTDIR)\conf\original\extra\httpd-mpm.conf" "$(INSTDIR)\conf\extra\httpd-mpm.conf"
-       copy docs\conf\extra\httpd-default.conf.in "$(INSTDIR)\conf\original\extra\httpd-default.conf" <.y
-       if not exist "$(INSTDIR)\conf\extra\httpd-default.conf" \
-           copy "$(INSTDIR)\conf\original\extra\httpd-default.conf" "$(INSTDIR)\conf\extra\httpd-default.conf"
-       copy docs\conf\extra\httpd-info.conf.in "$(INSTDIR)\conf\original\extra\httpd-info.conf" <.y
-       if not exist "$(INSTDIR)\conf\extra\httpd-info.conf" \
-           copy "$(INSTDIR)\conf\original\extra\httpd-info.conf" "$(INSTDIR)\conf\extra\httpd-info.conf"
-       copy docs\conf\extra\httpd-languages.conf.in "$(INSTDIR)\conf\original\extra\httpd-languages.conf" <.y
-       if not exist "$(INSTDIR)\conf\extra\httpd-languages.conf" \
-           copy "$(INSTDIR)\conf\original\extra\httpd-languages.conf" "$(INSTDIR)\conf\extra\httpd-languages.conf"
-       copy docs\conf\extra\httpd-vhosts.conf.in "$(INSTDIR)\conf\original\extra\httpd-vhosts.conf" <.y
-       if not exist "$(INSTDIR)\conf\extra\httpd-vhosts.conf" \
-           copy "$(INSTDIR)\conf\original\extra\httpd-vhosts.conf" "$(INSTDIR)\conf\extra\httpd-vhosts.conf"
+       for %f in ( docs\conf\extra\*.in ) do ( \
+         if not exist "$(INSTDIR)\conf\extra\%~nf" \
+           copy "$(INSTDIR)\conf\extra\%~nf.default" "$(INSTDIR)\conf\extra\%~nf" \
+       )
+       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)" );