]> granicus.if.org Git - apache/blobdiff - Makefile.win
Fix --with-apr=/usr and/or --with-apr-util=/usr.
[apache] / Makefile.win
index 6a0caefa195c41fc79e1648e835e998479e30168..e749e7025c2102b91d25f7d73c6cab95d44747b7 100644 (file)
 # so the server root should be given in forward slashes (quoted),
 # preferably with the drive designation!
 
-default:        _apacher
+default: _apacher
 
 !IF ("$(CTARGET)" == "") && EXIST("Apache.sln")
 CTARGET=/build
 !ENDIF
 
-!IF !EXIST("srclib\apr")
+!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 and apr-util) into your $(INSTDIR)\srclib directory.
+!MESSAGE sources (apr, apr-iconv and apr-util) into your $(INSTDIR)\srclib dir.
 !MESSAGE Apache cannot build without these libraries!
 !MESSAGE 
-!ERROR Need $(INSTDIR)\srclib\apr
-!ENDIF
-
-!IF !EXIST("srclib\apr-util")
-!MESSAGE Please check out or download and unpack the Apache Portability Runtime
-!MESSAGE sources (apr and apr-util) into your $(INSTDIR)\srclib directory.
-!MESSAGE Apache cannot build without these libraries!
-!MESSAGE 
-!ERROR Need $(INSTDIR)\srclib\apr-util
+!ERROR Need $(INSTDIR)\srclib\  apr, apr-iconv and apr-util
 !ENDIF
 
 # Note; _tryssl: is only used by the msvc developer studio environment to 'fix up'
@@ -69,7 +61,7 @@ _tryssl:
        devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_ssl
        devenv Apache.sln /useenv $(CTARGET) $(LONG) /project abs
 !ELSE
-       msdev Apache.dsw /USEENV /MAKE \
+       @msdev Apache.dsw /USEENV /MAKE \
                "mod_ssl - Win32 $(LONG)" \
                "abs - Win32 $(LONG)" /NORECURSE $(CTARGET)
 !ENDIF
@@ -78,11 +70,12 @@ _tryssl:
 #     NOT EXIST("srclib\openssl")
 
 _tryssl:
-       echo mod_ssl and ab/ssl will not build without openssl 
-       echo installed in $(INSTDIR)\srclib\openssl.  They must be precompiled 
-       echo using the ms/ntdll.mak file, see srclib\openssl\INSTALL.W32.  
-       echo The most recent version confirmed to build with mod_ssl and ab
-       echo was 0.9.6c available from http://www.openssl.org/
+       @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.6h.
+       @echo Available from http://www.openssl.org/
 !ENDIF
 
 !IF EXIST("srclib\zlib")
@@ -95,7 +88,7 @@ _tryzlib:
 !ELSEIF EXIST("Apache.sln")
        devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_deflate
 !ELSE
-       msdev Apache.dsw /USEENV /MAKE \
+       @msdev Apache.dsw /USEENV /MAKE \
                "mod_deflate - Win32 $(LONG)" /NORECURSE $(CTARGET)
 !ENDIF
 
@@ -103,25 +96,33 @@ _tryzlib:
 #     NOT EXIST("srclib\zlib")
 
 _tryzlib:
-       echo mod_deflate will not build without zlib installed in 
-       echo $(INSTDIR)\srclib\zlib.  
-       echo Zlib needs not be built, we compile the sources directly.
+       @echo -----
+       @echo mod_deflate will not build unless zlib is installed 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 "$(INSTDIR)" == ""
-INSTDIR=\Apache2
-!MESSAGE INSTDIR not specified, installing to default $(INSTDIR)
-!ENDIF 
+INSTDIR=\Apache21
+!ENDIF
+!IF "$(SERVERNAME)" == ""
+SERVERNAME=localhost
+!ENDIF
 !IF "$(PORT)" == ""
 PORT=80
-!MESSAGE PORT not specified, using default $(PORT)
-!MESSAGE To change this use $(MAKE) -f makefile.win PORT=8080 installr
 !ENDIF 
