]> granicus.if.org Git - apache/blobdiff - Makefile.win
get the last worker in a given child initialized properly
[apache] / Makefile.win
index 897d1769d624e895118973c2c31009ef85440593..28757e783202f7d9f4b457471aece6681cac33ab 100644 (file)
 #   _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!
 
 !IF "$(INSTDIR)" == ""
-INSTDIR=\Apache
-!MESSAGE Using default install directory \Apache
+INSTDIR=\Apache2.0
+!MESSAGE Using default install directory \Apache2.0
 !ENDIF 
 
+!IFNDEF MAKEOPT
+# Only default the behavior if MAKEOPT= is omitted
+!IF "$(MAKE)" == "NMAKE"
+# Microsoft NMake options
+MAKEOPT=-nologo
+!ELSEIF "($MAKE)" == "make"
+# Borland make options?  Not really supported (yet)
+MAKEOPT=-s -N
+!ENDIF
+!ENDIF
+
 default:        _apacher
 
 _apacher: 
-       $(MAKE) /f Makefile.win SHORT=R LONG=Release _build
+       $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release _build
 
 _apached: 
-       $(MAKE) /f Makefile.win SHORT=D LONG=Debug   _build
+       $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   _build
 
 installr: 
-       $(MAKE) /f Makefile.win SHORT=R LONG=Release _build _install
+       $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release _build _install
 
 installd: 
-       $(MAKE) /f Makefile.win SHORT=D LONG=Debug   _build _install
+       $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   _build _install
 
 _cleanr:  
-       $(MAKE) /f Makefile.win SHORT=R LONG=Release CTARGET=CLEAN _build
+       $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET=CLEAN _build
 
 _cleand:  
-       $(MAKE) /f Makefile.win SHORT=D LONG=Debug CTARGET=CLEAN _build
+       $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   CTARGET=CLEAN _build
 
 clean:
