| # Makefile for Windows NT and Windows 95/98/2000 |
| |
| # Targets are: |
| # _apacher - build Apache in Release mode |
| # _apached - build Apache in Debug mode |
| # installr - build and install a Release build |
| # installd - build and install a Debug build |
| # clean - remove (most) generated files |
| # _cleanr - remove (most) files generated by a Release build |
| # _cleand - remove (most) files generated by a Debug build |
| # |
| # The default installation directory is \Apache. 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 |
| !ENDIF |
| |
| !IFNDEF MAKEOPT |
| # Only default the behavior if MAKEOPT= is omitted |
| !IFDEF _NMAKE_VER |
| # Microsoft NMake options |
| MAKEOPT=-nologo |
| !ELSEIF "$(MAKE)" == "make" |
| # Borland make options? Not really supported (yet) |
| MAKEOPT=-s -N |
| !ENDIF |
| !ENDIF |
| |
| default: _apacher |
| |
| _apacher: |
| $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release _build |
| |
| _apached: |
| $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug _build |
| |
| installr: |
| $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release _build _install |
| |
| installd: |
| $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug _build _install |
| |
| _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: _cleanr _cleand |
| |
| |
| _build: |
| # echo LONG $(LONG) SHORT $(SHORT) x |
| cd os\win32 |
| $(MAKE) $(MAKEOPT) -f ApacheOS.mak CFG="ApacheOS - Win32 $(LONG)" RECURSE=0 $(CTARGET) |
| $(MAKE) $(MAKEOPT) -f Win9xConHook.mak CFG="Win9xConHook - Win32 $(LONG)" RECURSE=0 $(CTARGET) |
| cd ..\.. |
| cd regex |
| $(MAKE) $(MAKEOPT) -f regex.mak CFG="regex - Win32 $(LONG)" RECURSE=0 $(CTARGET) |
| cd .. |
| cd ap |
| $(MAKE) $(MAKEOPT) -f ap.mak CFG="ap - Win32 $(LONG)" RECURSE=0 $(CTARGET) |
| cd .. |
| cd support |
| $(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 lib\expat-lite |
| $(MAKE) $(MAKEOPT) -f xmltok.mak CFG="xmltok - Win32 $(LONG)" RECURSE=0 $(CTARGET) |
| $(MAKE) $(MAKEOPT) -f xmlparse.mak CFG="xmlparse - Win32 $(LONG)" RECURSE=0 $(CTARGET) |
| cd ..\.. |
| cd lib\sdbm |
| $(MAKE) $(MAKEOPT) -f sdbm.mak CFG="sdbm - Win32 $(LONG)" RECURSE=0 $(CTARGET) |
| cd ..\.. |
| cd main |
| $(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 .. |
| $(MAKE) $(MAKEOPT) -f ApacheCore.mak CFG="ApacheCore - Win32 $(LONG)" RECURSE=0 $(CTARGET) |
| $(MAKE) $(MAKEOPT) -f Apache.mak CFG="Apache - Win32 $(LONG)" RECURSE=0 $(CTARGET) |
| cd os\win32 |
| $(MAKE) $(MAKEOPT) -f mod_status.mak CFG="mod_status - Win32 $(LONG)" RECURSE=0 $(CTARGET) |
| $(MAKE) $(MAKEOPT) -f mod_info.mak CFG="mod_info - 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_digest.mak CFG="mod_digest - Win32 $(LONG)" RECURSE=0 $(CTARGET) |
| $(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_speling.mak CFG="mod_speling - Win32 $(LONG)" RECURSE=0 $(CTARGET) |
| $(MAKE) $(MAKEOPT) -f mod_usertrack.mak CFG="mod_usertrack - Win32 $(LONG)" RECURSE=0 $(CTARGET) |
| $(MAKE) $(MAKEOPT) -f mod_rewrite.mak CFG="mod_rewrite - Win32 $(LONG)" RECURSE=0 $(CTARGET) |
| $(MAKE) $(MAKEOPT) -f mod_auth_digest.mak CFG="mod_auth_digest - Win32 $(LONG)" RECURSE=0 $(CTARGET) |
| $(MAKE) $(MAKEOPT) -f mod_auth_dbm.mak CFG="mod_auth_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET) |
| $(MAKE) $(MAKEOPT) -f mod_proxy.mak CFG="mod_proxy - 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_vhost_alias.mak CFG="mod_vhost_alias - 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_log_forensic.mak CFG="mod_log_forensic - Win32 $(LONG)" RECURSE=0 $(CTARGET) |
| cd ..\.. |
| |
| _install: |
| -mkdir "$(INSTDIR)" |
| -mkdir "$(INSTDIR)\bin" |
| -mkdir "$(INSTDIR)\cgi-bin" |
| -mkdir "$(INSTDIR)\conf" |
| -mkdir "$(INSTDIR)\htdocs" |
| -mkdir "$(INSTDIR)\icons" |
| -mkdir "$(INSTDIR)\include" |
| -mkdir "$(INSTDIR)\include\regex" |
| -mkdir "$(INSTDIR)\include\sdbm" |
| -mkdir "$(INSTDIR)\include\xml" |
| -mkdir "$(INSTDIR)\lib" |
| -mkdir "$(INSTDIR)\libexec" |
| -mkdir "$(INSTDIR)\logs" |
| -mkdir "$(INSTDIR)\modules" |
| -mkdir "$(INSTDIR)\proxy" |
| copy ..\ABOUT_APACHE "$(INSTDIR)\ABOUT_APACHE.TXT" |
| copy ..\LICENSE "$(INSTDIR)\LICENSE.TXT" |
| copy ..\NOTICE "$(INSTDIR)\NOTICE.TXT" |
| copy ..\README-WIN.TXT "$(INSTDIR)" |
| copy ..\WARNING-WIN.TXT "$(INSTDIR)" |
| copy $(LONG)\Apache.exe "$(INSTDIR)" |
| copy $(LONG)\ApacheCore.dll "$(INSTDIR)" |
| copy os\win32\$(LONG)\Win9xConHook.dll "$(INSTDIR)" |
| copy lib\expat-lite\$(LONG)\xmltok.dll "$(INSTDIR)" |
| copy lib\expat-lite\$(LONG)\xmlparse.dll "$(INSTDIR)" |
| copy os\win32\$(LONG)\mod_status.so "$(INSTDIR)\modules" |
| copy os\win32\$(LONG)\mod_info.so "$(INSTDIR)\modules" |
| copy os\win32\$(LONG)\mod_auth_anon.so "$(INSTDIR)\modules" |
| copy os\win32\$(LONG)\mod_digest.so "$(INSTDIR)\modules" |
| copy os\win32\$(LONG)\mod_cern_meta.so "$(INSTDIR)\modules" |
| copy os\win32\$(LONG)\mod_expires.so "$(INSTDIR)\modules" |
| copy os\win32\$(LONG)\mod_headers.so "$(INSTDIR)\modules" |
| copy os\win32\$(LONG)\mod_rewrite.so "$(INSTDIR)\modules" |
| copy os\win32\$(LONG)\mod_speling.so "$(INSTDIR)\modules" |
| copy os\win32\$(LONG)\mod_usertrack.so "$(INSTDIR)\modules" |
| copy os\win32\$(LONG)\mod_auth_digest.so "$(INSTDIR)\modules" |
| copy os\win32\$(LONG)\mod_auth_dbm.so "$(INSTDIR)\modules" |
| copy os\win32\$(LONG)\mod_proxy.so "$(INSTDIR)\modules" |
| copy os\win32\$(LONG)\mod_unique_id.so "$(INSTDIR)\modules" |
| copy os\win32\$(LONG)\mod_vhost_alias.so "$(INSTDIR)\modules" |
| copy os\win32\$(LONG)\mod_mime_magic.so "$(INSTDIR)\modules" |
| copy os\win32\$(LONG)\mod_log_forensic.so "$(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" |
| copy ..\cgi-bin\printenv "$(INSTDIR)\cgi-bin\printenv.pl" |
| -xcopy ..\htdocs "$(INSTDIR)\htdocs" /s /d < << |
| A |
| << |
| xcopy include\*.h "$(INSTDIR)\include" /d < << |
| A |
| << |
| xcopy os\win32\*.h "$(INSTDIR)\include" /d < << |
| A |
| << |
| xcopy regex\*.h "$(INSTDIR)\include\regex" /d < << |
| A |
| << |
| xcopy lib\sdbm\*.h "$(INSTDIR)\include\sdbm" /d < << |
| A |
| << |
| xcopy lib\expat-lite\*.h "$(INSTDIR)\include\xml" /d < << |
| A |
| << |
| -xcopy ..\icons "$(INSTDIR)\icons" /s /d < << |
| A |
| << |
| copy ap\Lib$(SHORT)\ap.lib "$(INSTDIR)\lib" |
| copy os\win32\Lib$(SHORT)\ApacheOS.lib "$(INSTDIR)\lib" |
| copy regex\Lib$(SHORT)\regex.lib "$(INSTDIR)\lib" |
| copy lib\sdbm\Lib$(SHORT)\sdbm.lib "$(INSTDIR)\lib" |
| copy $(LONG)\ApacheCore.exp "$(INSTDIR)\libexec" |
| copy $(LONG)\ApacheCore.lib "$(INSTDIR)\libexec" |
| copy os\win32\$(LONG)\Win9xConHook.exp "$(INSTDIR)\libexec" |
| copy os\win32\$(LONG)\Win9xConHook.lib "$(INSTDIR)\libexec" |
| copy lib\expat-lite\$(LONG)\xmltok.exp "$(INSTDIR)\libexec" |
| copy lib\expat-lite\$(LONG)\xmltok.lib "$(INSTDIR)\libexec" |
| copy lib\expat-lite\$(LONG)\xmlparse.exp "$(INSTDIR)\libexec" |
| copy lib\expat-lite\$(LONG)\xmlparse.lib "$(INSTDIR)\libexec" |
| copy $(LONG)\Apache.pdb "$(INSTDIR)" |
| copy $(LONG)\ApacheCore.pdb "$(INSTDIR)" |
| copy os\win32\$(LONG)\Win9xConHook.pdb "$(INSTDIR)" |
| copy lib\expat-lite\$(LONG)\xmltok.pdb "$(INSTDIR)" |
| copy lib\expat-lite\$(LONG)\xmlparse.pdb "$(INSTDIR)" |
| copy os\win32\$(LONG)\mod_status.pdb "$(INSTDIR)\modules" |
| copy os\win32\$(LONG)\mod_info.pdb "$(INSTDIR)\modules" |
| copy os\win32\$(LONG)\mod_auth_anon.pdb "$(INSTDIR)\modules" |
| copy os\win32\$(LONG)\mod_digest.pdb "$(INSTDIR)\modules" |
| copy os\win32\$(LONG)\mod_cern_meta.pdb "$(INSTDIR)\modules" |
| copy os\win32\$(LONG)\mod_expires.pdb "$(INSTDIR)\modules" |
| copy os\win32\$(LONG)\mod_headers.pdb "$(INSTDIR)\modules" |
| copy os\win32\$(LONG)\mod_rewrite.pdb "$(INSTDIR)\modules" |
| copy os\win32\$(LONG)\mod_speling.pdb "$(INSTDIR)\modules" |
| copy os\win32\$(LONG)\mod_usertrack.pdb "$(INSTDIR)\modules" |
| copy os\win32\$(LONG)\mod_auth_digest.pdb "$(INSTDIR)\modules" |
| copy os\win32\$(LONG)\mod_auth_dbm.pdb "$(INSTDIR)\modules" |
| copy os\win32\$(LONG)\mod_proxy.pdb "$(INSTDIR)\modules" |
| copy os\win32\$(LONG)\mod_unique_id.pdb "$(INSTDIR)\modules" |
| copy os\win32\$(LONG)\mod_vhost_alias.pdb "$(INSTDIR)\modules" |
| copy os\win32\$(LONG)\mod_mime_magic.pdb "$(INSTDIR)\modules" |
| copy os\win32\$(LONG)\mod_log_forensic.pdb "$(INSTDIR)\modules" |
| copy support\$(LONG)\htpasswd.pdb "$(INSTDIR)\bin" |
| copy support\$(LONG)\htdigest.pdb "$(INSTDIR)\bin" |
| copy support\$(LONG)\logresolve.pdb "$(INSTDIR)\bin" |
| copy support\$(LONG)\rotatelogs.pdb "$(INSTDIR)\bin" |
| copy ap\Lib$(SHORT)\ap.pdb "$(INSTDIR)\lib" |
| copy os\win32\Lib$(SHORT)\ApacheOS.pdb "$(INSTDIR)\lib" |
| copy regex\Lib$(SHORT)\regex.pdb "$(INSTDIR)\lib" |
| copy lib\sdbm\Lib$(SHORT)\sdbm.pdb "$(INSTDIR)\lib" |
| copy ..\conf\magic "$(INSTDIR)\conf\magic.default" |
| if not exist "$(INSTDIR)\conf\magic" \ |
| copy "$(INSTDIR)\conf\magic.default" "$(INSTDIR)\conf\magic" |
| copy ..\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" |
| copy ..\conf\access.conf-dist "$(INSTDIR)\conf\access.default.conf" |
| if not exist "$(INSTDIR)\conf\access.conf" \ |
| copy "$(INSTDIR)\conf\access.default.conf" "$(INSTDIR)\conf\access.conf" |
| copy ..\conf\srm.conf-dist "$(INSTDIR)\conf\srm.default.conf" |
| if not exist "$(INSTDIR)\conf\srm.conf" \ |
| copy "$(INSTDIR)\conf\srm.default.conf" "$(INSTDIR)\conf\srm.conf" |
| awk -f <<script.awk "..\conf\httpd.conf-dist-win" "$(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; |
| } |
| << |
| awk -f <<script2.awk "support\apxs.pl" "$(INSTDIR)" >"$(INSTDIR)\bin\apxs.pl" |
| BEGIN { |
| target = ARGV[2]; |
| gsub( /\\/, "/", target ); |
| delete ARGV[2]; |
| } |
| { if ( $$0 ~ /@/) { |
| gsub( /@TARGET@/, "httpd" ); |
| gsub( /@CC@/, "cl" ); |
| gsub( /@CFLAGS@/, "-nologo -MD -W3 -O2 -DNDEBUG -DWIN32 -D_WINDOWS -FD" ); |
| gsub( /@CFLAGS_SHLIB@/, "-DSHARED_MODULE" ); |
| gsub( /@LD_SHLIB@/, "link" ); |
| gsub( /@LDFLAGS_MOD_SHLIB@/, "-nologo -subsystem:windows -dll -libpath:\"" target "/libexec\" -incremental:no -map -machine:I386" ); |
| gsub( /@LIBS_SHLIB@/, "ApacheCore.lib kernel32.lib advapi32.lib wsock32.lib ws2_32.lib" ); |
| gsub( /@prefix@/, target ); |
| gsub( /@sbindir@/, target ); |
| gsub( /@includedir@/, target "/include" ); |
| gsub( /@libexecdir@/, target "/modules" ); |
| gsub( /@sysconfdir@/, target "/conf" ); |
| } |
| print $$0; |
| } |
| << |