-!IF "$(SERVERNAME)" == ""
-SERVERNAME=localhost
-!MESSAGE SERVERNAME not specified, using default $(SERVERNAME)
-!MESSAGE To change this use $(MAKE) -f makefile.win PORT=www.example.com installr
+
+!IF "$(LONG)" == ""
+!MESSAGE
+!MESSAGE INSTDIR    = $(INSTDIR)
+!MESSAGE SERVERNAME = $(SERVERNAME)
+!MESSAGE PORT       = $(PORT)
+!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
@@ -143,16 +144,16 @@ _browse:
        cd ..
 
 _apacher: 
-       $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release _build
+       @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release _build
 
 _apached: 
-       $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   _build
+       @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   _build
 
 installr: 
-       $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release _build _install
+       @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release _build _install
 
 installd: 
-       $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   _build _install
+       @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   _build _install
 
 clean: _cleanr _cleand
        -if exist Browse\. rd /s Browse < << > nul
@@ -173,6 +174,22 @@ _build:
         $(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 ..\..
+       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) /nologo /f Makefile.win all \
+               BUILD_MODE=$(LONG) BIND_MODE=shared
+       cd ..\ces
+       $(MAKE) /nologo /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 ..\..\..
@@ -192,18 +209,32 @@ _build:
        cd ..
         $(MAKE) $(MAKEOPT) -f libhttpd.mak        CFG="libhttpd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f Apache.mak          CFG="Apache - 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\aaa
-        $(MAKE) $(MAKEOPT) -f mod_access.mak      CFG="mod_access - Win32 $(LONG)" RECURSE=0 $(CTARGET)
-        $(MAKE) $(MAKEOPT) -f mod_auth.mak        CFG="mod_auth - Win32 $(LONG)" RECURSE=0 $(CTARGET)
-        $(MAKE) $(MAKEOPT) -f mod_auth_anon.mak   CFG="mod_auth_anon - Win32 $(LONG)" RECURSE=0 $(CTARGET)
-        $(MAKE) $(MAKEOPT) -f mod_auth_dbm.mak    CFG="mod_auth_dbm - 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_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_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_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)
        cd ..\..\..
        cd modules\cache
+        $(MAKE) $(MAKEOPT) -f mod_cache.mak       CFG="mod_cache - 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_mem_cache.mak   CFG="mod_mem_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        $(MAKE) $(MAKEOPT) -f mod_disk_cache.mak  CFG="mod_disk_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..\..
        cd modules\dav\main
         $(MAKE) $(MAKEOPT) -f mod_dav.mak         CFG="mod_dav - Win32 $(LONG)" RECURSE=0 $(CTARGET)
@@ -211,16 +242,18 @@ _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
+        $(MAKE) $(MAKEOPT) -f mod_bucketeer.mak   CFG="mod_bucketeer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        $(MAKE) $(MAKEOPT) -f mod_dumpio.mak      CFG="mod_dumpio - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+       cd ..\..
        cd modules\experimental
-        $(MAKE) $(MAKEOPT) -f mod_cache.mak       CFG="mod_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
-        $(MAKE) $(MAKEOPT) -f mod_mem_cache.mak   CFG="mod_mem_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
-        $(MAKE) $(MAKEOPT) -f mod_disk_cache.mak  CFG="mod_disk_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
-        $(MAKE) $(MAKEOPT) -f mod_ext_filter.mak  CFG="mod_ext_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        $(MAKE) $(MAKEOPT) -f mod_charset_lite.mak CFG="mod_charset_lite - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..\..
        cd modules\filters
 !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_include.mak     CFG="mod_include - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..\..
        cd modules\generators
@@ -235,6 +268,8 @@ _build:
        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_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 ..\..
        cd modules\mappers
         $(MAKE) $(MAKEOPT) -f mod_actions.mak     CFG="mod_actions - Win32 $(LONG)" RECURSE=0 $(CTARGET)
@@ -252,13 +287,17 @@ _build:
         $(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_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_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)
@@ -306,32 +345,135 @@ _build:
 !ELSE
 
 _cleanr:  