-       $(MAKE) /f Makefile.win SHORT=R LONG=Release CTARGET=CLEAN _build
-       $(MAKE) /f Makefile.win SHORT=D LONG=Debug   CTARGET=CLEAN _build
-       $(MAKE) /f Makefile.win SHORT=R LONG=Release CTARGET=CLEAN _installdll
-
-installdll:
-       $(MAKE) /f Makefile.win SHORT=R LONG=Release _installdll
+       $(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 lib\apr
-#       aprlibdll creates the dynamic aprlib.dll from the static library project aprlib.dsp
-        nmake /nologo CFG="aprlib - Win32 $(LONG)" -f aprlib.mak RECURSE=0 $(CTARGET)
-        nmake /nologo CFG="aprlibdll - Win32 $(LONG)" -f aprlibdll.mak RECURSE=0 $(CTARGET)
+       cd srclib\apr
+        $(MAKE) $(MAKEOPT) -f apr.mak CFG="apr - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        $(MAKE) $(MAKEOPT) -f libapr.mak CFG="libapr - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..\..
-       cd regex
-        nmake /nologo CFG="regex - Win32 $(LONG)" -f regex.mak RECURSE=0 $(CTARGET)
-       cd ..
-       cd ap
-        nmake /nologo CFG="ap - Win32 $(LONG)" -f ap.mak RECURSE=0 $(CTARGET)
+       cd srclib\apr-util
+        $(MAKE) $(MAKEOPT) -f aprutil.mak CFG="aprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        $(MAKE) $(MAKEOPT) -f libaprutil.mak CFG="libaprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+       cd ..\..
+       cd srclib\expat-lite
+        $(MAKE) $(MAKEOPT) -f libexpat.mak CFG="libexpat - 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 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 $(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)
+         $(MAKE) $(MAKEOPT) -f mod_auth_dbm.mak CFG="mod_auth_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        $(MAKE) $(MAKEOPT) -f mod_auth_digest.mak CFG="mod_auth_digest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+       cd ..\..
+       cd modules\cache
+        $(MAKE) $(MAKEOPT) -f mod_file_cache.mak CFG="mod_file_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)
+       cd ..\..\..
+       cd modules\dav\fs
+        $(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_status.mak CFG="mod_status - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+       cd ..\..
+       cd modules\mappers
+         $(MAKE) $(MAKEOPT) -f mod_rewrite.mak CFG="mod_rewrite - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        $(MAKE) $(MAKEOPT) -f mod_speling.mak CFG="mod_speling - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+       cd ..\..
+       cd modules\metadata
+        $(MAKE) $(MAKEOPT) -f mod_cern_meta.mak CFG="mod_cern_meta - 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_usertrack.mak CFG="mod_usertrack - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+       cd ..\..
+       cd modules\proxy
+#        $(MAKE) $(MAKEOPT) -f mod_proxy.mak CFG="mod_proxy - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        cd ..\..
        cd support
-         nmake /nologo CFG="htpasswd - Win32 $(LONG)" -f htpasswd.mak RECURSE=0 $(CTARGET)
-#        nmake /nologo CFG="htdigest - Win32 $(LONG)" -f htdigest.mak RECURSE=0 $(CTARGET)
-#       nmake /nologo CFG="logresolve - Win32 $(LONG)" -f logresolve.mak RECURSE=0 $(CTARGET)
-        nmake /nologo CFG="rotatelogs - Win32 $(LONG)" -f rotatelogs.mak RECURSE=0 $(CTARGET)
+         $(MAKE) $(MAKEOPT) -f ab.mak CFG="ab - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+         $(MAKE) $(MAKEOPT) -f htpasswd.mak CFG="htpasswd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+         $(MAKE) $(MAKEOPT) -f htdigest.mak CFG="htdigest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        $(MAKE) $(MAKEOPT) -f logresolve.mak CFG="logresolve - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+        $(MAKE) $(MAKEOPT) -f rotatelogs.mak CFG="rotatelogs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
        cd ..
-       cd main
-        nmake /nologo CFG="gen_uri_delims - Win32 $(LONG)" -f gen_uri_delims.mak RECURSE=0 $(CTARGET)
-        nmake /nologo CFG="gen_test_char - Win32 $(LONG)" -f gen_test_char.mak RECURSE=0 $(CTARGET)
-       cd ..
-        -del Core$(SHORT)\buildmark.obj
-        nmake /nologo CFG="ApacheCore - Win32 $(LONG)" -f ApacheCore.mak RECURSE=0 $(CTARGET)
-        nmake /nologo CFG="Apache - Win32 $(LONG)" -f Apache.mak RECURSE=0 $(CTARGET)
-       cd os\win32
-         nmake /nologo CFG="ApacheModuleStatus - Win32 $(LONG)" -f ApacheModuleStatus.mak RECURSE=0 $(CTARGET)
-#        nmake /nologo CFG"=ApacheModuleInfo - Win32 $(LONG)" -f ApacheModuleInfo.mak RECURSE=0 $(CTARGET)
-        nmake /nologo CFG="ApacheModuleAuthAnon - Win32 $(LONG)" -f ApacheModuleAuthAnon.mak RECURSE=0 $(CTARGET)
-        nmake /nologo CFG="ApacheModuleAuthDigest - Win32 $(LONG)" -f ApacheModuleAuthDigest.mak RECURSE=0 $(CTARGET)
-        nmake /nologo CFG="ApacheModuleCERNMeta - Win32 $(LONG)" -f ApacheModuleCERNMeta.mak RECURSE=0 $(CTARGET)
-        nmake /nologo CFG="ApacheModuleExpires - Win32 $(LONG)" -f ApacheModuleExpires.mak RECURSE=0 $(CTARGET)
-        nmake /nologo CFG="ApacheModuleHeaders - Win32 $(LONG)" -f ApacheModuleHeaders.mak RECURSE=0 $(CTARGET)
-        nmake /nologo CFG="ApacheModuleSpeling - Win32 $(LONG)" -f ApacheModuleSpeling.mak RECURSE=0 $(CTARGET)
-        nmake /nologo CFG="ApacheModuleUserTrack - Win32 $(LONG)" -f ApacheModuleUserTrack.mak RECURSE=0 $(CTARGET)
-         nmake /nologo CFG="ApacheModuleRewrite - Win32 $(LONG)" -f ApacheModuleRewrite.mak RECURSE=0 $(CTARGET)
-       cd ..\..
-#       cd modules\proxy
-#        nmake /nologo CFG="ApacheModuleProxy - Win32 $(LONG)" -f ApacheModuleProxy.mak RECURSE=0 $(CTARGET)
-#       cd ..\..
 
 _install:
-       -mkdir $(INSTDIR)
-       -mkdir $(INSTDIR)\modules
-       -mkdir $(INSTDIR)\logs
-       -mkdir $(INSTDIR)\conf
-       -mkdir $(INSTDIR)\bin
-       copy Apache$(SHORT)\Apache.exe $(INSTDIR)
-       copy Core$(SHORT)\ApacheCore.dll $(INSTDIR)
-       copy lib\apr\$(LONG)\aprlib.dll $(INSTDIR)
-        copy os\win32\ApacheModuleStatus$(SHORT)\ApacheModuleStatus.dll $(INSTDIR)\modules
-#       copy os\win32\ApacheModuleInfo$(SHORT)\ApacheModuleInfo.dll $(INSTDIR)\modules
-       copy os\win32\ApacheModuleAuthAnon$(SHORT)\ApacheModuleAuthAnon.dll $(INSTDIR)\modules
-       copy os\win32\ApacheModuleAuthDigest$(SHORT)\ApacheModuleAuthDigest.dll $(INSTDIR)\modules
-       copy os\win32\ApacheModuleCERNMeta$(SHORT)\ApacheModuleCERNMeta.dll $(INSTDIR)\modules
-       copy os\win32\ApacheModuleExpires$(SHORT)\ApacheModuleExpires.dll $(INSTDIR)\modules
-       copy os\win32\ApacheModuleHeaders$(SHORT)\ApacheModuleHeaders.dll $(INSTDIR)\modules
-        copy os\win32\ApacheModuleRewrite$(SHORT)\ApacheModuleRewrite.dll $(INSTDIR)\modules
-       copy os\win32\ApacheModuleSpeling$(SHORT)\ApacheModuleSpeling.dll $(INSTDIR)\modules
-       copy os\win32\ApacheModuleUserTrack$(SHORT)\ApacheModuleUserTrack.dll $(INSTDIR)\modules
-#       copy modules\proxy\$(LONG)\ApacheModuleProxy.dll $(INSTDIR)\modules
-        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
-
-_installdll:
-       cd os\win32\installer\installdll
-        nmake /nologo CFG="install - Win32 $(LONG)" -f install.mak RECURSE=0 $(CTARGET)
-       cd ..\..\..
+       -mkdir "$(INSTDIR)"
+       -mkdir "$(INSTDIR)\bin"
+       -mkdir "$(INSTDIR)\cgi-bin"
+       -mkdir "$(INSTDIR)\conf"
+       -mkdir "$(INSTDIR)\htdocs"
+       -mkdir "$(INSTDIR)\htdocs\manual"
+       -mkdir "$(INSTDIR)\icons"
+       -mkdir "$(INSTDIR)\include"
+       -mkdir "$(INSTDIR)\include\xml"
+       -mkdir "$(INSTDIR)\include\pcre"
+       -mkdir "$(INSTDIR)\lib"
+       -mkdir "$(INSTDIR)\libexec"
+       -mkdir "$(INSTDIR)\logs"
+       -mkdir "$(INSTDIR)\modules"
+#      -mkdir "$(INSTDIR)\proxy"
+       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 srclib\expat-lite\$(LONG)\libexpat.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"
+        copy support\$(LONG)\ab.exe "$(INSTDIR)\bin"
+        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 docs\cgi-examples\printenv "$(INSTDIR)\cgi-bin\printenv.pl"
+        xcopy docs\docroot "$(INSTDIR)\htdocs" /d < <<
+A
+<<
+        xcopy docs\manual "$(INSTDIR)\htdocs\manual" /s /d < <<
+A
+<<
+       xcopy include\*.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 srclib\expat-lite\*.h "$(INSTDIR)\include\xml" /d < <<
+A
+<<
+       xcopy srclib\pcre\*.h "$(INSTDIR)\include\pcre" /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"
+       copy srclib\apr\$(LONG)\libapr.lib "$(INSTDIR)\libexec"
+       copy srclib\apr\$(LONG)\libapr.exp "$(INSTDIR)\libexec"
+       copy srclib\apr-util\$(LONG)\libaprutil.lib "$(INSTDIR)\libexec"
+       copy srclib\apr-util\$(LONG)\libaprutil.exp "$(INSTDIR)\libexec"
+       copy srclib\expat-lite\$(LONG)\libexpat.lib "$(INSTDIR)\libexec"
+       copy srclib\expat-lite\$(LONG)\libexpat.exp "$(INSTDIR)\libexec"
+       copy $(LONG)\libhttpd.exp "$(INSTDIR)\libexec"
+       copy $(LONG)\libhttpd.lib "$(INSTDIR)\libexec"
+       copy modules\dav\main\$(LONG)\mod_dav.exp "$(INSTDIR)\libexec"
+       copy modules\dav\main\$(LONG)\mod_dav.lib "$(INSTDIR)\libexec"
+       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 <<script.awk "docs\conf\httpd-win.conf" "$(INSTDIR)\conf\httpd.default.conf" "$(INSTDIR)"
+    BEGIN { 
+        srcfl = ARGV[1];
+        dstfl = ARGV[2];
+        serverroot = ARGV[3];
+        gsub( /\\/, "/", serverroot );
+        while ( ( getline < srcfl ) > 0 ) {
+            gsub( /@@ServerRoot@@/, serverroot );
+            print $$0 > dstfl;
+        }
+    }
+<<
+       if not exist "$(INSTDIR)\conf\httpd.conf" \
+            copy "$(INSTDIR)\conf\httpd.default.conf" "$(INSTDIR)\conf\httpd.conf"
+       awk -f <<script.awk "support\dbmmanage" >"$(INSTDIR)\bin\dbmmanage.pl"
+    { if ( $$0 !~ /^#.*-lsdbm/) {
+          gsub( /AnyDBM_File::ISA = qw\(.*\)/, "AnyDBM_File::ISA = qw(SDBM_File)" ); 
+      }
+      print $$0;
+    }
+<<