]> granicus.if.org Git - apache/blobdiff - Makefile.win
Remove the old version of the error docs.
[apache] / Makefile.win
index 98c8d4e6bbbc81a186f4e9df0bfcc073652c8fd5..f4540c4cacc590fc4096155db3a5fccb487e69a9 100644 (file)
@@ -9,16 +9,71 @@
 #   _cleanr    - remove (most) files generated by a Release build
 #   _cleand    - remove (most) files generated by a Debug build
 #
-# The default installation directory is \Apache. This can be changed
+# The default installation directory is \Apache2.0. This can be changed
 # with the INSTDIR macro, for example:
 #
 #   nmake /f Makefile.win INSTDIR="d:\Program Files\Apache" installr
 #
 # Note: this does *NOT* change the compiled in default "server root"
+# Also 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!
+
+default:        _apacher
+
+!IF !EXIST("srclib\apr")
+!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
+!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
+!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"
+SSLBIN=out32dll.dbg
+!ELSE
+SSLBIN=out32dll
+!ENDIF
+tryssl:
+!IF EXIST("modules\ssl\mod_ssl.mak")
+       cd modules\ssl
+        $(MAKE) $(MAKEOPT) -f mod_ssl.mak CFG="mod_ssl - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+       cd ..\..
+       cd modules\tls
+        $(MAKE) $(MAKEOPT) -f mod_tls.mak CFG="mod_tls - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+       cd ..\..
+       cd support
+        $(MAKE) $(MAKEOPT) -f abs.mak CFG="abs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+       cd ..
+!ELSE
+       msdev Apache.dsw /MAKE\
+               "mod_ssl - Win32 $(LONG)"\
+               "mod_tls - Win32 $(LONG)"\
+               "abs - Win32 $(LONG)" /NORECURSE $(CTARGET)
+!ENDIF
+
+!ELSE
+tryssl:
+       echo mod_ssl, mod_tls 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 INSTALL.W32 for details.
+!ENDIF
 
 !IF "$(INSTDIR)" == ""
-INSTDIR=\Apache
-!MESSAGE Using default install directory \Apache
+INSTDIR=\Apache2
+!MESSAGE Using default install directory $(INSTDIR)
 !ENDIF 
 
 !IFNDEF MAKEOPT
@@ -32,8 +87,6 @@ MAKEOPT=-s -N
 !ENDIF
 !ENDIF
 
-default:        _apacher
-
 _apacher: 
        $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release _build
 
@@ -46,47 +99,41 @@ installr:
 installd: 
        $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   _build _install
 
+clean: _cleanr _cleand
+
+!IF EXIST("Apache.mak")
+
 _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
 
-clean:
-       $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET=CLEAN _build
-       $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   CTARGET=CLEAN _build
-
 _build:
        echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
        cd srclib\apr
-#       aprlibdll creates the dynamic aprlib.dll from the static library project aprlib.dsp
-        $(MAKE) $(MAKEOPT) -f aprlib.mak CFG="aprlib - Win32 $(LONG)" RECURSE=0 $(CTARGET)
-        $(MAKE) $(MAKEOPT) -f aprlibdll.mak CFG="aprlibdll - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        $(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-util
-#       aprutildll creates the dynamic apr-util.dll from the static library project aprutil.dsp
+       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 ..\..\..
         $(MAKE) $(MAKEOPT) -f aprutil.mak CFG="aprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET)
-        $(MAKE) $(MAKEOPT) -f aprutildll.mak CFG="aprutildll - Win32 $(LONG)" RECURSE=0 $(CTARGET)
-       cd ..\..
-       cd srclib\expat-lite
-        $(MAKE) $(MAKEOPT) -f expatlib.mak CFG="expatlib - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        $(MAKE) $(MAKEOPT) -f libaprutil.mak CFG="libaprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..\..
        cd srclib\pcre
         $(MAKE) $(MAKEOPT) -f dftables.mak CFG="dftables - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f pcre.mak CFG="pcre - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f pcreposix.mak CFG="pcreposix - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..\..
-       cd srclib\sdbm
-        $(MAKE) $(MAKEOPT) -f sdbmlib.mak CFG="sdbmlib - Win32 $(LONG)" RECURSE=0 $(CTARGET)
-        cd ..\..
        cd server
