1 # Makefile for Windows NT and Windows 95/98/2000
4 # _buildr - build Apache in Release mode
5 # _buildd - build Apache in Debug mode
6 # installr - build and install a Release build
7 # installd - build and install a Debug build
8 # clean - remove (most) generated files
9 # _cleanr - remove (most) files generated by a Release build
10 # _cleand - remove (most) files generated by a Debug build
11 # _browse - build the browse info file
12 # _fixshebang - add proper shebang lines to activate installed
14 # Note: _fixshebang must be run separately and is not
15 # run by any of the above install* targets.
17 # The following install defaults may be customized;
23 # DOMAINNAME example.com
24 # SERVERNAME www.example.com
25 # SERVERNAME admin@example.com
27 # ALL (unset) Includes additional modules for build testing
29 # Provide a DBD_LIST argument after configuring LIB and INCLUDE with
30 # the SDK paths of the corresponding client support libraries.
31 # The ODBC driver is always built on Windows
33 # DBD_LIST="sqlite3 pgsql oracle mysql freetds"
35 # Provide a DBM_LIST argument after configuring LIB and INCLUDE with
36 # the SDK paths of the corresponding client support libraries.
37 # The sdbm driver is always built in.
43 # nmake -f Makefile.win PORT=80 INSTDIR="d:\Program Files\Apache" installr
45 # Be aware that certain awk's will not accept backslashed names,
46 # so the server root should be given in forward slashes (quoted),
47 # preferably with the drive designation!
49 !IF EXIST("Apache.sln") && ([devenv /help > NUL 2>&1] == 0) \
50 && !defined(USEMAK) && !defined(USEDSW)
54 !ELSEIF EXIST("httpd.mak") && !defined(USEDSW)
66 !IF ("$(CTARGET)" == "") && ($(USESLN) == 1)
70 !IF EXIST("srclib\apr\include\apu.h")
73 !ELSEIF !EXIST("srclib\apr") || !EXIST("srclib\apr-util") || !EXIST("srclib\apr-iconv")
74 !MESSAGE Please check out or download and unpack the Apache Portability Runtime
75 !MESSAGE sources (apr, apr-iconv and apr-util) into your srclib dir.
76 !MESSAGE Apache cannot build without these libraries!
78 !ERROR Need srclib\ apr, apr-iconv and apr-util
84 !IF !EXIST("srclib\expat") && !EXIST("srclib\apr-util\xml\expat")
85 !MESSAGE Please check out or download and unpack the current expat library source
86 !MESSAGE under your srclib dir for apr 2.x, or srclib\apr-util\xml\expat for apr 1.x
87 !MESSAGE Apache cannot build without this library!
89 !ERROR Need srclib\expat or srclib\apr-util\xml\expat
92 !IF !EXIST("srclib\pcre")
93 !MESSAGE Please check out or download and unpack the current PCRE library source
94 !MESSAGE under your srclib dir, and compile the pcre.dll with CMake options
95 !MESSAGE BUILD_SHARED_LIBS and CMAKE_BUILD_TYPE RelWithDebInfo.
96 !MESSAGE Apache cannot build without this library!
98 !ERROR Need srclib\pcre
102 # Note; _tryfoo: blocks are used only by the msvc developer studio environment
103 # to 'fix up' the build, since conditional dependencies aren't supported.
106 !IF EXIST("srclib\openssl")
107 !IF "$(LONG)" == "Debug" && EXIST("srclib\openssl\out32dll.dbg\openssl.exe")
116 $(MAKE) $(MAKEOPT) -f mod_ssl.mak CFG="mod_ssl - Win32 $(LONG)" RECURSE=0 $(CTARGET)
119 $(MAKE) $(MAKEOPT) -f abs.mak CFG="abs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
121 !ELSEIF $(USESLN) == 1
122 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_ssl
123 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project abs
125 @msdev $(TLP).dsw /USEENV /MAKE \
126 "mod_ssl - Win32 $(LONG)" \
127 "abs - Win32 $(LONG)" /NORECURSE $(CTARGET)
131 # NOT EXIST("srclib\openssl")
135 @echo mod_ssl and ab/ssl will not build unless openssl is installed
136 @echo in srclib\openssl. They must be precompiled using the
137 @echo ms/ntdll.mak file, see srclib\openssl\INSTALL.W32. The most
138 @echo recent version confirmed to build with mod_ssl and ab is 0.9.8d.
139 @echo Available from http://www.openssl.org/
141 # NOT EXIST("srclib\openssl")
143 !IF EXIST("srclib\serf")
148 $(MAKE) $(MAKEOPT) -f mod_serf.mak CFG="mod_serf - Win32 $(LONG)" RECURSE=0 $(CTARGET)
150 !ELSEIF $(USESLN) == 1
151 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_serf
153 @msdev $(TLP).dsw /USEENV /MAKE \
154 "mod_serf - Win32 $(LONG)" /NORECURSE $(CTARGET)
158 # NOT EXIST("srclib\serf")
162 @echo mod_serf will not build unless libserf.dll is built in srclib\serf
163 @echo For purposes of alpha, libserf release 0.3.0 works, but only with
164 @echo http://people.apache.org/~wrowe/fixserf-win32-0.3.0.patch
167 # NOT EXIST("srclib\serf")
169 !IF EXIST("srclib\zlib")
174 $(MAKE) $(MAKEOPT) -f mod_deflate.mak CFG="mod_deflate - Win32 $(LONG)" RECURSE=0 $(CTARGET)
176 !ELSEIF $(USESLN) == 1
177 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_deflate
179 @msdev $(TLP).dsw /USEENV /MAKE \
180 "mod_deflate - Win32 $(LONG)" /NORECURSE $(CTARGET)
184 # NOT EXIST("srclib\zlib")
188 @echo mod_deflate will not build unless zlib is built in srclib\zlib.
189 @echo Version 1.2.1 and later available from http://www.gzip.org/zlib/
190 @echo built w/ nmake -f win32/Makefile.msc will satisfy this requirement.
194 !IF EXIST("srclib\libxml2")
199 $(MAKE) $(MAKEOPT) -f mod_proxy_html.mak CFG="mod_proxy_html - Win32 $(LONG)" RECURSE=0 $(CTARGET)
200 $(MAKE) $(MAKEOPT) -f mod_xml2enc.mak CFG="mod_xml2enc - Win32 $(LONG)" RECURSE=0 $(CTARGET)
202 !ELSEIF $(USESLN) == 1
203 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_proxy_html
204 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_xml2enc
206 @msdev $(TLP).dsw /USEENV /MAKE \
207 "mod_proxy_html - Win32 $(LONG)" /NORECURSE $(CTARGET)
208 @msdev $(TLP).dsw /USEENV /MAKE \
209 "mod_xml2enc - Win32 $(LONG)" /NORECURSE $(CTARGET)
213 # NOT EXIST("srclib\libxml2")
217 @echo mod_proxy_html and mod_xml2enc will not build unless libxml2 is
218 @echo built in srclib\libxml2. Version 2.7.7 and later available from
219 @echo http://xmlsoft.org/ will satisfy this requirement.
224 !IF EXIST("srclib\lua")
229 $(MAKE) $(MAKEOPT) -f mod_lua.mak CFG="mod_lua - Win32 $(LONG)" RECURSE=0 $(CTARGET)
231 !ELSEIF $(USESLN) == 1
232 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_lua
234 @msdev $(TLP).dsw /USEENV /MAKE \
235 "mod_lua - Win32 $(LONG)" /NORECURSE $(CTARGET)
239 # NOT EXIST("srclib\lua")
243 @echo mod_lua will not build unless lua is installed in srclib\lua.
244 @echo Version 5.1 includes an etc\luavs.bat that will satisfy this requirement.
251 cd srclib\$(UTILDIR)\dbd
252 for %d in (odbc $(DBD_LIST)) do \
253 $(MAKE) $(MAKEOPT) -f apr_dbd_%d.mak CFG="apr_dbd_%d - Win32 $(LONG)" RECURSE=0 $(CTARGET)
255 for %d in ($(DBM_LIST) x) do if not %d == x \
256 $(MAKE) $(MAKEOPT) -f apr_dbm_%d.mak CFG="apr_dbm_%d - Win32 $(LONG)" RECURSE=0 $(CTARGET)
258 !ELSEIF $(USESLN) == 1
259 for %d in (odbc $(DBD_LIST)) do \
260 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project apr_dbd_%d
261 for %d in ($(DBM_LIST) x) do if not %d == x \
262 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project apr_dbm_%d
264 @for %d in (odbc $(DBD_LIST)) do \
265 msdev $(TLP).dsw /USEENV /MAKE \
266 "apr_dbd_%d - Win32 $(LONG)" /NORECURSE $(CTARGET)
267 @for %d in ($(DBM_LIST) x) do if not %d == x \
268 msdev $(TLP).dsw /USEENV /MAKE \
269 "apr_dbm_%d - Win32 $(LONG)" /NORECURSE $(CTARGET)
273 !IF "$(INSTDIR)" == ""
276 !IF "$(DOMAINNAME)" == ""
277 DOMAINNAME=example.com
279 !IF "$(SERVERNAME)" == ""
280 SERVERNAME=www.$(DOMAINNAME)
282 !IF "$(SERVERADMIN)" == ""
283 SERVERADMIN=admin@$(DOMAINNAME)
288 !IF "$(SSLPORT)" == ""
294 !MESSAGE INSTDIR = $(INSTDIR)
295 !MESSAGE DOMAINNAME = $(DOMAINNAME)
296 !MESSAGE SERVERNAME = $(SERVERNAME)
297 !MESSAGE SERVERADMIN = $(SERVERADMIN)
298 !MESSAGE PORT = $(PORT)
299 !IF EXIST("srclib\openssl")
300 !MESSAGE SSLPORT = $(SSLPORT)
303 !MESSAGE To change these options use 'nmake -f Makefile.win [option=value]'
304 !MESSAGE Example: nmake -f Makefile.win PORT=8080
310 # Only default the behavior if MAKEOPT= is omitted
312 # Microsoft NMake options
314 !ELSEIF "$(MAKE)" == "make"
315 # Borland make options? Not really supported (yet)
324 bscmake.exe -nologo -Iu -o Apache.bsc *.sbr
328 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release _build
331 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug _build
334 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release _build _install
337 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug _build _install
339 clean: _cleanr _cleand
340 -if exist Browse\. rd /s Browse < << > nul
347 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET=CLEAN _build
350 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug CTARGET=CLEAN _build
353 echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
354 !IF !EXIST("srclib\apr-util")
356 $(MAKE) $(MAKEOPT) -f expat.mak CFG="expat - Win32 $(LONG)" RECURSE=0 $(CTARGET)
360 $(MAKE) $(MAKEOPT) -f apr.mak CFG="apr - Win32 $(LONG)" RECURSE=0 $(CTARGET)
361 $(MAKE) $(MAKEOPT) -f libapr.mak CFG="libapr - Win32 $(LONG)" RECURSE=0 $(CTARGET)
363 !IF EXIST("srclib\apr-util")
365 $(MAKE) $(MAKEOPT) -f apriconv.mak CFG="apriconv - Win32 $(LONG)" RECURSE=0 $(CTARGET)
366 $(MAKE) $(MAKEOPT) -f libapriconv.mak CFG="libapriconv - Win32 $(LONG)" RECURSE=0 $(CTARGET)
367 !IF "$(CTARGET)" == "CLEAN"
368 $(MAKE) $(MAKEOPT) -f build\modules.mk.win clean \
369 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=.
372 $(MAKE) $(MAKEOPT) -f Makefile.win all \
373 BUILD_MODE=$(LONG) BIND_MODE=shared
375 $(MAKE) $(MAKEOPT) -f Makefile.win all \
376 BUILD_MODE=$(LONG) BIND_MODE=shared
380 cd srclib\apr-util\xml\expat\lib
381 $(MAKE) $(MAKEOPT) -f xml.mak CFG="xml - Win32 $(LONG)" RECURSE=0 $(CTARGET)
383 $(MAKE) $(MAKEOPT) -f aprutil.mak CFG="aprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET)
384 $(MAKE) $(MAKEOPT) -f libaprutil.mak CFG="libaprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET)
386 $(MAKE) $(MAKEOPT) -f apr_ldap.mak CFG="apr_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
389 # DBD, DBM components live now in apr
393 for %d in (odbc $(DBD_LIST)) do \
394 $(MAKE) $(MAKEOPT) -f apr_dbd_%d.mak CFG="apr_dbd_%d - Win32 $(LONG)" RECURSE=0 $(CTARGET)
397 for %d in ($(DBM_LIST) x) do if not %d == x \
398 $(MAKE) $(MAKEOPT) -f apr_dbm_%d.mak CFG="apr_dbm_%d - Win32 $(LONG)" RECURSE=0 $(CTARGET)
402 $(MAKE) $(MAKEOPT) -f gen_test_char.mak CFG="gen_test_char - Win32 $(LONG)" RECURSE=0 $(CTARGET)
404 $(MAKE) $(MAKEOPT) -f libhttpd.mak CFG="libhttpd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
405 $(MAKE) $(MAKEOPT) -f httpd.mak CFG="httpd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
406 # build ldap prior to authnz_ldap
408 $(MAKE) $(MAKEOPT) -f mod_ldap.mak CFG="mod_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
411 $(MAKE) $(MAKEOPT) -f mod_dbd.mak CFG="mod_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
414 $(MAKE) $(MAKEOPT) -f mod_access_compat.mak CFG="mod_access_compat - Win32 $(LONG)" RECURSE=0 $(CTARGET)
415 $(MAKE) $(MAKEOPT) -f mod_allowhandlers.mak CFG="mod_allowhandlers - Win32 $(LONG)" RECURSE=0 $(CTARGET)
416 $(MAKE) $(MAKEOPT) -f mod_allowmethods.mak CFG="mod_allowmethods - Win32 $(LONG)" RECURSE=0 $(CTARGET)
417 $(MAKE) $(MAKEOPT) -f mod_auth_basic.mak CFG="mod_auth_basic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
418 $(MAKE) $(MAKEOPT) -f mod_auth_digest.mak CFG="mod_auth_digest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
419 $(MAKE) $(MAKEOPT) -f mod_auth_form.mak CFG="mod_auth_form - Win32 $(LONG)" RECURSE=0 $(CTARGET)
420 $(MAKE) $(MAKEOPT) -f mod_authn_anon.mak CFG="mod_authn_anon - Win32 $(LONG)" RECURSE=0 $(CTARGET)
421 $(MAKE) $(MAKEOPT) -f mod_authn_core.mak CFG="mod_authn_core - Win32 $(LONG)" RECURSE=0 $(CTARGET)
422 $(MAKE) $(MAKEOPT) -f mod_authn_dbd.mak CFG="mod_authn_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
423 $(MAKE) $(MAKEOPT) -f mod_authn_dbm.mak CFG="mod_authn_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
424 $(MAKE) $(MAKEOPT) -f mod_authn_file.mak CFG="mod_authn_file - Win32 $(LONG)" RECURSE=0 $(CTARGET)
425 $(MAKE) $(MAKEOPT) -f mod_authn_socache.mak CFG="mod_authn_socache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
426 $(MAKE) $(MAKEOPT) -f mod_authnz_ldap.mak CFG="mod_authnz_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
427 $(MAKE) $(MAKEOPT) -f mod_authz_core.mak CFG="mod_authz_core - Win32 $(LONG)" RECURSE=0 $(CTARGET)
428 $(MAKE) $(MAKEOPT) -f mod_authz_dbd.mak CFG="mod_authz_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
429 $(MAKE) $(MAKEOPT) -f mod_authz_dbm.mak CFG="mod_authz_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
430 $(MAKE) $(MAKEOPT) -f mod_authz_groupfile.mak CFG="mod_authz_groupfile - Win32 $(LONG)" RECURSE=0 $(CTARGET)
431 $(MAKE) $(MAKEOPT) -f mod_authz_host.mak CFG="mod_authz_host - Win32 $(LONG)" RECURSE=0 $(CTARGET)
432 $(MAKE) $(MAKEOPT) -f mod_authz_owner.mak CFG="mod_authz_owner - Win32 $(LONG)" RECURSE=0 $(CTARGET)
433 $(MAKE) $(MAKEOPT) -f mod_authz_user.mak CFG="mod_authz_user - Win32 $(LONG)" RECURSE=0 $(CTARGET)
435 cd modules\arch\win32
436 $(MAKE) $(MAKEOPT) -f mod_isapi.mak CFG="mod_isapi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
439 $(MAKE) $(MAKEOPT) -f mod_cache.mak CFG="mod_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
440 $(MAKE) $(MAKEOPT) -f mod_cache_disk.mak CFG="mod_cache_disk - Win32 $(LONG)" RECURSE=0 $(CTARGET)
441 $(MAKE) $(MAKEOPT) -f mod_cache_socache.mak CFG="mod_cache_socache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
442 $(MAKE) $(MAKEOPT) -f mod_file_cache.mak CFG="mod_file_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
443 $(MAKE) $(MAKEOPT) -f mod_socache_dbm.mak CFG="mod_socache_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
444 # $(MAKE) $(MAKEOPT) -f mod_socache_dc.mak CFG="mod_socache_dc - Win32 $(LONG)" RECURSE=0 $(CTARGET)
445 $(MAKE) $(MAKEOPT) -f mod_socache_memcache.mak CFG="mod_socache_memcache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
446 $(MAKE) $(MAKEOPT) -f mod_socache_shmcb.mak CFG="mod_socache_shmcb - Win32 $(LONG)" RECURSE=0 $(CTARGET)
449 $(MAKE) $(MAKEOPT) -f mod_macro.mak CFG="mod_macro - Win32 $(LONG)" RECURSE=0 $(CTARGET)
450 $(MAKE) $(MAKEOPT) -f mod_watchdog.mak CFG="mod_watchdog - Win32 $(LONG)" RECURSE=0 $(CTARGET)
453 $(MAKE) $(MAKEOPT) -f mod_heartbeat.mak CFG="mod_heartbeat - Win32 $(LONG)" RECURSE=0 $(CTARGET)
454 $(MAKE) $(MAKEOPT) -f mod_heartmonitor.mak CFG="mod_heartmonitor - Win32 $(LONG)" RECURSE=0 $(CTARGET)
457 $(MAKE) $(MAKEOPT) -f mod_dav.mak CFG="mod_dav - Win32 $(LONG)" RECURSE=0 $(CTARGET)
460 $(MAKE) $(MAKEOPT) -f mod_dav_fs.mak CFG="mod_dav_fs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
463 $(MAKE) $(MAKEOPT) -f mod_dav_lock.mak CFG="mod_dav_lock - Win32 $(LONG)" RECURSE=0 $(CTARGET)
467 $(MAKE) $(MAKEOPT) -f mod_bucketeer.mak CFG="mod_bucketeer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
469 $(MAKE) $(MAKEOPT) -f mod_dumpio.mak CFG="mod_dumpio - Win32 $(LONG)" RECURSE=0 $(CTARGET)
473 $(MAKE) $(MAKEOPT) -f mod_echo.mak CFG="mod_echo - Win32 $(LONG)" RECURSE=0 $(CTARGET)
478 $(MAKE) $(MAKEOPT) -f mod_case_filter.mak CFG="mod_case_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
479 $(MAKE) $(MAKEOPT) -f mod_case_filter_in.mak CFG="mod_case_filter_in - Win32 $(LONG)" RECURSE=0 $(CTARGET)
480 $(MAKE) $(MAKEOPT) -f mod_example_hooks.mak CFG="mod_example_hooks - Win32 $(LONG)" RECURSE=0 $(CTARGET)
481 $(MAKE) $(MAKEOPT) -f mod_example_ipc.mak CFG="mod_example_ipc - Win32 $(LONG)" RECURSE=0 $(CTARGET)
485 $(MAKE) $(MAKEOPT) -f mod_buffer.mak CFG="mod_buffer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
486 $(MAKE) $(MAKEOPT) -f mod_charset_lite.mak CFG="mod_charset_lite - Win32 $(LONG)" RECURSE=0 $(CTARGET)
487 $(MAKE) $(MAKEOPT) -f mod_data.mak CFG="mod_data - Win32 $(LONG)" RECURSE=0 $(CTARGET)
488 !IF EXIST("srclib\zlib")
489 $(MAKE) $(MAKEOPT) -f mod_deflate.mak CFG="mod_deflate - Win32 $(LONG)" RECURSE=0 $(CTARGET)
491 $(MAKE) $(MAKEOPT) -f mod_ext_filter.mak CFG="mod_ext_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
492 $(MAKE) $(MAKEOPT) -f mod_filter.mak CFG="mod_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
493 $(MAKE) $(MAKEOPT) -f mod_include.mak CFG="mod_include - Win32 $(LONG)" RECURSE=0 $(CTARGET)
494 !IF EXIST("srclib\libxml2")
495 $(MAKE) $(MAKEOPT) -f mod_proxy_html.mak CFG="mod_proxy_html - Win32 $(LONG)" RECURSE=0 $(CTARGET)
496 $(MAKE) $(MAKEOPT) -f mod_xml2enc.mak CFG="mod_xml2enc - Win32 $(LONG)" RECURSE=0 $(CTARGET)
498 $(MAKE) $(MAKEOPT) -f mod_ratelimit.mak CFG="mod_ratelimit - Win32 $(LONG)" RECURSE=0 $(CTARGET)
499 $(MAKE) $(MAKEOPT) -f mod_reflector.mak CFG="mod_reflector - Win32 $(LONG)" RECURSE=0 $(CTARGET)
500 $(MAKE) $(MAKEOPT) -f mod_reqtimeout.mak CFG="mod_reqtimeout - Win32 $(LONG)" RECURSE=0 $(CTARGET)
501 $(MAKE) $(MAKEOPT) -f mod_request.mak CFG="mod_request - Win32 $(LONG)" RECURSE=0 $(CTARGET)
502 $(MAKE) $(MAKEOPT) -f mod_sed.mak CFG="mod_sed - Win32 $(LONG)" RECURSE=0 $(CTARGET)
503 $(MAKE) $(MAKEOPT) -f mod_substitute.mak CFG="mod_substitute - Win32 $(LONG)" RECURSE=0 $(CTARGET)
505 cd modules\generators
506 $(MAKE) $(MAKEOPT) -f mod_asis.mak CFG="mod_asis - Win32 $(LONG)" RECURSE=0 $(CTARGET)
507 $(MAKE) $(MAKEOPT) -f mod_autoindex.mak CFG="mod_autoindex - Win32 $(LONG)" RECURSE=0 $(CTARGET)
508 $(MAKE) $(MAKEOPT) -f mod_cgi.mak CFG="mod_cgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
509 $(MAKE) $(MAKEOPT) -f mod_info.mak CFG="mod_info - Win32 $(LONG)" RECURSE=0 $(CTARGET)
510 $(MAKE) $(MAKEOPT) -f mod_status.mak CFG="mod_status - Win32 $(LONG)" RECURSE=0 $(CTARGET)
513 $(MAKE) $(MAKEOPT) -f mod_mime.mak CFG="mod_mime - Win32 $(LONG)" RECURSE=0 $(CTARGET)
516 $(MAKE) $(MAKEOPT) -f mod_log_config.mak CFG="mod_log_config - Win32 $(LONG)" RECURSE=0 $(CTARGET)
517 $(MAKE) $(MAKEOPT) -f mod_log_debug.mak CFG="mod_log_debug - Win32 $(LONG)" RECURSE=0 $(CTARGET)
518 $(MAKE) $(MAKEOPT) -f mod_log_forensic.mak CFG="mod_log_forensic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
519 $(MAKE) $(MAKEOPT) -f mod_logio.mak CFG="mod_logio - Win32 $(LONG)" RECURSE=0 $(CTARGET)
521 !IF EXIST("srclib\lua")
523 $(MAKE) $(MAKEOPT) -f mod_lua.mak CFG="mod_lua - Win32 $(LONG)" RECURSE=0 $(CTARGET)
527 $(MAKE) $(MAKEOPT) -f mod_actions.mak CFG="mod_actions - Win32 $(LONG)" RECURSE=0 $(CTARGET)
528 $(MAKE) $(MAKEOPT) -f mod_alias.mak CFG="mod_alias - Win32 $(LONG)" RECURSE=0 $(CTARGET)
529 $(MAKE) $(MAKEOPT) -f mod_dir.mak CFG="mod_dir - Win32 $(LONG)" RECURSE=0 $(CTARGET)
530 $(MAKE) $(MAKEOPT) -f mod_imagemap.mak CFG="mod_imagemap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
531 $(MAKE) $(MAKEOPT) -f mod_negotiation.mak CFG="mod_negotiation - Win32 $(LONG)" RECURSE=0 $(CTARGET)
532 $(MAKE) $(MAKEOPT) -f mod_rewrite.mak CFG="mod_rewrite - Win32 $(LONG)" RECURSE=0 $(CTARGET)
533 $(MAKE) $(MAKEOPT) -f mod_speling.mak CFG="mod_speling - Win32 $(LONG)" RECURSE=0 $(CTARGET)
534 $(MAKE) $(MAKEOPT) -f mod_userdir.mak CFG="mod_userdir - Win32 $(LONG)" RECURSE=0 $(CTARGET)
535 $(MAKE) $(MAKEOPT) -f mod_vhost_alias.mak CFG="mod_vhost_alias - Win32 $(LONG)" RECURSE=0 $(CTARGET)
538 $(MAKE) $(MAKEOPT) -f mod_cern_meta.mak CFG="mod_cern_meta - Win32 $(LONG)" RECURSE=0 $(CTARGET)
539 $(MAKE) $(MAKEOPT) -f mod_env.mak CFG="mod_env - Win32 $(LONG)" RECURSE=0 $(CTARGET)
540 $(MAKE) $(MAKEOPT) -f mod_expires.mak CFG="mod_expires - Win32 $(LONG)" RECURSE=0 $(CTARGET)
541 $(MAKE) $(MAKEOPT) -f mod_headers.mak CFG="mod_headers - Win32 $(LONG)" RECURSE=0 $(CTARGET)
542 $(MAKE) $(MAKEOPT) -f mod_ident.mak CFG="mod_ident - Win32 $(LONG)" RECURSE=0 $(CTARGET)
543 $(MAKE) $(MAKEOPT) -f mod_mime_magic.mak CFG="mod_mime_magic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
544 $(MAKE) $(MAKEOPT) -f mod_remoteip.mak CFG="mod_remoteip - Win32 $(LONG)" RECURSE=0 $(CTARGET)
545 $(MAKE) $(MAKEOPT) -f mod_setenvif.mak CFG="mod_setenvif - Win32 $(LONG)" RECURSE=0 $(CTARGET)
546 $(MAKE) $(MAKEOPT) -f mod_unique_id.mak CFG="mod_unique_id - Win32 $(LONG)" RECURSE=0 $(CTARGET)
547 $(MAKE) $(MAKEOPT) -f mod_usertrack.mak CFG="mod_usertrack - Win32 $(LONG)" RECURSE=0 $(CTARGET)
548 $(MAKE) $(MAKEOPT) -f mod_version.mak CFG="mod_version - Win32 $(LONG)" RECURSE=0 $(CTARGET)
551 $(MAKE) $(MAKEOPT) -f mod_proxy.mak CFG="mod_proxy - Win32 $(LONG)" RECURSE=0 $(CTARGET)
552 $(MAKE) $(MAKEOPT) -f mod_proxy_ajp.mak CFG="mod_proxy_ajp - Win32 $(LONG)" RECURSE=0 $(CTARGET)
553 $(MAKE) $(MAKEOPT) -f mod_proxy_balancer.mak CFG="mod_proxy_balancer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
554 $(MAKE) $(MAKEOPT) -f mod_proxy_connect.mak CFG="mod_proxy_connect - Win32 $(LONG)" RECURSE=0 $(CTARGET)
555 $(MAKE) $(MAKEOPT) -f mod_proxy_express.mak CFG="mod_proxy_express - Win32 $(LONG)" RECURSE=0 $(CTARGET)
556 $(MAKE) $(MAKEOPT) -f mod_proxy_fcgi.mak CFG="mod_proxy_fcgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
557 $(MAKE) $(MAKEOPT) -f mod_proxy_ftp.mak CFG="mod_proxy_ftp - Win32 $(LONG)" RECURSE=0 $(CTARGET)
558 $(MAKE) $(MAKEOPT) -f mod_proxy_http.mak CFG="mod_proxy_http - Win32 $(LONG)" RECURSE=0 $(CTARGET)
559 $(MAKE) $(MAKEOPT) -f mod_proxy_scgi.mak CFG="mod_proxy_scgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
560 $(MAKE) $(MAKEOPT) -f mod_proxy_wstunnel.mak CFG="mod_proxy_wstunnel - Win32 $(LONG)" RECURSE=0 $(CTARGET)
561 !IF EXIST("srclib\serf")
562 $(MAKE) $(MAKEOPT) -f mod_serf.mak CFG="mod_serf - Win32 $(LONG)" RECURSE=0 $(CTARGET)
565 cd modules\proxy\balancers
566 $(MAKE) $(MAKEOPT) -f mod_lbmethod_bybusyness.mak CFG="mod_lbmethod_bybusyness - Win32 $(LONG)" RECURSE=0 $(CTARGET)
567 $(MAKE) $(MAKEOPT) -f mod_lbmethod_byrequests.mak CFG="mod_lbmethod_byrequests - Win32 $(LONG)" RECURSE=0 $(CTARGET)
568 $(MAKE) $(MAKEOPT) -f mod_lbmethod_bytraffic.mak CFG="mod_lbmethod_bytraffic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
569 $(MAKE) $(MAKEOPT) -f mod_lbmethod_heartbeat.mak CFG="mod_lbmethod_heartbeat - Win32 $(LONG)" RECURSE=0 $(CTARGET)
572 cd modules\proxy\examples
573 $(MAKE) $(MAKEOPT) -f mod_lbmethod_rr.mak CFG="mod_lbmethod_rr - Win32 $(LONG)" RECURSE=0 $(CTARGET)
577 $(MAKE) $(MAKEOPT) -f mod_session.mak CFG="mod_session - Win32 $(LONG)" RECURSE=0 $(CTARGET)
578 $(MAKE) $(MAKEOPT) -f mod_session_cookie.mak CFG="mod_session_cookie - Win32 $(LONG)" RECURSE=0 $(CTARGET)
579 $(MAKE) $(MAKEOPT) -f mod_session_dbd.mak CFG="mod_session_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
582 $(MAKE) $(MAKEOPT) -f mod_slotmem_plain.mak CFG="mod_slotmem_plain - Win32 $(LONG)" RECURSE=0 $(CTARGET)
583 $(MAKE) $(MAKEOPT) -f mod_slotmem_shm.mak CFG="mod_slotmem_shm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
585 !IF EXIST("srclib\openssl")
587 # $(MAKE) $(MAKEOPT) -f mod_session_crypto.mak CFG="mod_session_crypto - Win32 $(LONG)" RECURSE=0 $(CTARGET)
590 $(MAKE) $(MAKEOPT) -f mod_ssl.mak CFG="mod_ssl - Win32 $(LONG)" RECURSE=0 $(CTARGET)
593 $(MAKE) $(MAKEOPT) -f abs.mak CFG="abs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
597 $(MAKE) $(MAKEOPT) -f ab.mak CFG="ab - Win32 $(LONG)" RECURSE=0 $(CTARGET)
598 # $(MAKE) $(MAKEOPT) -f fcgistarter.mak CFG="fcgistarter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
599 $(MAKE) $(MAKEOPT) -f htcacheclean.mak CFG="htcacheclean - Win32 $(LONG)" RECURSE=0 $(CTARGET)
600 $(MAKE) $(MAKEOPT) -f htdbm.mak CFG="htdbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
601 $(MAKE) $(MAKEOPT) -f htdigest.mak CFG="htdigest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
602 $(MAKE) $(MAKEOPT) -f htpasswd.mak CFG="htpasswd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
603 $(MAKE) $(MAKEOPT) -f httxt2dbm.mak CFG="httxt2dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
604 $(MAKE) $(MAKEOPT) -f logresolve.mak CFG="logresolve - Win32 $(LONG)" RECURSE=0 $(CTARGET)
605 $(MAKE) $(MAKEOPT) -f rotatelogs.mak CFG="rotatelogs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
608 $(MAKE) $(MAKEOPT) -f ApacheMonitor.mak CFG="ApacheMonitor - Win32 $(LONG)" RECURSE=0 $(CTARGET)
609 $(MAKE) $(MAKEOPT) -f wintty.mak CFG="wintty - Win32 $(LONG)" RECURSE=0 $(CTARGET)
612 !ELSEIF $(USESLN) == 1
615 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/clean" _build
618 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug CTARGET="/clean" _build
621 echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
623 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project BuildAll
625 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project BuildBin
627 !IF EXIST("srclib\openssl")
628 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_ssl
629 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project abs
631 !IF EXIST("srclib\zlib")
632 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_deflate
634 !IF EXIST("srclib\lua")
635 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_lua
637 !IF EXIST("srclib\libxml2")
638 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_proxy_html
639 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_xml2enc
641 !IF EXIST("srclib\serf")
642 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_serf
648 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/CLEAN" _build
651 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug CTARGET="/CLEAN" _build
654 @echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
656 @msdev $(TLP).dsw /USEENV /MAKE \
657 "BuildAll - Win32 $(LONG)" $(CTARGET)
659 @msdev $(TLP).dsw /USEENV /MAKE \
660 "BuildBin - Win32 $(LONG)" $(CTARGET)
662 !IF "$(CTARGET)" == "/CLEAN"
663 !IF EXIST("srclib\apr-iconv")
665 @$(MAKE) $(MAKEOPT) -f build\modules.mk.win clean \
666 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=.
670 !IF EXIST("srclib\openssl")
671 @msdev $(TLP).dsw /USEENV /MAKE \
672 "mod_ssl - Win32 $(LONG)" \
673 "abs - Win32 $(LONG)" /NORECURSE $(CTARGET)
675 !IF EXIST("srclib\zlib")
676 @msdev $(TLP).dsw /USEENV /MAKE \
677 "mod_deflate - Win32 $(LONG)" /NORECURSE $(CTARGET)
679 !IF EXIST("srclib\lua")
680 @msdev $(TLP).dsw /USEENV /MAKE \
681 "mod_lua - Win32 $(LONG)" /NORECURSE $(CTARGET)
683 !IF EXIST("srclib\libxml2")
684 @msdev $(TLP).dsw /USEENV /MAKE \
685 "mod_proxy_html - Win32 $(LONG)" /NORECURSE $(CTARGET)
686 @msdev $(TLP).dsw /USEENV /MAKE \
687 "mod_xml2enc - Win32 $(LONG)" /NORECURSE $(CTARGET)
689 !IF EXIST("srclib\serf")
690 @msdev $(TLP).dsw /USEENV /MAKE \
691 "mod_serf - Win32 $(LONG)" /NORECURSE $(CTARGET)
698 copy $(LONG)\httpd.$(src_exe) "$(inst_exe)" <.y
699 copy $(LONG)\libhttpd.$(src_dll) "$(inst_dll)" <.y
700 copy srclib\apr\$(LONG)\libapr-1.$(src_dll) "$(inst_dll)" <.y
701 !IF EXIST("srclib\apr-util")
702 copy srclib\apr-iconv\$(LONG)\libapriconv-1.$(src_dll) "$(inst_dll)" <.y
703 copy srclib\apr-util\$(LONG)\libaprutil-1.$(src_dll) "$(inst_dll)" <.y
704 copy srclib\apr-util\ldap\$(LONG)\apr_ldap-1.$(src_dll) "$(inst_dll)" <.y
706 for %d in (odbc $(DBD_LIST)) do ( \
707 copy srclib\$(UTILDIR)\dbd\$(LONG)\apr_dbd_%d-1.$(src_dll) "$(inst_dll)" <.y \
709 for %d in ($(DBM_LIST) x) do if not %d == x ( \
710 copy srclib\$(UTILDIR)\dbm\$(LONG)\apr_dbm_%d-1.$(src_dll) "$(inst_dll)" <.y \
712 !IF EXIST("srclib\serf")
713 copy srclib\serf\$(LONG)\libserf.$(src_dll) "$(inst_dll)" <.y
715 copy srclib\pcre\pcre.$(src_dll) "$(inst_dll)" <.y
716 copy modules\aaa\$(LONG)\mod_access_compat.$(src_so) "$(inst_so)" <.y
717 copy modules\aaa\$(LONG)\mod_allowhandlers.$(src_so) "$(inst_so)" <.y
718 copy modules\aaa\$(LONG)\mod_allowmethods.$(src_so) "$(inst_so)" <.y
719 copy modules\aaa\$(LONG)\mod_auth_basic.$(src_so) "$(inst_so)" <.y
720 copy modules\aaa\$(LONG)\mod_auth_digest.$(src_so) "$(inst_so)" <.y
721 copy modules\aaa\$(LONG)\mod_auth_form.$(src_so) "$(inst_so)" <.y
722 copy modules\aaa\$(LONG)\mod_authn_anon.$(src_so) "$(inst_so)" <.y
723 copy modules\aaa\$(LONG)\mod_authn_core.$(src_so) "$(inst_so)" <.y
724 copy modules\aaa\$(LONG)\mod_authn_dbd.$(src_so) "$(inst_so)" <.y
725 copy modules\aaa\$(LONG)\mod_authn_dbm.$(src_so) "$(inst_so)" <.y
726 copy modules\aaa\$(LONG)\mod_authn_file.$(src_so) "$(inst_so)" <.y
727 copy modules\aaa\$(LONG)\mod_authn_socache.$(src_so) "$(inst_so)" <.y
728 copy modules\aaa\$(LONG)\mod_authnz_ldap.$(src_so) "$(inst_so)" <.y
729 copy modules\aaa\$(LONG)\mod_authz_core.$(src_so) "$(inst_so)" <.y
730 copy modules\aaa\$(LONG)\mod_authz_dbd.$(src_so) "$(inst_so)" <.y
731 copy modules\aaa\$(LONG)\mod_authz_dbm.$(src_so) "$(inst_so)" <.y
732 copy modules\aaa\$(LONG)\mod_authz_core.$(src_so) "$(inst_so)" <.y
733 copy modules\aaa\$(LONG)\mod_authz_groupfile.$(src_so) "$(inst_so)" <.y
734 copy modules\aaa\$(LONG)\mod_authz_host.$(src_so) "$(inst_so)" <.y
735 copy modules\aaa\$(LONG)\mod_authz_owner.$(src_so) "$(inst_so)" <.y
736 copy modules\aaa\$(LONG)\mod_authz_user.$(src_so) "$(inst_so)" <.y
737 copy modules\arch\win32\$(LONG)\mod_isapi.$(src_so) "$(inst_so)" <.y
738 copy modules\cache\$(LONG)\mod_cache.$(src_so) "$(inst_so)" <.y
739 copy modules\cache\$(LONG)\mod_cache_disk.$(src_so) "$(inst_so)" <.y
740 copy modules\cache\$(LONG)\mod_cache_socache.$(src_so) "$(inst_so)" <.y
741 copy modules\cache\$(LONG)\mod_file_cache.$(src_so) "$(inst_so)" <.y
742 copy modules\cache\$(LONG)\mod_socache_dbm.$(src_so) "$(inst_so)" <.y
743 # copy modules\cache\$(LONG)\mod_socache_dc.$(src_so) "$(inst_so)" <.y
744 copy modules\cache\$(LONG)\mod_socache_memcache.$(src_so) "$(inst_so)" <.y
745 copy modules\cache\$(LONG)\mod_socache_shmcb.$(src_so) "$(inst_so)" <.y
746 copy modules\core\$(LONG)\mod_macro.$(src_so) "$(inst_so)" <.y
747 copy modules\core\$(LONG)\mod_watchdog.$(src_so) "$(inst_so)" <.y
748 copy modules\cluster\$(LONG)\mod_heartbeat.$(src_so) "$(inst_so)" <.y
749 copy modules\cluster\$(LONG)\mod_heartmonitor.$(src_so) "$(inst_so)" <.y
750 copy modules\database\$(LONG)\mod_dbd.$(src_so) "$(inst_so)" <.y
751 copy modules\dav\fs\$(LONG)\mod_dav_fs.$(src_so) "$(inst_so)" <.y
752 copy modules\dav\lock\$(LONG)\mod_dav_lock.$(src_so) "$(inst_so)" <.y
753 copy modules\dav\main\$(LONG)\mod_dav.$(src_so) "$(inst_so)" <.y
755 copy modules\debugging\$(LONG)\mod_bucketeer.$(src_so) "$(inst_so)" <.y
757 copy modules\debugging\$(LONG)\mod_dumpio.$(src_so) "$(inst_so)" <.y
759 copy modules\echo\$(LONG)\mod_echo.$(src_so) "$(inst_so)" <.y
760 copy modules\examples\$(LONG)\mod_case_filter.$(src_so) "$(inst_so)" <.y
761 copy modules\examples\$(LONG)\mod_case_filter_in.$(src_so) "$(inst_so)" <.y
762 copy modules\examples\$(LONG)\mod_example_hooks.$(src_so) "$(inst_so)" <.y
763 copy modules\examples\$(LONG)\mod_example_ipc.$(src_so) "$(inst_so)" <.y
765 copy modules\filters\$(LONG)\mod_buffer.$(src_so) "$(inst_so)" <.y
766 copy modules\filters\$(LONG)\mod_charset_lite.$(src_so) "$(inst_so)" <.y
767 copy modules\filters\$(LONG)\mod_data.$(src_so) "$(inst_so)" <.y
768 !IF EXIST("srclib\zlib")
769 copy modules\filters\$(LONG)\mod_deflate.$(src_so) "$(inst_so)" <.y
770 !IF EXIST("srclib\zlib\zlib1.$(src_dll)")
771 copy srclib\zlib\zlib1.$(src_dll) "$(inst_dll)" <.y
774 copy modules\filters\$(LONG)\mod_ext_filter.$(src_so) "$(inst_so)" <.y
775 copy modules\filters\$(LONG)\mod_filter.$(src_so) "$(inst_so)" <.y
776 copy modules\filters\$(LONG)\mod_include.$(src_so) "$(inst_so)" <.y
777 !IF EXIST("srclib\libxml2")
778 copy modules\filters\$(LONG)\mod_proxy_html.$(src_so) "$(inst_so)" <.y
779 copy modules\filters\$(LONG)\mod_xml2enc.$(src_so) "$(inst_so)" <.y
780 !IF EXIST("srclib\libxml2\win32\bin.msvc\libxml2.$(src_dll)")
781 copy srclib\libxml2\win32\bin.msvc\libxml2.$(src_dll) "$(inst_dll)" <.y
784 copy modules\filters\$(LONG)\mod_ratelimit.$(src_so) "$(inst_so)" <.y
785 copy modules\filters\$(LONG)\mod_reflector.$(src_so) "$(inst_so)" <.y
786 copy modules\filters\$(LONG)\mod_reqtimeout.$(src_so) "$(inst_so)" <.y
787 copy modules\filters\$(LONG)\mod_request.$(src_so) "$(inst_so)" <.y
788 copy modules\filters\$(LONG)\mod_sed.$(src_so) "$(inst_so)" <.y
789 copy modules\filters\$(LONG)\mod_substitute.$(src_so) "$(inst_so)" <.y
790 copy modules\generators\$(LONG)\mod_asis.$(src_so) "$(inst_so)" <.y
791 copy modules\generators\$(LONG)\mod_autoindex.$(src_so) "$(inst_so)" <.y
792 copy modules\generators\$(LONG)\mod_cgi.$(src_so) "$(inst_so)" <.y
793 copy modules\generators\$(LONG)\mod_info.$(src_so) "$(inst_so)" <.y
794 copy modules\generators\$(LONG)\mod_status.$(src_so) "$(inst_so)" <.y
795 copy modules\http\$(LONG)\mod_mime.$(src_so) "$(inst_so)" <.y
796 copy modules\ldap\$(LONG)\mod_ldap.$(src_so) "$(inst_so)" <.y
797 copy modules\loggers\$(LONG)\mod_log_config.$(src_so) "$(inst_so)" <.y
798 copy modules\loggers\$(LONG)\mod_log_debug.$(src_so) "$(inst_so)" <.y
799 copy modules\loggers\$(LONG)\mod_log_forensic.$(src_so) "$(inst_so)" <.y
800 copy modules\loggers\$(LONG)\mod_logio.$(src_so) "$(inst_so)" <.y
801 !IF EXIST("srclib\lua")
802 copy modules\lua\$(LONG)\mod_lua.$(src_so) "$(inst_so)" <.y
803 !IF EXIST("srclib\lua\src\lua51.$(src_dll)")
804 copy srclib\lua\src\lua51.$(src_dll) "$(inst_dll)" <.y
807 copy modules\mappers\$(LONG)\mod_actions.$(src_so) "$(inst_so)" <.y
808 copy modules\mappers\$(LONG)\mod_alias.$(src_so) "$(inst_so)" <.y
809 copy modules\mappers\$(LONG)\mod_dir.$(src_so) "$(inst_so)" <.y
810 copy modules\mappers\$(LONG)\mod_imagemap.$(src_so) "$(inst_so)" <.y
811 copy modules\mappers\$(LONG)\mod_negotiation.$(src_so) "$(inst_so)" <.y
812 copy modules\mappers\$(LONG)\mod_rewrite.$(src_so) "$(inst_so)" <.y
813 copy modules\mappers\$(LONG)\mod_speling.$(src_so) "$(inst_so)" <.y
814 copy modules\mappers\$(LONG)\mod_userdir.$(src_so) "$(inst_so)" <.y
815 copy modules\mappers\$(LONG)\mod_vhost_alias.$(src_so) "$(inst_so)" <.y
816 copy modules\metadata\$(LONG)\mod_cern_meta.$(src_so) "$(inst_so)" <.y
817 copy modules\metadata\$(LONG)\mod_env.$(src_so) "$(inst_so)" <.y
818 copy modules\metadata\$(LONG)\mod_expires.$(src_so) "$(inst_so)" <.y
819 copy modules\metadata\$(LONG)\mod_headers.$(src_so) "$(inst_so)" <.y
820 copy modules\metadata\$(LONG)\mod_ident.$(src_so) "$(inst_so)" <.y
821 copy modules\metadata\$(LONG)\mod_mime_magic.$(src_so) "$(inst_so)" <.y
822 copy modules\metadata\$(LONG)\mod_remoteip.$(src_so) "$(inst_so)" <.y
823 copy modules\metadata\$(LONG)\mod_setenvif.$(src_so) "$(inst_so)" <.y
824 copy modules\metadata\$(LONG)\mod_unique_id.$(src_so) "$(inst_so)" <.y
825 copy modules\metadata\$(LONG)\mod_usertrack.$(src_so) "$(inst_so)" <.y
826 copy modules\metadata\$(LONG)\mod_version.$(src_so) "$(inst_so)" <.y
827 copy modules\proxy\$(LONG)\mod_proxy.$(src_so) "$(inst_so)" <.y
828 copy modules\proxy\$(LONG)\mod_proxy_ajp.$(src_so) "$(inst_so)" <.y
829 copy modules\proxy\$(LONG)\mod_proxy_balancer.$(src_so) "$(inst_so)" <.y
830 copy modules\proxy\$(LONG)\mod_proxy_connect.$(src_so) "$(inst_so)" <.y
831 copy modules\proxy\$(LONG)\mod_proxy_express.$(src_so) "$(inst_so)" <.y
832 copy modules\proxy\$(LONG)\mod_proxy_fcgi.$(src_so) "$(inst_so)" <.y
833 copy modules\proxy\$(LONG)\mod_proxy_ftp.$(src_so) "$(inst_so)" <.y
834 copy modules\proxy\$(LONG)\mod_proxy_http.$(src_so) "$(inst_so)" <.y
835 copy modules\proxy\$(LONG)\mod_proxy_scgi.$(src_so) "$(inst_so)" <.y
836 copy modules\proxy\$(LONG)\mod_proxy_wstunnel.$(src_so) "$(inst_so)" <.y
837 !IF EXIST("srclib\serf")
838 copy modules\proxy\$(LONG)\mod_serf.$(src_so) "$(inst_so)" <.y
840 copy modules\proxy\balancers\$(LONG)\mod_lbmethod_bybusyness.$(src_so) "$(inst_so)" <.y
841 copy modules\proxy\balancers\$(LONG)\mod_lbmethod_byrequests.$(src_so) "$(inst_so)" <.y
842 copy modules\proxy\balancers\$(LONG)\mod_lbmethod_bytraffic.$(src_so) "$(inst_so)" <.y
843 copy modules\proxy\balancers\$(LONG)\mod_lbmethod_heartbeat.$(src_so) "$(inst_so)" <.y
845 copy modules\proxy\examples\$(LONG)\mod_lbmethod_rr.$(src_so) "$(inst_so)" <.y
847 copy modules\session\$(LONG)\mod_session.$(src_so) "$(inst_so)" <.y
848 copy modules\session\$(LONG)\mod_session_cookie.$(src_so) "$(inst_so)" <.y
849 copy modules\session\$(LONG)\mod_session_dbd.$(src_so) "$(inst_so)" <.y
850 copy modules\slotmem\$(LONG)\mod_slotmem_plain.$(src_so) "$(inst_so)" <.y
851 copy modules\slotmem\$(LONG)\mod_slotmem_shm.$(src_so) "$(inst_so)" <.y
852 !IF EXIST("srclib\openssl")
853 # copy modules\session\$(LONG)\mod_session_crypto.$(src_so) "$(inst_so)" <.y
854 copy modules\ssl\$(LONG)\mod_ssl.$(src_so) "$(inst_so)" <.y
855 -copy srclib\openssl\$(SSLBIN)\libeay32.$(src_dll) "$(inst_dll)" <.y
856 -copy srclib\openssl\$(SSLBIN)\ssleay32.$(src_dll) "$(inst_dll)" <.y
857 -copy srclib\openssl\$(SSLBIN)\openssl.$(src_exe) "$(inst_exe)" <.y
858 copy support\$(LONG)\abs.$(src_exe) "$(inst_exe)" <.y
860 copy support\$(LONG)\ab.$(src_exe) "$(inst_exe)" <.y
861 # copy support\$(LONG)\fcgistarter.$(src_exe) "$(inst_exe)" <.y
862 copy support\$(LONG)\htcacheclean.$(src_exe) "$(inst_exe)" <.y
863 copy support\$(LONG)\htdbm.$(src_exe) "$(inst_exe)" <.y
864 copy support\$(LONG)\htdigest.$(src_exe) "$(inst_exe)" <.y
865 copy support\$(LONG)\htpasswd.$(src_exe) "$(inst_exe)" <.y
866 copy support\$(LONG)\httxt2dbm.$(src_exe) "$(inst_exe)" <.y
867 copy support\$(LONG)\logresolve.$(src_exe) "$(inst_exe)" <.y
868 copy support\$(LONG)\rotatelogs.$(src_exe) "$(inst_exe)" <.y
869 copy support\win32\$(LONG)\ApacheMonitor.$(src_exe) "$(inst_exe)" <.y
870 copy support\win32\$(LONG)\wintty.$(src_exe) "$(inst_exe)" <.y
873 # First we create the tree and populate the README so that
874 # whatever happens, all licensing has already propagated.
875 # Then repeatedly invoke the _copybin build to copy the
876 # real binaries, then pdb symbols, anf finally dbg syms.
877 # Then hit docs of various sorts, then includes and libs,
878 # and finally do the .conf magic.
884 -mkdir "$(INSTDIR)\bin"
885 !IF EXIST("srclib\apr-util")
886 -mkdir "$(INSTDIR)\bin\iconv"
888 -mkdir "$(INSTDIR)\cgi-bin"
889 -mkdir "$(INSTDIR)\conf"
890 -mkdir "$(INSTDIR)\conf\extra"
891 -mkdir "$(INSTDIR)\conf\original"
892 -mkdir "$(INSTDIR)\conf\original\extra"
893 -mkdir "$(INSTDIR)\error"
894 -mkdir "$(INSTDIR)\htdocs"
895 -mkdir "$(INSTDIR)\manual"
896 -mkdir "$(INSTDIR)\icons"
897 -mkdir "$(INSTDIR)\include"
898 -mkdir "$(INSTDIR)\lib"
899 -mkdir "$(INSTDIR)\logs"
900 -mkdir "$(INSTDIR)\modules"
901 copy ABOUT_APACHE "$(INSTDIR)\ABOUT_APACHE.txt" <.y
902 copy CHANGES "$(INSTDIR)\CHANGES.txt" <.y
903 copy INSTALL "$(INSTDIR)\INSTALL.txt" <.y
904 copy LICENSE "$(INSTDIR)\LICENSE.txt" <.y
905 copy NOTICE "$(INSTDIR)\NOTICE.txt" <.y
906 copy README "$(INSTDIR)\README.txt" <.y
907 type << >> "$(INSTDIR)\NOTICE.txt"
909 Regular expression support is provided by the PCRE library package,
910 which is open source software, written by Philip Hazel, and copyright
911 by the University of Cambridge, England. The original software is
913 ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
915 -awk -f <<script1.awk < "srclib\pcre\LICENCE" >> "$(INSTDIR)\LICENSE.txt"
918 print "For the pcre.dll component:";
920 while ( getline > 0 ) {
921 if ( $$0 ~ /^End$$/ ) $$0 = "END OF PCRE LICENSE";
926 !IF EXIST("srclib\openssl")
927 -copy srclib\openssl\apps\openssl.cnf "$(INSTDIR)\conf\openssl.cnf" <.y
928 type << >> "$(INSTDIR)\NOTICE.txt"
930 This binary distribution includes cryptographic software written by
931 Eric Young (eay@cryptsoft.com), software written by Tim Hudson
932 (tjh@cryptsoft.com), and software developed by the OpenSSL Project
933 for use in the OpenSSL Toolkit <http://www.openssl.org/>.
935 -awk -f <<script.awk < "srclib\openssl\LICENSE" >> "$(INSTDIR)\LICENSE.txt"
938 print "For the libeay32.dll, ssleay32.dll and openssl.exe components:";
940 while ( getline > 0 ) {
945 copy << "$(INSTDIR)\OPENSSL-NEWS.txt" <.y
947 Apache HTTP Server 2.5 Limited OpenSSL Distribution
949 This binary distribution includes the minimal components of OpenSSL required
950 to support mod_ssl for Apache HTTP Server version 2.5 (details are listed
951 in OPENSSL-README.txt.) For the complete list of CHANGES to this and later
952 versions of OpenSSL, please refer to the definative source,
953 <http://www.openssl.org/news/changelog.html>, or see the CHANGES file in the
954 full binary or source distribution package from <http://www.openssl.org/>.
956 These OpenSSL binaries were built for distribution from the U.S. without
957 support for the patented encryption methods IDEA, MDC-2 or RC5.
959 --------------------------------------------------------------------------------
962 -copy "$(INSTDIR)\OPENSSL-NEWS.txt" \
963 + srclib\openssl\NEWS "$(INSTDIR)\OPENSSL-NEWS.txt"
964 copy << "$(INSTDIR)\OPENSSL-README.txt" <.y
966 Apache HTTP Server 2.5 Limited OpenSSL Distribution
968 This binary installation of OpenSSL is a limited distribution of the
969 files derived from the OpenSSL project:
971 LICENSE.txt (includes openssl LICENSE)
979 These are the minimal libraries and tools required to use mod_ssl as
980 distributed with Apache HTTP Server version 2.5. No library link files,
981 headers or sources are distributed with this binary distribution. Please
982 refer to the <http://www.openssl.org/> site for complete source or binary
985 These OpenSSL binaries were built for distribution from the U.S. without
986 support for the patented encryption methods IDEA, MDC-2 or RC5.
988 The Apache HTTP Project only supports the binary distribution of these files
989 and development of the mod_ssl module. We cannot provide support assistance
990 for using or configuring the OpenSSL package or these modules. Please refer
991 all installation and configuration questions to the appropriate forum,
992 such as the user supported lists, <http://httpd.apache.org/userslist.html>
993 the Apache HTTP Server user's list or <http://www.openssl.org/support/> the
994 OpenSSL support page.
996 --------------------------------------------------------------------------------
999 -copy "$(INSTDIR)\OPENSSL-README.txt" \
1000 + srclib\openssl\README "$(INSTDIR)\OPENSSL-README.txt"
1002 !IF EXIST("srclib\zlib")
1003 type << >> "$(INSTDIR)\NOTICE.txt"
1005 This binary distribution of mod_deflate.so includes zlib compression code
1006 <http://www.gzip.org/zlib/> written by Jean-loup Gailly (jloup@gzip.org)
1007 and Mark Adler (madler@alumni.caltech.edu) .
1009 -awk -f <<script.awk < "srclib\zlib\README" >> "$(INSTDIR)\LICENSE.txt"
1011 while ( getline > 0 ) {
1012 if ( $$0 ~ /Copyright notice:/ ) {
1014 print "For the mod_deflate zlib compression component:";
1015 while ( getline > 0 && $$0 !~ /^[^ ]/ ) {
1025 !IF EXIST("srclib\lua")
1026 type << >> "$(INSTDIR)\NOTICE.txt"
1028 This binary distribution of mod_lua.so includes the Lua language,
1029 developed at Lua.org, a laboratory of the Department of Computer Science
1030 of PUC-Rio (the Pontifical Catholic University of Rio de Janeiro in Brazil).
1031 For complete information, visit Lua's web site at http://www.lua.org/
1033 -awk -f <<script.awk < "srclib\lua\COPYRIGHT" >> "$(INSTDIR)\LICENSE.txt"
1036 print "For the mod_lua language component:";
1038 while ( getline > 0 && $$0 !~ /end of COPYRIGHT/ ) {
1045 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=$(SHORT) LONG=$(LONG) \
1046 _copybin src_exe=exe src_dll=dll src_so=so \
1047 inst_exe="$(INSTDIR)\bin" \
1048 inst_dll="$(INSTDIR)\bin" \
1049 inst_so="$(INSTDIR)\modules"
1050 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=$(SHORT) LONG=$(LONG) \
1051 _copybin src_exe=pdb src_dll=pdb src_so=pdb \
1052 inst_exe="$(INSTDIR)\bin" \
1053 inst_dll="$(INSTDIR)\bin" \
1054 inst_so="$(INSTDIR)\modules"
1055 !IF EXIST("srclib\apr-util")
1057 $(MAKE) $(MAKEOPT) -f build\modules.mk.win install \
1058 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=. \
1059 INSTALL_DIR="$(INSTDIR)\bin\iconv"
1062 copy docs\cgi-examples\printenv "$(INSTDIR)\cgi-bin\printenv.pl" <.y
1063 copy docs\cgi-examples\printenv.vbs "$(INSTDIR)\cgi-bin\printenv.vbs" <.y
1064 copy docs\cgi-examples\printenv.wsf "$(INSTDIR)\cgi-bin\printenv.wsf" <.y
1065 xcopy docs\error "$(INSTDIR)\error" /s /d < .a
1066 xcopy docs\docroot "$(INSTDIR)\htdocs" /d < .a
1067 xcopy docs\icons "$(INSTDIR)\icons" /s /d < .a
1068 xcopy docs\manual "$(INSTDIR)\manual" /s /d < .a
1070 srclib\expat\lib\expat.h \
1071 srclib\apr-util\xml\expat\lib\expat.h \
1072 srclib\apr\include\*.h \
1073 srclib\apr-util\include\*.h \
1074 !IF EXIST("srclib\serf")
1079 modules\cache\mod_cache.h \
1080 modules\cache\cache_common.h \
1081 modules\core\mod_so.h \
1082 modules\core\mod_watchdog.h \
1083 modules\database\mod_dbd.h \
1084 modules\dav\main\mod_dav.h \
1085 modules\filters\mod_include.h \
1086 modules\generators\mod_cgi.h \
1087 modules\generators\mod_status.h \
1088 modules\loggers\mod_log_config.h \
1089 modules\mappers\mod_rewrite.h \
1090 modules\proxy\mod_proxy.h \
1091 modules\proxy\mod_serf.h \
1092 modules\ssl\mod_ssl.h \
1094 @copy %f "$(INSTDIR)\include" < .y > nul
1095 copy srclib\apr\Lib$(SHORT)\apr-1.lib "$(INSTDIR)\lib" <.y
1096 copy srclib\apr\Lib$(SHORT)\apr-1.pdb "$(INSTDIR)\lib" <.y
1097 copy srclib\apr\$(LONG)\libapr-1.lib "$(INSTDIR)\lib" <.y
1098 copy srclib\apr\$(LONG)\libapr-1.exp "$(INSTDIR)\lib" <.y
1099 !IF EXIST("srclib\apr-util")
1100 copy srclib\apr-util\Lib$(SHORT)\aprutil-1.lib "$(INSTDIR)\lib" <.y
1101 copy srclib\apr-util\Lib$(SHORT)\aprutil-1.pdb "$(INSTDIR)\lib" <.y
1102 copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml.lib "$(INSTDIR)\lib" <.y
1103 copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml.pdb "$(INSTDIR)\lib" <.y
1104 copy srclib\apr-util\$(LONG)\libaprutil-1.lib "$(INSTDIR)\lib" <.y
1105 copy srclib\apr-util\$(LONG)\libaprutil-1.exp "$(INSTDIR)\lib" <.y
1106 copy srclib\apr-iconv\$(LONG)\libapriconv-1.lib "$(INSTDIR)\lib" <.y
1107 copy srclib\apr-iconv\$(LONG)\libapriconv-1.exp "$(INSTDIR)\lib" <.y
1109 copy srclib\expat\win32\$(LONG)\libexpatMT.lib "$(INSTDIR)\lib" <.y
1110 copy srclib\expat\win32\$(LONG)\libexpatMT.exp "$(INSTDIR)\lib" <.y
1111 copy srclib\expat\win32\$(LONG)\libexpat.lib "$(INSTDIR)\lib" <.y
1112 copy srclib\expat\win32\$(LONG)\libexpat.exp "$(INSTDIR)\lib" <.y
1113 copy srclib\expat\win32\$(LONG)\libexpat.dll "$(INSTDIR)\bin" <.y
1115 !IF EXIST("srclib\serf")
1116 copy srclib\serf\$(LONG)\libserf.lib "$(INSTDIR)\lib" <.y
1117 copy srclib\serf\$(LONG)\libserf.exp "$(INSTDIR)\lib" <.y
1119 copy $(LONG)\libhttpd.exp "$(INSTDIR)\lib" <.y
1120 copy $(LONG)\libhttpd.lib "$(INSTDIR)\lib" <.y
1121 copy modules\dav\main\$(LONG)\mod_dav.exp "$(INSTDIR)\lib" <.y
1122 copy modules\dav\main\$(LONG)\mod_dav.lib "$(INSTDIR)\lib" <.y
1123 for %f in ( charset.conv magic mime.types ) do ( \
1124 copy docs\conf\%f "$(INSTDIR)\conf\original\%f" <.y )
1125 awk -f build\installwinconf.awk $(DOMAINNAME) $(SERVERNAME) \
1126 $(SERVERADMIN) $(PORT) $(SSLPORT) "$(INSTDIR) " docs/conf/
1127 copy "support\dbmmanage.in" "$(INSTDIR)\bin\dbmmanage.pl"
1128 -awk -f <<script.awk "support/dbmmanage.in" >"$(INSTDIR)\bin\dbmmanage.pl"
1129 { if ( $$0 ~ /^BEGIN \{ @AnyDBM_File::/ ) {
1130 sub( /ISA = qw\(.*\)/, "ISA = qw(SDBM_File)" );
1132 if ( $$0 !~ /^#!@perlbin@/ )
1140 !IF EXIST("$(INSTDIR)\cgi-bin")
1141 -awk -f <<script.awk "docs/cgi-examples/printenv" > "$(INSTDIR)\cgi-bin\printenv.pl"
1143 if ( "perl -e \"print $$^X;\"" | getline perlroot ) {
1144 gsub( /\\/, "/", perlroot );
1145 print "#!" perlroot;
1149 if ( $$0 !~ /^#!/ ) {
1154 -cscript -nologo <<script.vbs "docs/cgi-examples/printenv.vbs" "$(INSTDIR)\cgi-bin\printenv.vbs"
1156 Set fso = CreateObject("Scripting.FileSystemObject")
1157 Set f = fso.OpenTextFile(WScript.Arguments(0), 1)
1161 Set f = fso.OpenTextFile(WScript.Arguments(1), 2, TRUE)
1162 f.WriteLine "'!" & Replace(WScript.FullName, "\", "/") & " -nologo"
1166 -cscript -nologo <<script.vbs "docs/cgi-examples/printenv.wsf" "$(INSTDIR)\cgi-bin\printenv.wsf"
1168 Set fso = CreateObject("Scripting.FileSystemObject")
1169 Set f = fso.OpenTextFile(WScript.Arguments(0), 1)
1173 Set f = fso.OpenTextFile(WScript.Arguments(1), 2, TRUE)
1174 f.WriteLine "'!" & Replace(WScript.FullName, "\", "/") & " -nologo"