-       $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/CLEAN" _build
+       @$(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
+       @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   CTARGET="/CLEAN" _build
 
 _build:
-       echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
-       msdev Apache.dsw /USEENV /MAKE \
+       @echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
+       @msdev Apache.dsw /USEENV /MAKE \
                "BuildBin - Win32 $(LONG)" $(CTARGET)
+!IF "$(CTARGET)" == "/CLEAN"
+       @cd srclib\apr-iconv
+       @$(MAKE) $(MAKEOPT) /f build\modules.mk.win clean \
+               BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=.
+       @cd ..\..
+!ENDIF
 !IF EXIST("srclib\openssl")
-       msdev Apache.dsw /USEENV /MAKE \
+       @msdev Apache.dsw /USEENV /MAKE \
                "mod_ssl - Win32 $(LONG)" \
                "abs - Win32 $(LONG)" /NORECURSE $(CTARGET)
 !ENDIF
 !IF EXIST("srclib\zlib")
-       msdev Apache.dsw /USEENV /MAKE \
+       @msdev Apache.dsw /USEENV /MAKE \
                "mod_deflate - Win32 $(LONG)" /NORECURSE $(CTARGET)
 !ENDIF
 
 !ENDIF
 
+
+_copybin:
+       copy $(LONG)\Apache.$(src_exe)                          "$(inst_exe)" <.y
+       copy $(LONG)\libhttpd.$(src_dll)                        "$(inst_dll)" <.y
+       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_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_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_authz_dbm.$(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_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\dav\fs\$(LONG)\mod_dav_fs.$(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
+!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_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
+       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
+       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_forensic.$(src_so) "$(inst_so)" <.y
+       copy modules\loggers\$(LONG)\mod_logio.$(src_so)        "$(inst_so)" <.y
+       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_imap.$(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
+       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_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_ftp.$(src_so)      "$(inst_so)" <.y
+       copy modules\proxy\$(LONG)\mod_proxy_http.$(src_so)     "$(inst_so)" <.y
+!IF EXIST("srclib\openssl")
+       copy modules\ssl\$(LONG)\mod_ssl.$(src_so)                      "$(inst_so)" <.y
+       $(quiet)copy srclib\openssl\$(SSLBIN)\openssl.$(src_exe)        "$(inst_exe)" <.y
+       $(quiet)copy srclib\openssl\$(SSLBIN)\libeay32.$(src_dll)       "$(inst_dll)" <.y
+       $(quiet)copy srclib\openssl\$(SSLBIN)\ssleay32.$(src_dll)       "$(inst_dll)" <.y
+       copy support\$(LONG)\abs.$(src_exe)     "$(inst_exe)\ab.$(src_exe)" <.y
+!ELSE
+       copy support\$(LONG)\ab.$(src_exe)                              "$(inst_exe)" <.y
+!ENDIF
+       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)\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"
+       -mkdir "$(INSTDIR)\bin\iconv"
        -mkdir "$(INSTDIR)\cgi-bin"
        -mkdir "$(INSTDIR)\conf"
        -mkdir "$(INSTDIR)\error"
@@ -343,116 +485,16 @@ _install:
        -mkdir "$(INSTDIR)\logs"
        -mkdir "$(INSTDIR)\modules"
        -mkdir "$(INSTDIR)\proxy"
+       -mkdir "$(INSTDIR)\symbols"
+       -mkdir "$(INSTDIR)\symbols\exe"
+       -mkdir "$(INSTDIR)\symbols\dll"
+       -mkdir "$(INSTDIR)\symbols\so"
        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 README "$(INSTDIR)\README.txt" <.y
-       copy $(LONG)\Apache.exe "$(INSTDIR)\bin" <.y
-       copy $(LONG)\libhttpd.dll "$(INSTDIR)\bin" <.y
-       copy srclib\apr\$(LONG)\libapr.dll "$(INSTDIR)\bin" <.y
-       copy srclib\apr-util\$(LONG)\libaprutil.dll "$(INSTDIR)\bin" <.y
-       copy modules\aaa\$(LONG)\mod_access.so "$(INSTDIR)\modules" <.y
-       copy modules\aaa\$(LONG)\mod_auth.so "$(INSTDIR)\modules" <.y
-       copy modules\aaa\$(LONG)\mod_auth_anon.so "$(INSTDIR)\modules" <.y
-       copy modules\aaa\$(LONG)\mod_auth_dbm.so "$(INSTDIR)\modules" <.y
-       copy modules\aaa\$(LONG)\mod_auth_digest.so "$(INSTDIR)\modules" <.y
-       copy modules\arch\win32\$(LONG)\mod_isapi.so "$(INSTDIR)\modules" <.y
-       copy modules\cache\$(LONG)\mod_file_cache.so "$(INSTDIR)\modules" <.y
-       copy modules\dav\fs\$(LONG)\mod_dav_fs.so "$(INSTDIR)\modules" <.y
-       copy modules\dav\main\$(LONG)\mod_dav.so "$(INSTDIR)\modules" <.y
-       copy modules\experimental\$(LONG)\mod_cache.so "$(INSTDIR)\modules" <.y
-       copy modules\experimental\$(LONG)\mod_mem_cache.so "$(INSTDIR)\modules" <.y
-       copy modules\experimental\$(LONG)\mod_disk_cache.so "$(INSTDIR)\modules" <.y
-       copy modules\experimental\$(LONG)\mod_ext_filter.so "$(INSTDIR)\modules" <.y
-       copy modules\filters\$(LONG)\mod_include.so "$(INSTDIR)\modules" <.y
-       copy modules\generators\$(LONG)\mod_asis.so "$(INSTDIR)\modules" <.y
-       copy modules\generators\$(LONG)\mod_autoindex.so "$(INSTDIR)\modules" <.y
-       copy modules\generators\$(LONG)\mod_cgi.so "$(INSTDIR)\modules" <.y
-       copy modules\generators\$(LONG)\mod_info.so "$(INSTDIR)\modules" <.y
-       copy modules\generators\$(LONG)\mod_status.so "$(INSTDIR)\modules" <.y
-       copy modules\http\$(LONG)\mod_mime.so "$(INSTDIR)\modules" <.y
-       copy modules\loggers\$(LONG)\mod_log_config.so "$(INSTDIR)\modules" <.y
-       copy modules\mappers\$(LONG)\mod_actions.so "$(INSTDIR)\modules" <.y
-       copy modules\mappers\$(LONG)\mod_alias.so "$(INSTDIR)\modules" <.y
-       copy modules\mappers\$(LONG)\mod_dir.so "$(INSTDIR)\modules" <.y
-       copy modules\mappers\$(LONG)\mod_imap.so "$(INSTDIR)\modules" <.y
-       copy modules\mappers\$(LONG)\mod_negotiation.so "$(INSTDIR)\modules" <.y
-       copy modules\mappers\$(LONG)\mod_rewrite.so "$(INSTDIR)\modules" <.y
-       copy modules\mappers\$(LONG)\mod_speling.so "$(INSTDIR)\modules" <.y
-       copy modules\mappers\$(LONG)\mod_userdir.so "$(INSTDIR)\modules" <.y
-       copy modules\mappers\$(LONG)\mod_vhost_alias.so "$(INSTDIR)\modules" <.y
-       copy modules\metadata\$(LONG)\mod_cern_meta.so "$(INSTDIR)\modules" <.y
-       copy modules\metadata\$(LONG)\mod_env.so "$(INSTDIR)\modules" <.y
-       copy modules\metadata\$(LONG)\mod_expires.so "$(INSTDIR)\modules" <.y
-       copy modules\metadata\$(LONG)\mod_headers.so "$(INSTDIR)\modules" <.y
-       copy modules\metadata\$(LONG)\mod_mime_magic.so "$(INSTDIR)\modules" <.y
-       copy modules\metadata\$(LONG)\mod_setenvif.so "$(INSTDIR)\modules" <.y
-       copy modules\metadata\$(LONG)\mod_unique_id.so "$(INSTDIR)\modules" <.y
-       copy modules\metadata\$(LONG)\mod_usertrack.so "$(INSTDIR)\modules" <.y
-       copy modules\proxy\$(LONG)\mod_proxy.so "$(INSTDIR)\modules" <.y
-       copy modules\proxy\$(LONG)\mod_proxy_connect.so "$(INSTDIR)\modules" <.y
-       copy modules\proxy\$(LONG)\mod_proxy_ftp.so "$(INSTDIR)\modules" <.y
-       copy modules\proxy\$(LONG)\mod_proxy_http.so "$(INSTDIR)\modules" <.y
-!IF "$(SHORT)" == "D"
-       copy $(LONG)\Apache.pdb "$(INSTDIR)\bin" <.y
-       copy $(LONG)\libhttpd.pdb "$(INSTDIR)\bin" <.y
-       copy srclib\apr\$(LONG)\libapr.pdb "$(INSTDIR)\bin" <.y
-       copy srclib\apr-util\$(LONG)\libaprutil.pdb "$(INSTDIR)\bin" <.y
-       copy modules\aaa\$(LONG)\mod_access.pdb "$(INSTDIR)\modules" <.y
-       copy modules\aaa\$(LONG)\mod_auth.pdb "$(INSTDIR)\modules" <.y
-       copy modules\aaa\$(LONG)\mod_auth_anon.pdb "$(INSTDIR)\modules" <.y
-       copy modules\aaa\$(LONG)\mod_auth_dbm.pdb "$(INSTDIR)\modules" <.y
-       copy modules\aaa\$(LONG)\mod_auth_digest.pdb "$(INSTDIR)\modules" <.y
-       copy modules\arch\win32\$(LONG)\mod_isapi.pdb "$(INSTDIR)\modules" <.y
-       copy modules\cache\$(LONG)\mod_file_cache.pdb "$(INSTDIR)\modules" <.y
-       copy modules\dav\fs\$(LONG)\mod_dav_fs.pdb "$(INSTDIR)\modules" <.y
-       copy modules\dav\main\$(LONG)\mod_dav.pdb "$(INSTDIR)\modules" <.y
-       copy modules\experimental\$(LONG)\mod_cache.pdb "$(INSTDIR)\modules" <.y
-       copy modules\experimental\$(LONG)\mod_mem_cache.pdb "$(INSTDIR)\modules" <.y
-       copy modules\experimental\$(LONG)\mod_disk_cache.pdb "$(INSTDIR)\modules" <.y
-       copy modules\experimental\$(LONG)\mod_ext_filter.pdb "$(INSTDIR)\modules" <.y
-       copy modules\filters\$(LONG)\mod_include.pdb "$(INSTDIR)\modules" <.y
-       copy modules\generators\$(LONG)\mod_asis.pdb "$(INSTDIR)\modules" <.y
-       copy modules\generators\$(LONG)\mod_autoindex.pdb "$(INSTDIR)\modules" <.y
-       copy modules\generators\$(LONG)\mod_cgi.pdb "$(INSTDIR)\modules" <.y
-       copy modules\generators\$(LONG)\mod_info.pdb "$(INSTDIR)\modules" <.y
-       copy modules\generators\$(LONG)\mod_status.pdb "$(INSTDIR)\modules" <.y
-       copy modules\http\$(LONG)\mod_mime.pdb "$(INSTDIR)\modules" <.y
-       copy modules\loggers\$(LONG)\mod_log_config.pdb "$(INSTDIR)\modules" <.y
-       copy modules\mappers\$(LONG)\mod_actions.pdb "$(INSTDIR)\modules" <.y
-       copy modules\mappers\$(LONG)\mod_alias.pdb "$(INSTDIR)\modules" <.y
-       copy modules\mappers\$(LONG)\mod_dir.pdb "$(INSTDIR)\modules" <.y
-       copy modules\mappers\$(LONG)\mod_imap.pdb "$(INSTDIR)\modules" <.y
-       copy modules\mappers\$(LONG)\mod_negotiation.pdb "$(INSTDIR)\modules" <.y
-       copy modules\mappers\$(LONG)\mod_rewrite.pdb "$(INSTDIR)\modules" <.y
-       copy modules\mappers\$(LONG)\mod_speling.pdb "$(INSTDIR)\modules" <.y
-       copy modules\mappers\$(LONG)\mod_userdir.pdb "$(INSTDIR)\modules" <.y
-       copy modules\mappers\$(LONG)\mod_vhost_alias.pdb "$(INSTDIR)\modules" <.y
-       copy modules\metadata\$(LONG)\mod_cern_meta.pdb "$(INSTDIR)\modules" <.y
-       copy modules\metadata\$(LONG)\mod_env.pdb "$(INSTDIR)\modules" <.y
-       copy modules\metadata\$(LONG)\mod_expires.pdb "$(INSTDIR)\modules" <.y
-       copy modules\metadata\$(LONG)\mod_headers.pdb "$(INSTDIR)\modules" <.y
-       copy modules\metadata\$(LONG)\mod_mime_magic.pdb "$(INSTDIR)\modules" <.y
-       copy modules\metadata\$(LONG)\mod_setenvif.pdb "$(INSTDIR)\modules" <.y
-       copy modules\metadata\$(LONG)\mod_unique_id.pdb "$(INSTDIR)\modules" <.y
-       copy modules\metadata\$(LONG)\mod_usertrack.pdb "$(INSTDIR)\modules" <.y
-       copy modules\proxy\$(LONG)\mod_proxy.pdb "$(INSTDIR)\modules" <.y
-       copy modules\proxy\$(LONG)\mod_proxy_connect.pdb "$(INSTDIR)\modules" <.y
-       copy modules\proxy\$(LONG)\mod_proxy_ftp.pdb "$(INSTDIR)\modules" <.y
-       copy modules\proxy\$(LONG)\mod_proxy_http.pdb "$(INSTDIR)\modules" <.y
-!ENDIF
+       copy CHANGES      "$(INSTDIR)\CHANGES.txt" <.y
+       copy INSTALL      "$(INSTDIR)\INSTALL.txt" <.y
+       copy LICENSE      "$(INSTDIR)\LICENSE.txt" <.y
+       copy README       "$(INSTDIR)\README.txt" <.y
 !IF EXIST("srclib\openssl")
-       copy modules\ssl\$(LONG)\mod_ssl.so "$(INSTDIR)\modules" <.y
-       copy srclib\openssl\$(SSLBIN)\openssl.exe "$(INSTDIR)\bin" <.y
-       copy srclib\openssl\$(SSLBIN)\libeay32.dll "$(INSTDIR)\bin" <.y
-       copy srclib\openssl\$(SSLBIN)\ssleay32.dll "$(INSTDIR)\bin" <.y
-!IF "$(SHORT)" == "D"
-       copy modules\ssl\$(LONG)\mod_ssl.pdb "$(INSTDIR)\modules" <.y
-       copy srclib\openssl\$(SSLBIN)\openssl.pdb "$(INSTDIR)\bin" <.y
-       copy srclib\openssl\$(SSLBIN)\libeay32.pdb "$(INSTDIR)\bin" <.y
-       copy srclib\openssl\$(SSLBIN)\ssleay32.pdb "$(INSTDIR)\bin" <.y
-!ENDIF
        type << >> "$(INSTDIR)\README.txt"
 
   This binary distribution includes cryptographic software written by
@@ -516,15 +558,6 @@ BEGIN {
 
 --------------------------------------------------------------------------------
 <<
-       copy support\$(LONG)\abs.exe "$(INSTDIR)\bin\ab.exe" <.y
-!IF "$(SHORT)" == "D"
-       copy support\$(LONG)\abs.pdb "$(INSTDIR)\bin\ab.pdb" <.y
-!ENDIF
-!ELSE
-       copy support\$(LONG)\ab.exe "$(INSTDIR)\bin" <.y
-!IF "$(SHORT)" == "D"
-       copy support\$(LONG)\ab.pdb "$(INSTDIR)\bin" <.y
-!ENDIF
 !ENDIF
 !IF EXIST("srclib\zlib")
        type << >> "$(INSTDIR)\README.txt"
@@ -548,27 +581,22 @@ BEGIN {
     exit 1;
 }
 <<
-       copy modules\filters\$(LONG)\mod_deflate.so "$(INSTDIR)\modules" <.y
-!IF "$(SHORT)" == "D"
-       copy modules\filters\$(LONG)\mod_deflate.pdb "$(INSTDIR)\modules" <.y
-!ENDIF
-!ENDIF
-       copy support\$(LONG)\htdbm.exe "$(INSTDIR)\bin" <.y
-       copy support\$(LONG)\htdigest.exe "$(INSTDIR)\bin" <.y
-       copy support\$(LONG)\htpasswd.exe "$(INSTDIR)\bin" <.y
-       copy support\$(LONG)\logresolve.exe "$(INSTDIR)\bin" <.y
-       copy support\$(LONG)\rotatelogs.exe "$(INSTDIR)\bin" <.y
-       copy support\win32\$(LONG)\ApacheMonitor.exe "$(INSTDIR)\bin" <.y
-       copy support\win32\$(LONG)\wintty.exe "$(INSTDIR)\bin" <.y
-!IF "$(SHORT)" == "D"
-       copy support\$(LONG)\htdbm.pdb "$(INSTDIR)\bin" <.y
-       copy support\$(LONG)\htdigest.pdb "$(INSTDIR)\bin" <.y
-       copy support\$(LONG)\htpasswd.pdb "$(INSTDIR)\bin" <.y
-       copy support\$(LONG)\logresolve.pdb "$(INSTDIR)\bin" <.y
-       copy support\$(LONG)\rotatelogs.pdb "$(INSTDIR)\bin" <.y
-       copy support\win32\$(LONG)\ApacheMonitor.pdb "$(INSTDIR)\bin" <.y
-       copy support\win32\$(LONG)\wintty.pdb "$(INSTDIR)\bin" <.y
 !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 quiet="-"  \
+               inst_exe="$(INSTDIR)\bin"                              \
+               inst_dll="$(INSTDIR)\bin"                              \
+               inst_so="$(INSTDIR)\modules"
+       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 ..\..
        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 { 
@@ -583,30 +611,35 @@ BEGIN {
        }
     }
 <<
-       xcopy docs\error "$(INSTDIR)\error" /s /d < .a
-       xcopy docs\docroot "$(INSTDIR)\htdocs" /d < .a
-       xcopy docs\manual "$(INSTDIR)\manual" /s /d < .a
-       xcopy srclib\pcre\pcre*.h "$(INSTDIR)\include" /d < .a
-       xcopy srclib\apr-util\xml\expat\lib\expat.h "$(INSTDIR)\include" /d < .a
-       xcopy srclib\apr\include\*.h "$(INSTDIR)\include" /d < .a
-       xcopy srclib\apr-util\include\*.h "$(INSTDIR)\include" /d < .a
-       xcopy include\*.h "$(INSTDIR)\include" /d < .a
-       xcopy docs\icons "$(INSTDIR)\icons" /s /d < .a
-       copy srclib\apr\Lib$(SHORT)\apr.lib "$(INSTDIR)\lib" <.y
-       copy srclib\apr-util\Lib$(SHORT)\aprutil.lib "$(INSTDIR)\lib" <.y
-       copy srclib\pcre\Lib$(SHORT)\pcre.lib "$(INSTDIR)\lib" <.y
-       copy srclib\pcre\Lib$(SHORT)\pcreposix.lib "$(INSTDIR)\lib" <.y
-#       ### until we determine if it's safe to change expat>libexpat and xml>expat
-#       within our cvs tree... at least remain consistent to our naming conventions;
-       copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml.lib "$(INSTDIR)\lib\expat.lib" <.y
-       copy srclib\apr\$(LONG)\libapr.lib "$(INSTDIR)\lib" <.y
-       copy srclib\apr\$(LONG)\libapr.exp "$(INSTDIR)\lib" <.y
-       copy srclib\apr-util\$(LONG)\libaprutil.lib "$(INSTDIR)\lib" <.y
-       copy srclib\apr-util\$(LONG)\libaprutil.exp "$(INSTDIR)\lib" <.y
-       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
+       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
+       xcopy srclib\pcre\pcre*.h                       "$(INSTDIR)\include" /d < .a
+       xcopy srclib\apr-util\xml\expat\lib\expat.h     "$(INSTDIR)\include" /d < .a
+       xcopy srclib\apr\include\*.h                    "$(INSTDIR)\include" /d < .a
+       xcopy srclib\apr-util\include\*.h               "$(INSTDIR)\include" /d < .a
+       xcopy include\*.h                               "$(INSTDIR)\include" /d < .a
+       copy srclib\apr\Lib$(SHORT)\apr-1.lib           "$(INSTDIR)\lib" <.y
+       copy srclib\apr\Lib$(SHORT)\apr_src.pdb         "$(INSTDIR)\lib" <.y
+       copy srclib\apr-util\Lib$(SHORT)\aprutil-1.lib  "$(INSTDIR)\lib" <.y
+       copy srclib\apr-util\Lib$(SHORT)\aprutil_src.pdb "$(INSTDIR)\lib" <.y
+       copy srclib\pcre\Lib$(SHORT)\pcre.lib           "$(INSTDIR)\lib" <.y
+       copy srclib\pcre\Lib$(SHORT)\pcre_src.pdb       "$(INSTDIR)\lib" <.y
+       copy srclib\pcre\Lib$(SHORT)\pcreposix.lib      "$(INSTDIR)\lib" <.y
+       copy srclib\pcre\Lib$(SHORT)\pcreposix_src.pdb  "$(INSTDIR)\lib" <.y
+       copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml.lib "$(INSTDIR)\lib" <.y
+       copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml_src.pdb "$(INSTDIR)\lib" <.y
+       copy srclib\apr\$(LONG)\libapr-1.lib            "$(INSTDIR)\lib" <.y
+       copy srclib\apr\$(LONG)\libapr-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
+       copy srclib\apr-util\$(LONG)\libaprutil-1.lib   "$(INSTDIR)\lib" <.y
+       copy srclib\apr-util\$(LONG)\libaprutil-1.exp   "$(INSTDIR)\lib" <.y
+       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
        copy docs\conf\magic "$(INSTDIR)\conf\magic.default" <.y
        if not exist "$(INSTDIR)\conf\magic" \
            copy "$(INSTDIR)\conf\magic.default" "$(INSTDIR)\conf\magic"
@@ -631,8 +664,9 @@ BEGIN {
 <<
        if not exist "$(INSTDIR)\conf\httpd.conf" \
            copy "$(INSTDIR)\conf\httpd.default.conf" "$(INSTDIR)\conf\httpd.conf"
-       copy docs\conf\ssl-std.conf "$(INSTDIR)\conf\ssl.default.conf" <.y
-       -awk -f <<script.awk "docs/conf/ssl-std.conf" "$(INSTDIR)" > "$(INSTDIR)\conf\ssl.default.conf"
+!IF EXIST("srclib\openssl")
+       copy docs\conf\ssl-std.conf.in "$(INSTDIR)\conf\ssl.default.conf" <.y
+       -awk -f <<script.awk "docs/conf/ssl-std.conf.in" "$(INSTDIR)" > "$(INSTDIR)\conf\ssl.default.conf"
     BEGIN { 
        serverroot = ARGV[2];
        delete ARGV[2];
@@ -642,11 +676,17 @@ BEGIN {
     }
     {
        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" );
        print $$0;
     }
 <<
        if not exist "$(INSTDIR)\conf\ssl.conf" \
            copy "$(INSTDIR)\conf\ssl.default.conf" "$(INSTDIR)\conf\ssl.conf"
+!ENDIF
        -awk -f <<script.awk "support/dbmmanage.in" >"$(INSTDIR)\bin\dbmmanage.pl"
     { if ( $$0 ~ /^BEGIN \{ @AnyDBM_File::/ ) {
          sub( /ISA = qw\(.*\)/, "ISA = qw(SDBM_File)" );