-        $(MAKE) $(MAKEOPT) -f gen_uri_delims.mak CFG="gen_uri_delims - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f gen_test_char.mak CFG="gen_test_char - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..
-        -del Core$(SHORT)\buildmark.obj
-#       ApacheCoreDll creates the dynamic ApacheCore.dll from the static library project ApacheCore
-        $(MAKE) $(MAKEOPT) -f ApacheCore.mak CFG="ApacheCore - Win32 $(LONG)" RECURSE=0 $(CTARGET)
-        $(MAKE) $(MAKEOPT) -f ApacheCoreDll.mak CFG="ApacheCoreDll - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        -del $(LONG)\buildmark.obj
+        $(MAKE) $(MAKEOPT) -f libhttpd.mak CFG="libhttpd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f Apache.mak CFG="Apache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd modules\aaa
         $(MAKE) $(MAKEOPT) -f mod_auth_anon.mak CFG="mod_auth_anon - Win32 $(LONG)" RECURSE=0 $(CTARGET)
@@ -103,7 +150,7 @@ _build:
         $(MAKE) $(MAKEOPT) -f mod_dav_fs.mak CFG="mod_dav_fs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..\..\..
        cd modules\generators
-#        $(MAKE) $(MAKEOPT) -f mod_info.mak CFG"=mod_info - 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\mappers
@@ -116,9 +163,20 @@ _build:
         $(MAKE) $(MAKEOPT) -f mod_headers.mak CFG="mod_headers - Win32 $(LONG)" RECURSE=0 $(CTARGET)
         $(MAKE) $(MAKEOPT) -f mod_usertrack.mak CFG="mod_usertrack - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..\..
-       cd modules\proxy
+#      cd modules\proxy
 #        $(MAKE) $(MAKEOPT) -f mod_proxy.mak CFG="mod_proxy - Win32 $(LONG)" RECURSE=0 $(CTARGET)
-        cd ..\..
+#       cd ..\..
+!IF EXIST("srclib\openssl")
+       cd modules\ssl
+        $(MAKE) $(MAKEOPT) -f mod_ssl.mak CFG="mod_ssl - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+       cd ..\..
+       cd modules\tls
+        $(MAKE) $(MAKEOPT) -f mod_tls.mak CFG="mod_tls - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+       cd ..\..
+       cd support
+         $(MAKE) $(MAKEOPT) -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 htpasswd.mak CFG="htpasswd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
@@ -126,57 +184,241 @@ _build:
         $(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 ..\..
+
+!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)
+       -del $(LONG)\buildmark.obj
+       msdev Apache.dsw /MAKE\
+               "apr - Win32 $(LONG)"\
+               "libapr - Win32 $(LONG)"\
+               "gen_uri_delims - Win32 $(LONG)"\
+               "xml - Win32 $(LONG)"\
+               "aprutil - Win32 $(LONG)"\
+               "libaprutil - Win32 $(LONG)"\
+               "dftables - Win32 $(LONG)"\
+               "pcre - Win32 $(LONG)"\
+               "pcreposix - Win32 $(LONG)"\
+               "gen_test_char - Win32 $(LONG)"\
+               "libhttpd - Win32 $(LONG)"\
+               "Apache - Win32 $(LONG)"\
+               "mod_auth_anon - Win32 $(LONG)"\
+               "mod_auth_dbm - Win32 $(LONG)"\
+               "mod_auth_digest - Win32 $(LONG)"\
+               "mod_file_cache - Win32 $(LONG)"\
+               "mod_dav - Win32 $(LONG)"\
+               "mod_dav_fs - Win32 $(LONG)"\
+               "mod_info - Win32 $(LONG)"\
+               "mod_status - Win32 $(LONG)"\
+               "mod_rewrite - Win32 $(LONG)"\
+               "mod_speling - Win32 $(LONG)"\
+               "mod_cern_meta - Win32 $(LONG)"\
+               "mod_expires - Win32 $(LONG)"\
+               "mod_headers - Win32 $(LONG)"\
+               "mod_usertrack - Win32 $(LONG)"\
+               "ab - Win32 $(LONG)"\
+               "htpasswd - Win32 $(LONG)"\
+               "htdigest - Win32 $(LONG)"\
+               "logresolve - Win32 $(LONG)"\
+               "rotatelogs - Win32 $(LONG)"\
+               "ApacheMonitor - Win32 $(LONG)"\
+               "wintty - Win32 $(LONG)" /NORECURSE $(CTARGET)
+!IF EXIST("srclib\openssl")
+       msdev Apache.dsw /MAKE\
+               "mod_ssl - Win32 $(LONG)"\
+               "mod_tls - Win32 $(LONG)"\
+               "abs - Win32 $(LONG)" /NORECURSE $(CTARGET)
+!ENDIF
+
+!ENDIF
 
 _install:
        -mkdir "$(INSTDIR)"
        -mkdir "$(INSTDIR)\bin"
        -mkdir "$(INSTDIR)\cgi-bin"
        -mkdir "$(INSTDIR)\conf"
+       -mkdir "$(INSTDIR)\error"
        -mkdir "$(INSTDIR)\htdocs"
        -mkdir "$(INSTDIR)\htdocs\manual"
        -mkdir "$(INSTDIR)\icons"
        -mkdir "$(INSTDIR)\include"
        -mkdir "$(INSTDIR)\lib"
-       -mkdir "$(INSTDIR)\libexec"
        -mkdir "$(INSTDIR)\logs"
        -mkdir "$(INSTDIR)\modules"
 #      -mkdir "$(INSTDIR)\proxy"
-       copy Apache$(SHORT)\Apache.exe "$(INSTDIR)"
-       copy Core$(SHORT)\ApacheCore.dll "$(INSTDIR)"
-       copy srclib\apr\$(LONG)\aprlib.dll "$(INSTDIR)"
-        copy srclib\apr-util\$(LONG)\apr-util.dll "$(INSTDIR)"
-        copy srclib\expat-lite\$(LONG)\expatlib.dll "$(INSTDIR)"
-        copy modules\aaa\mod_auth_anon$(SHORT)\mod_auth_anon.dll "$(INSTDIR)\modules"
-       copy modules\aaa\mod_auth_dbm$(SHORT)\mod_auth_dbm.dll "$(INSTDIR)\modules"
-       copy modules\aaa\mod_auth_digest$(SHORT)\mod_auth_digest.dll "$(INSTDIR)\modules"
-       copy modules\cache\mod_file_cache$(SHORT)\mod_file_cache.dll "$(INSTDIR)\modules"
-        copy modules\dav\fs\mod_dav_fs$(SHORT)\mod_dav_fs.dll "$(INSTDIR)\modules"
-        copy modules\dav\main\mod_dav$(SHORT)\mod_dav.dll "$(INSTDIR)\modules"
-#       copy modules\generators\mod_info$(SHORT)\mod_info.dll "$(INSTDIR)\modules"
-        copy modules\generators\mod_status$(SHORT)\mod_status.dll "$(INSTDIR)\modules"
-        copy modules\mappers\mod_rewrite$(SHORT)\mod_rewrite.dll "$(INSTDIR)\modules"
-       copy modules\mappers\mod_speling$(SHORT)\mod_speling.dll "$(INSTDIR)\modules"
-       copy modules\metadata\mod_cern_meta$(SHORT)\mod_cern_meta.dll "$(INSTDIR)\modules"
-       copy modules\metadata\mod_expires$(SHORT)\mod_expires.dll "$(INSTDIR)\modules"
-       copy modules\metadata\mod_headers$(SHORT)\mod_headers.dll "$(INSTDIR)\modules"
-       copy modules\metadata\mod_usertrack$(SHORT)\mod_usertrack.dll "$(INSTDIR)\modules"
-#       copy modules\proxy\mod_proxy$(SHORT)\mod_proxy.dll "$(INSTDIR)\modules"
+       copy ABOUT_APACHE "$(INSTDIR)\ABOUT_APACHE.txt"
+       copy CHANGES "$(INSTDIR)\CHANGES.txt"
+       copy INSTALL "$(INSTDIR)\INSTALL.txt"
+       copy LICENSE "$(INSTDIR)\LICENSE.txt"
+!IF EXIST("srclib\openssl")
+       copy << + README "$(INSTDIR)\README.txt"
+
+  This product includes cryptographic software written by
+  Eric Young (eay@cryptsoft.com).  This product includes software written
+  by Tim Hudson (tjh@cryptsoft.com).  This product includes software
+  developed by the OpenSSL Project for use in the OpenSSL Toolkit.
+  (http://www.openssl.org/)
+<<
+!ELSE
+#      --- just a vanilla copy, in this case.
+       copy README "$(INSTDIR)\README.txt"
+!ENDIF
+       copy $(LONG)\Apache.exe "$(INSTDIR)\bin"
+       copy $(LONG)\libhttpd.dll "$(INSTDIR)\bin"
+       copy srclib\apr\$(LONG)\libapr.dll "$(INSTDIR)\bin"
+        copy srclib\apr-util\$(LONG)\libaprutil.dll "$(INSTDIR)\bin"
+        copy modules\aaa\$(LONG)\mod_auth_anon.so "$(INSTDIR)\modules"
+       copy modules\aaa\$(LONG)\mod_auth_dbm.so "$(INSTDIR)\modules"
+       copy modules\aaa\$(LONG)\mod_auth_digest.so "$(INSTDIR)\modules"
+       copy modules\cache\$(LONG)\mod_file_cache.so "$(INSTDIR)\modules"
+        copy modules\dav\fs\$(LONG)\mod_dav_fs.so "$(INSTDIR)\modules"
+        copy modules\dav\main\$(LONG)\mod_dav.so "$(INSTDIR)\modules"
+        copy modules\generators\$(LONG)\mod_info.so "$(INSTDIR)\modules"
+        copy modules\generators\$(LONG)\mod_status.so "$(INSTDIR)\modules"
+        copy modules\mappers\$(LONG)\mod_rewrite.so "$(INSTDIR)\modules"
+       copy modules\mappers\$(LONG)\mod_speling.so "$(INSTDIR)\modules"
+       copy modules\metadata\$(LONG)\mod_cern_meta.so "$(INSTDIR)\modules"
+       copy modules\metadata\$(LONG)\mod_expires.so "$(INSTDIR)\modules"
+       copy modules\metadata\$(LONG)\mod_headers.so "$(INSTDIR)\modules"
+       copy modules\metadata\$(LONG)\mod_usertrack.so "$(INSTDIR)\modules"
+#       copy modules\proxy\$(LONG)\mod_proxy.so "$(INSTDIR)\modules"
+!IF EXIST("srclib\openssl")
+       -copy modules\ssl\$(LONG)\mod_ssl.so "$(INSTDIR)\modules"
+       -copy modules\tls\$(LONG)\mod_tls.so "$(INSTDIR)\modules"
+       -copy srclib\openssl\$(SSLBIN)\openssl.exe "$(INSTDIR)\bin"
+       -copy srclib\openssl\$(SSLBIN)\libeay32.dll "$(INSTDIR)\bin"
+       -copy srclib\openssl\$(SSLBIN)\ssleay32.dll "$(INSTDIR)\bin"
+       -copy srclib\openssl\LICENSE "$(INSTDIR)\OPENSSL-LICENSE.txt"
+       -copy << + srclib\openssl\NEWS "$(INSTDIR)\OPENSSL-NEWS.txt"
+
+ Apache HTTP Server 2.0 Limited OpenSSL Distribution  17 Aug 2001
+
+ This binary distribution includes the minimal components of OpenSSL required
+ to support mod_ssl and mod_tls for Apache HTTP Server version 2.0 (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 << + srclib\openssl\README "$(INSTDIR)\OPENSSL-README.txt"
+
+ Apache HTTP Server 2.0 Limited OpenSSL Distribution  19 Aug 2001
+
+ 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
+
+   libeay32.dll
+   ssleay32.dll
+   openssl.exe
+
+ These are the minimal libraries and tools required to use mod_ssl or mod_tls
+ as distributed with Apache HTTP Server version 2.0.  No library 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 and mod_tls modules.  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 newsgroups comp.infosystems.www.servers.unix
+ or comp.infosystems.www.servers.ms-windows, or see the support options listed
+ at <http://www.openssl.org/support/>.
+
+--------------------------------------------------------------------------------
+<<
+        copy support\$(LONG)\abs.exe "$(INSTDIR)\bin\ab.exe"
+!ELSE
         copy support\$(LONG)\ab.exe "$(INSTDIR)\bin"
+!ENDIF
         copy support\$(LONG)\htpasswd.exe "$(INSTDIR)\bin"
        copy support\$(LONG)\htdigest.exe "$(INSTDIR)\bin"
        copy support\$(LONG)\logresolve.exe "$(INSTDIR)\bin"
        copy support\$(LONG)\rotatelogs.exe "$(INSTDIR)\bin"
+        copy support\win32\$(LONG)\ApacheMonitor.exe "$(INSTDIR)\bin"
+        copy support\win32\$(LONG)\wintty.exe "$(INSTDIR)\bin"
         copy docs\cgi-examples\printenv "$(INSTDIR)\cgi-bin\printenv.pl"
-        xcopy docs\docroot "$(INSTDIR)\htdocs" /dy
-        xcopy docs\manual "$(INSTDIR)\htdocs\manual" /sdy
-        xcopy docs\icons "$(INSTDIR)\icons" /sdy
-        copy docs\conf\magic "$(INSTDIR)\conf\magic.default"
+       -awk -f <<script.awk "docs\cgi-examples\printenv" "$(INSTDIR)\cgi-bin\printenv.pl"
+    BEGIN { 
+        srcfl = ARGV[1];
+        dstfl = ARGV[2];
+        if ( "perl -e \"print $$^X;\"" | getline perlroot ) {
+            gsub( /\\/, "/", perlroot );
+            print "#!" perlroot > dstfl;
+            getline < srcfl;
+        }
+        while ( ( getline < srcfl ) > 0 ) {
+            print $$0 > dstfl;
+        }
+    }
+<<
+        copy docs\cgi-examples\test-cgi.bat "$(INSTDIR)\cgi-bin"
+        xcopy docs\error "$(INSTDIR)\error" /d < <<
+A
+<<
+        xcopy docs\docroot "$(INSTDIR)\htdocs" /d < <<
+A
+<<
+        xcopy docs\manual "$(INSTDIR)\htdocs\manual" /s /d < <<
+A
+<<
+       xcopy srclib\pcre\pcre*.h "$(INSTDIR)\include" /d < <<
+A
+<<
+       copy srclib\apr-util\xml\expat\lib\expat.h "$(INSTDIR)\include"
+       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"
+       copy srclib\apr-util\Lib$(SHORT)\aprutil.lib "$(INSTDIR)\lib"
+       copy srclib\pcre\Lib$(SHORT)\pcre.lib "$(INSTDIR)\lib"
+       copy srclib\pcre\Lib$(SHORT)\pcreposix.lib "$(INSTDIR)\lib"
+#       ### 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"
+       copy srclib\apr\$(LONG)\libapr.lib "$(INSTDIR)\lib"
+       copy srclib\apr\$(LONG)\libapr.exp "$(INSTDIR)\lib"
+       copy srclib\apr-util\$(LONG)\libaprutil.lib "$(INSTDIR)\lib"
+       copy srclib\apr-util\$(LONG)\libaprutil.exp "$(INSTDIR)\lib"
+       copy $(LONG)\libhttpd.exp "$(INSTDIR)\lib"
+       copy $(LONG)\libhttpd.lib "$(INSTDIR)\lib"
+       copy modules\dav\main\$(LONG)\mod_dav.exp "$(INSTDIR)\lib"
+       copy modules\dav\main\$(LONG)\mod_dav.lib "$(INSTDIR)\lib"
+       copy docs\conf\magic "$(INSTDIR)\conf\magic.default"
         if not exist "$(INSTDIR)\conf\magic" \
             copy "$(INSTDIR)\conf\magic.default" "$(INSTDIR)\conf\magic"
         copy docs\conf\mime.types "$(INSTDIR)\conf\mime.types.default"
         if not exist "$(INSTDIR)\conf\mime.types" \
             copy "$(INSTDIR)\conf\mime.types.default" "$(INSTDIR)\conf\mime.types"
-       awk -f << docs\conf\httpd-win.conf "$(INSTDIR)\conf\httpd.default.conf" "$(INSTDIR)"
+       copy docs\conf\httpd-win.conf "$(INSTDIR)\conf\httpd.default.conf"
+       -awk -f <<script.awk "docs\conf\httpd-win.conf" "$(INSTDIR)\conf\httpd.default.conf" "$(INSTDIR)"
     BEGIN { 
         srcfl = ARGV[1];
         dstfl = ARGV[2];
@@ -184,16 +426,17 @@ _install:
         gsub( /\\/, "/", serverroot );
         while ( ( getline < srcfl ) > 0 ) {
             gsub( /@@ServerRoot@@/, serverroot );
-            print $$0 >> dstfl;
+            print $$0 > dstfl;
         }
     }
 <<
        if not exist "$(INSTDIR)\conf\httpd.conf" \
             copy "$(INSTDIR)\conf\httpd.default.conf" "$(INSTDIR)\conf\httpd.conf"
-       awk -f << support\dbmmanage >"$(INSTDIR)\bin\dbmmanage.pl"
-    { if ( $$0 !~ /^#.*-lsdbm/) {
-          gsub( /AnyDBM_File::ISA = qw\(.*\)/, "AnyDBM_File::ISA = qw(SDBM_File)" ); 
+       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;
-      } 
     }
 <<