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.
248 !IF EXIST("srclib\nghttp2")
253 $(MAKE) $(MAKEOPT) -f mod_http2.mak CFG="mod_http2 - Win32 $(LONG)" RECURSE=0 $(CTARGET)
255 !ELSEIF $(USESLN) == 1
256 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_http2
258 @msdev $(TLP).dsw /USEENV /MAKE \
259 "mod_http2 - Win32 $(LONG)" /NORECURSE $(CTARGET)
263 # NOT EXIST("srclib\nghttp2")
267 @echo mod_http2 will not build unless nghttp2 is installed in srclib\nghttp2.
268 @echo Version 1.0 includes an lib\makefile.msvc that will satisfy this
275 cd srclib\$(UTILDIR)\dbd
276 for %d in (odbc $(DBD_LIST)) do \
277 $(MAKE) $(MAKEOPT) -f apr_dbd_%d.mak CFG="apr_dbd_%d - Win32 $(LONG)" RECURSE=0 $(CTARGET)
279 for %d in ($(DBM_LIST) x) do if not %d == x \
280 $(MAKE) $(MAKEOPT) -f apr_dbm_%d.mak CFG="apr_dbm_%d - Win32 $(LONG)" RECURSE=0 $(CTARGET)
282 !ELSEIF $(USESLN) == 1
283 for %d in (odbc $(DBD_LIST)) do \
284 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project apr_dbd_%d
285 for %d in ($(DBM_LIST) x) do if not %d == x \
286 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project apr_dbm_%d
288 @for %d in (odbc $(DBD_LIST)) do \
289 msdev $(TLP).dsw /USEENV /MAKE \
290 "apr_dbd_%d - Win32 $(LONG)" /NORECURSE $(CTARGET)
291 @for %d in ($(DBM_LIST) x) do if not %d == x \
292 msdev $(TLP).dsw /USEENV /MAKE \
293 "apr_dbm_%d - Win32 $(LONG)" /NORECURSE $(CTARGET)
297 !IF "$(INSTDIR)" == ""
300 !IF "$(DOMAINNAME)" == ""
301 DOMAINNAME=example.com
303 !IF "$(SERVERNAME)" == ""
304 SERVERNAME=www.$(DOMAINNAME)
306 !IF "$(SERVERADMIN)" == ""
307 SERVERADMIN=admin@$(DOMAINNAME)
312 !IF "$(SSLPORT)" == ""
318 !MESSAGE INSTDIR = $(INSTDIR)
319 !MESSAGE DOMAINNAME = $(DOMAINNAME)
320 !MESSAGE SERVERNAME = $(SERVERNAME)
321 !MESSAGE SERVERADMIN = $(SERVERADMIN)
322 !MESSAGE PORT = $(PORT)
323 !IF EXIST("srclib\openssl")
324 !MESSAGE SSLPORT = $(SSLPORT)
327 !MESSAGE To change these options use 'nmake -f Makefile.win [option=value]'
328 !MESSAGE Example: nmake -f Makefile.win PORT=8080
334 # Only default the behavior if MAKEOPT= is omitted
336 # Microsoft NMake options
338 !ELSEIF "$(MAKE)" == "make"
339 # Borland make options? Not really supported (yet)
348 bscmake.exe -nologo -Iu -o Apache.bsc *.sbr
352 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release _build
355 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug _build
358 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release _build _install
361 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug _build _install
363 clean: _cleanr _cleand
364 -if exist Browse\. rd /s Browse < << > nul
371 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET=CLEAN _build
374 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug CTARGET=CLEAN _build
377 echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
378 !IF !EXIST("srclib\apr-util")
380 $(MAKE) $(MAKEOPT) -f expat.mak CFG="expat - Win32 $(LONG)" RECURSE=0 $(CTARGET)
384 $(MAKE) $(MAKEOPT) -f apr.mak CFG="apr - Win32 $(LONG)" RECURSE=0 $(CTARGET)
385 $(MAKE) $(MAKEOPT) -f libapr.mak CFG="libapr - Win32 $(LONG)" RECURSE=0 $(CTARGET)
387 !IF EXIST("srclib\apr-util")
389 $(MAKE) $(MAKEOPT) -f apriconv.mak CFG="apriconv - Win32 $(LONG)" RECURSE=0 $(CTARGET)
390 $(MAKE) $(MAKEOPT) -f libapriconv.mak CFG="libapriconv - Win32 $(LONG)" RECURSE=0 $(CTARGET)
391 !IF "$(CTARGET)" == "CLEAN"
392 $(MAKE) $(MAKEOPT) -f build\modules.mk.win clean \
393 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=.
396 $(MAKE) $(MAKEOPT) -f Makefile.win all \
397 BUILD_MODE=$(LONG) BIND_MODE=shared
399 $(MAKE) $(MAKEOPT) -f Makefile.win all \
400 BUILD_MODE=$(LONG) BIND_MODE=shared
404 cd srclib\apr-util\xml\expat\lib
405 $(MAKE) $(MAKEOPT) -f xml.mak CFG="xml - Win32 $(LONG)" RECURSE=0 $(CTARGET)
407 $(MAKE) $(MAKEOPT) -f aprutil.mak CFG="aprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET)
408 $(MAKE) $(MAKEOPT) -f libaprutil.mak CFG="libaprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET)
410 $(MAKE) $(MAKEOPT) -f apr_ldap.mak CFG="apr_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
413 # DBD, DBM components live now in apr
417 for %d in (odbc $(DBD_LIST)) do \
418 $(MAKE) $(MAKEOPT) -f apr_dbd_%d.mak CFG="apr_dbd_%d - Win32 $(LONG)" RECURSE=0 $(CTARGET)
421 for %d in ($(DBM_LIST) x) do if not %d == x \
422 $(MAKE) $(MAKEOPT) -f apr_dbm_%d.mak CFG="apr_dbm_%d - Win32 $(LONG)" RECURSE=0 $(CTARGET)
426 $(MAKE) $(MAKEOPT) -f gen_test_char.mak CFG="gen_test_char - Win32 $(LONG)" RECURSE=0 $(CTARGET)
428 $(MAKE) $(MAKEOPT) -f libhttpd.mak CFG="libhttpd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
429 $(MAKE) $(MAKEOPT) -f httpd.mak CFG="httpd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
430 # build ldap prior to authnz_ldap
432 $(MAKE) $(MAKEOPT) -f mod_ldap.mak CFG="mod_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
435 $(MAKE) $(MAKEOPT) -f mod_dbd.mak CFG="mod_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
438 $(MAKE) $(MAKEOPT) -f mod_access_compat.mak CFG="mod_access_compat - Win32 $(LONG)" RECURSE=0 $(CTARGET)
439 $(MAKE) $(MAKEOPT) -f mod_allowhandlers.mak CFG="mod_allowhandlers - Win32 $(LONG)" RECURSE=0 $(CTARGET)
440 $(MAKE) $(MAKEOPT) -f mod_allowmethods.mak CFG="mod_allowmethods - Win32 $(LONG)" RECURSE=0 $(CTARGET)
441 $(MAKE) $(MAKEOPT) -f mod_auth_basic.mak CFG="mod_auth_basic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
442 $(MAKE) $(MAKEOPT) -f mod_auth_digest.mak CFG="mod_auth_digest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
443 $(MAKE) $(MAKEOPT) -f mod_auth_form.mak CFG="mod_auth_form - Win32 $(LONG)" RECURSE=0 $(CTARGET)
444 $(MAKE) $(MAKEOPT) -f mod_authn_anon.mak CFG="mod_authn_anon - Win32 $(LONG)" RECURSE=0 $(CTARGET)
445 $(MAKE) $(MAKEOPT) -f mod_authn_core.mak CFG="mod_authn_core - Win32 $(LONG)" RECURSE=0 $(CTARGET)
446 $(MAKE) $(MAKEOPT) -f mod_authn_dbd.mak CFG="mod_authn_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
447 $(MAKE) $(MAKEOPT) -f mod_authn_dbm.mak CFG="mod_authn_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
448 $(MAKE) $(MAKEOPT) -f mod_authn_file.mak CFG="mod_authn_file - Win32 $(LONG)" RECURSE=0 $(CTARGET)
449 $(MAKE) $(MAKEOPT) -f mod_authn_socache.mak CFG="mod_authn_socache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
450 $(MAKE) $(MAKEOPT) -f mod_authnz_fcgi.mak CFG="mod_authnz_fcgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
451 $(MAKE) $(MAKEOPT) -f mod_authnz_ldap.mak CFG="mod_authnz_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
452 $(MAKE) $(MAKEOPT) -f mod_authz_core.mak CFG="mod_authz_core - Win32 $(LONG)" RECURSE=0 $(CTARGET)
453 $(MAKE) $(MAKEOPT) -f mod_authz_dbd.mak CFG="mod_authz_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
454 $(MAKE) $(MAKEOPT) -f mod_authz_dbm.mak CFG="mod_authz_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
455 $(MAKE) $(MAKEOPT) -f mod_authz_groupfile.mak CFG="mod_authz_groupfile - Win32 $(LONG)" RECURSE=0 $(CTARGET)
456 $(MAKE) $(MAKEOPT) -f mod_authz_host.mak CFG="mod_authz_host - Win32 $(LONG)" RECURSE=0 $(CTARGET)
457 $(MAKE) $(MAKEOPT) -f mod_authz_owner.mak CFG="mod_authz_owner - Win32 $(LONG)" RECURSE=0 $(CTARGET)
458 $(MAKE) $(MAKEOPT) -f mod_authz_user.mak CFG="mod_authz_user - Win32 $(LONG)" RECURSE=0 $(CTARGET)
460 cd modules\arch\win32
461 $(MAKE) $(MAKEOPT) -f mod_isapi.mak CFG="mod_isapi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
464 $(MAKE) $(MAKEOPT) -f mod_cache.mak CFG="mod_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
465 $(MAKE) $(MAKEOPT) -f mod_cache_disk.mak CFG="mod_cache_disk - Win32 $(LONG)" RECURSE=0 $(CTARGET)
466 $(MAKE) $(MAKEOPT) -f mod_cache_socache.mak CFG="mod_cache_socache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
467 $(MAKE) $(MAKEOPT) -f mod_file_cache.mak CFG="mod_file_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
468 $(MAKE) $(MAKEOPT) -f mod_socache_dbm.mak CFG="mod_socache_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
469 # $(MAKE) $(MAKEOPT) -f mod_socache_dc.mak CFG="mod_socache_dc - Win32 $(LONG)" RECURSE=0 $(CTARGET)
470 $(MAKE) $(MAKEOPT) -f mod_socache_memcache.mak CFG="mod_socache_memcache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
471 $(MAKE) $(MAKEOPT) -f mod_socache_shmcb.mak CFG="mod_socache_shmcb - Win32 $(LONG)" RECURSE=0 $(CTARGET)
474 $(MAKE) $(MAKEOPT) -f mod_macro.mak CFG="mod_macro - Win32 $(LONG)" RECURSE=0 $(CTARGET)
475 $(MAKE) $(MAKEOPT) -f mod_watchdog.mak CFG="mod_watchdog - Win32 $(LONG)" RECURSE=0 $(CTARGET)
478 $(MAKE) $(MAKEOPT) -f mod_heartbeat.mak CFG="mod_heartbeat - Win32 $(LONG)" RECURSE=0 $(CTARGET)
479 $(MAKE) $(MAKEOPT) -f mod_heartmonitor.mak CFG="mod_heartmonitor - Win32 $(LONG)" RECURSE=0 $(CTARGET)
482 $(MAKE) $(MAKEOPT) -f mod_dav.mak CFG="mod_dav - Win32 $(LONG)" RECURSE=0 $(CTARGET)
485 $(MAKE) $(MAKEOPT) -f mod_dav_fs.mak CFG="mod_dav_fs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
488 $(MAKE) $(MAKEOPT) -f mod_dav_lock.mak CFG="mod_dav_lock - Win32 $(LONG)" RECURSE=0 $(CTARGET)
492 $(MAKE) $(MAKEOPT) -f mod_bucketeer.mak CFG="mod_bucketeer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
494 $(MAKE) $(MAKEOPT) -f mod_dumpio.mak CFG="mod_dumpio - Win32 $(LONG)" RECURSE=0 $(CTARGET)
498 $(MAKE) $(MAKEOPT) -f mod_echo.mak CFG="mod_echo - Win32 $(LONG)" RECURSE=0 $(CTARGET)
503 $(MAKE) $(MAKEOPT) -f mod_case_filter.mak CFG="mod_case_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
504 $(MAKE) $(MAKEOPT) -f mod_case_filter_in.mak CFG="mod_case_filter_in - Win32 $(LONG)" RECURSE=0 $(CTARGET)
505 $(MAKE) $(MAKEOPT) -f mod_example_hooks.mak CFG="mod_example_hooks - Win32 $(LONG)" RECURSE=0 $(CTARGET)
506 $(MAKE) $(MAKEOPT) -f mod_example_ipc.mak CFG="mod_example_ipc - Win32 $(LONG)" RECURSE=0 $(CTARGET)
510 $(MAKE) $(MAKEOPT) -f mod_buffer.mak CFG="mod_buffer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
511 $(MAKE) $(MAKEOPT) -f mod_charset_lite.mak CFG="mod_charset_lite - Win32 $(LONG)" RECURSE=0 $(CTARGET)
512 $(MAKE) $(MAKEOPT) -f mod_data.mak CFG="mod_data - Win32 $(LONG)" RECURSE=0 $(CTARGET)
513 !IF EXIST("srclib\zlib")
514 $(MAKE) $(MAKEOPT) -f mod_deflate.mak CFG="mod_deflate - Win32 $(LONG)" RECURSE=0 $(CTARGET)
516 $(MAKE) $(MAKEOPT) -f mod_ext_filter.mak CFG="mod_ext_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
517 $(MAKE) $(MAKEOPT) -f mod_filter.mak CFG="mod_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
518 $(MAKE) $(MAKEOPT) -f mod_include.mak CFG="mod_include - Win32 $(LONG)" RECURSE=0 $(CTARGET)
519 !IF EXIST("srclib\libxml2")
520 $(MAKE) $(MAKEOPT) -f mod_proxy_html.mak CFG="mod_proxy_html - Win32 $(LONG)" RECURSE=0 $(CTARGET)
521 $(MAKE) $(MAKEOPT) -f mod_xml2enc.mak CFG="mod_xml2enc - Win32 $(LONG)" RECURSE=0 $(CTARGET)
523 $(MAKE) $(MAKEOPT) -f mod_ratelimit.mak CFG="mod_ratelimit - Win32 $(LONG)" RECURSE=0 $(CTARGET)
524 $(MAKE) $(MAKEOPT) -f mod_reflector.mak CFG="mod_reflector - Win32 $(LONG)" RECURSE=0 $(CTARGET)
525 $(MAKE) $(MAKEOPT) -f mod_reqtimeout.mak CFG="mod_reqtimeout - Win32 $(LONG)" RECURSE=0 $(CTARGET)
526 $(MAKE) $(MAKEOPT) -f mod_request.mak CFG="mod_request - Win32 $(LONG)" RECURSE=0 $(CTARGET)
527 $(MAKE) $(MAKEOPT) -f mod_sed.mak CFG="mod_sed - Win32 $(LONG)" RECURSE=0 $(CTARGET)
528 $(MAKE) $(MAKEOPT) -f mod_substitute.mak CFG="mod_substitute - Win32 $(LONG)" RECURSE=0 $(CTARGET)
530 cd modules\generators
531 $(MAKE) $(MAKEOPT) -f mod_asis.mak CFG="mod_asis - Win32 $(LONG)" RECURSE=0 $(CTARGET)
532 $(MAKE) $(MAKEOPT) -f mod_autoindex.mak CFG="mod_autoindex - Win32 $(LONG)" RECURSE=0 $(CTARGET)
533 $(MAKE) $(MAKEOPT) -f mod_cgi.mak CFG="mod_cgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
534 $(MAKE) $(MAKEOPT) -f mod_info.mak CFG="mod_info - Win32 $(LONG)" RECURSE=0 $(CTARGET)
535 $(MAKE) $(MAKEOPT) -f mod_status.mak CFG="mod_status - Win32 $(LONG)" RECURSE=0 $(CTARGET)
538 $(MAKE) $(MAKEOPT) -f mod_mime.mak CFG="mod_mime - Win32 $(LONG)" RECURSE=0 $(CTARGET)
540 !IF EXIST("srclib\nghttp2")
542 $(MAKE) $(MAKEOPT) -f mod_http2.mak CFG="mod_http2 - Win32 $(LONG)" RECURSE=0 $(CTARGET)
546 $(MAKE) $(MAKEOPT) -f mod_log_config.mak CFG="mod_log_config - Win32 $(LONG)" RECURSE=0 $(CTARGET)
547 $(MAKE) $(MAKEOPT) -f mod_log_debug.mak CFG="mod_log_debug - Win32 $(LONG)" RECURSE=0 $(CTARGET)
548 $(MAKE) $(MAKEOPT) -f mod_log_forensic.mak CFG="mod_log_forensic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
549 $(MAKE) $(MAKEOPT) -f mod_logio.mak CFG="mod_logio - Win32 $(LONG)" RECURSE=0 $(CTARGET)
551 !IF EXIST("srclib\lua")
553 $(MAKE) $(MAKEOPT) -f mod_lua.mak CFG="mod_lua - Win32 $(LONG)" RECURSE=0 $(CTARGET)
557 $(MAKE) $(MAKEOPT) -f mod_actions.mak CFG="mod_actions - Win32 $(LONG)" RECURSE=0 $(CTARGET)
558 $(MAKE) $(MAKEOPT) -f mod_alias.mak CFG="mod_alias - Win32 $(LONG)" RECURSE=0 $(CTARGET)
559 $(MAKE) $(MAKEOPT) -f mod_dir.mak CFG="mod_dir - Win32 $(LONG)" RECURSE=0 $(CTARGET)
560 $(MAKE) $(MAKEOPT) -f mod_imagemap.mak CFG="mod_imagemap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
561 $(MAKE) $(MAKEOPT) -f mod_negotiation.mak CFG="mod_negotiation - Win32 $(LONG)" RECURSE=0 $(CTARGET)
562 $(MAKE) $(MAKEOPT) -f mod_rewrite.mak CFG="mod_rewrite - Win32 $(LONG)" RECURSE=0 $(CTARGET)
563 $(MAKE) $(MAKEOPT) -f mod_speling.mak CFG="mod_speling - Win32 $(LONG)" RECURSE=0 $(CTARGET)
564 $(MAKE) $(MAKEOPT) -f mod_userdir.mak CFG="mod_userdir - Win32 $(LONG)" RECURSE=0 $(CTARGET)
565 $(MAKE) $(MAKEOPT) -f mod_vhost_alias.mak CFG="mod_vhost_alias - Win32 $(LONG)" RECURSE=0 $(CTARGET)
568 $(MAKE) $(MAKEOPT) -f mod_cern_meta.mak CFG="mod_cern_meta - Win32 $(LONG)" RECURSE=0 $(CTARGET)
569 $(MAKE) $(MAKEOPT) -f mod_env.mak CFG="mod_env - Win32 $(LONG)" RECURSE=0 $(CTARGET)
570 $(MAKE) $(MAKEOPT) -f mod_expires.mak CFG="mod_expires - Win32 $(LONG)" RECURSE=0 $(CTARGET)
571 $(MAKE) $(MAKEOPT) -f mod_headers.mak CFG="mod_headers - Win32 $(LONG)" RECURSE=0 $(CTARGET)
572 $(MAKE) $(MAKEOPT) -f mod_ident.mak CFG="mod_ident - Win32 $(LONG)" RECURSE=0 $(CTARGET)
573 $(MAKE) $(MAKEOPT) -f mod_mime_magic.mak CFG="mod_mime_magic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
574 $(MAKE) $(MAKEOPT) -f mod_remoteip.mak CFG="mod_remoteip - Win32 $(LONG)" RECURSE=0 $(CTARGET)
575 $(MAKE) $(MAKEOPT) -f mod_setenvif.mak CFG="mod_setenvif - Win32 $(LONG)" RECURSE=0 $(CTARGET)
576 $(MAKE) $(MAKEOPT) -f mod_unique_id.mak CFG="mod_unique_id - Win32 $(LONG)" RECURSE=0 $(CTARGET)
577 $(MAKE) $(MAKEOPT) -f mod_usertrack.mak CFG="mod_usertrack - Win32 $(LONG)" RECURSE=0 $(CTARGET)
578 $(MAKE) $(MAKEOPT) -f mod_version.mak CFG="mod_version - Win32 $(LONG)" RECURSE=0 $(CTARGET)
581 $(MAKE) $(MAKEOPT) -f mod_proxy.mak CFG="mod_proxy - Win32 $(LONG)" RECURSE=0 $(CTARGET)
582 $(MAKE) $(MAKEOPT) -f mod_proxy_ajp.mak CFG="mod_proxy_ajp - Win32 $(LONG)" RECURSE=0 $(CTARGET)
583 $(MAKE) $(MAKEOPT) -f mod_proxy_balancer.mak CFG="mod_proxy_balancer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
584 $(MAKE) $(MAKEOPT) -f mod_proxy_connect.mak CFG="mod_proxy_connect - Win32 $(LONG)" RECURSE=0 $(CTARGET)
585 $(MAKE) $(MAKEOPT) -f mod_proxy_express.mak CFG="mod_proxy_express - Win32 $(LONG)" RECURSE=0 $(CTARGET)
586 $(MAKE) $(MAKEOPT) -f mod_proxy_fcgi.mak CFG="mod_proxy_fcgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
587 $(MAKE) $(MAKEOPT) -f mod_proxy_ftp.mak CFG="mod_proxy_ftp - Win32 $(LONG)" RECURSE=0 $(CTARGET)
588 $(MAKE) $(MAKEOPT) -f mod_proxy_http.mak CFG="mod_proxy_http - Win32 $(LONG)" RECURSE=0 $(CTARGET)
589 $(MAKE) $(MAKEOPT) -f mod_proxy_scgi.mak CFG="mod_proxy_scgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
590 $(MAKE) $(MAKEOPT) -f mod_proxy_wstunnel.mak CFG="mod_proxy_wstunnel - Win32 $(LONG)" RECURSE=0 $(CTARGET)
591 !IF EXIST("srclib\serf")
592 $(MAKE) $(MAKEOPT) -f mod_serf.mak CFG="mod_serf - Win32 $(LONG)" RECURSE=0 $(CTARGET)
595 cd modules\proxy\balancers
596 $(MAKE) $(MAKEOPT) -f mod_lbmethod_bybusyness.mak CFG="mod_lbmethod_bybusyness - Win32 $(LONG)" RECURSE=0 $(CTARGET)
597 $(MAKE) $(MAKEOPT) -f mod_lbmethod_byrequests.mak CFG="mod_lbmethod_byrequests - Win32 $(LONG)" RECURSE=0 $(CTARGET)
598 $(MAKE) $(MAKEOPT) -f mod_lbmethod_bytraffic.mak CFG="mod_lbmethod_bytraffic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
599 $(MAKE) $(MAKEOPT) -f mod_lbmethod_heartbeat.mak CFG="mod_lbmethod_heartbeat - Win32 $(LONG)" RECURSE=0 $(CTARGET)
602 cd modules\proxy\examples
603 $(MAKE) $(MAKEOPT) -f mod_lbmethod_rr.mak CFG="mod_lbmethod_rr - Win32 $(LONG)" RECURSE=0 $(CTARGET)
607 $(MAKE) $(MAKEOPT) -f mod_session.mak CFG="mod_session - Win32 $(LONG)" RECURSE=0 $(CTARGET)
608 $(MAKE) $(MAKEOPT) -f mod_session_cookie.mak CFG="mod_session_cookie - Win32 $(LONG)" RECURSE=0 $(CTARGET)
609 $(MAKE) $(MAKEOPT) -f mod_session_dbd.mak CFG="mod_session_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
612 $(MAKE) $(MAKEOPT) -f mod_slotmem_plain.mak CFG="mod_slotmem_plain - Win32 $(LONG)" RECURSE=0 $(CTARGET)
613 $(MAKE) $(MAKEOPT) -f mod_slotmem_shm.mak CFG="mod_slotmem_shm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
615 !IF EXIST("srclib\openssl")
617 # $(MAKE) $(MAKEOPT) -f mod_session_crypto.mak CFG="mod_session_crypto - Win32 $(LONG)" RECURSE=0 $(CTARGET)
620 $(MAKE) $(MAKEOPT) -f mod_ssl.mak CFG="mod_ssl - Win32 $(LONG)" RECURSE=0 $(CTARGET)
623 $(MAKE) $(MAKEOPT) -f abs.mak CFG="abs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
627 $(MAKE) $(MAKEOPT) -f ab.mak CFG="ab - Win32 $(LONG)" RECURSE=0 $(CTARGET)
628 # $(MAKE) $(MAKEOPT) -f fcgistarter.mak CFG="fcgistarter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
629 $(MAKE) $(MAKEOPT) -f htcacheclean.mak CFG="htcacheclean - Win32 $(LONG)" RECURSE=0 $(CTARGET)
630 $(MAKE) $(MAKEOPT) -f htdbm.mak CFG="htdbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
631 $(MAKE) $(MAKEOPT) -f htdigest.mak CFG="htdigest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
632 $(MAKE) $(MAKEOPT) -f htpasswd.mak CFG="htpasswd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
633 $(MAKE) $(MAKEOPT) -f httxt2dbm.mak CFG="httxt2dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
634 $(MAKE) $(MAKEOPT) -f logresolve.mak CFG="logresolve - Win32 $(LONG)" RECURSE=0 $(CTARGET)
635 $(MAKE) $(MAKEOPT) -f rotatelogs.mak CFG="rotatelogs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
638 $(MAKE) $(MAKEOPT) -f ApacheMonitor.mak CFG="ApacheMonitor - Win32 $(LONG)" RECURSE=0 $(CTARGET)
639 $(MAKE) $(MAKEOPT) -f wintty.mak CFG="wintty - Win32 $(LONG)" RECURSE=0 $(CTARGET)
642 !ELSEIF $(USESLN) == 1
645 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/clean" _build
648 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug CTARGET="/clean" _build
651 echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
653 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project BuildAll
655 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project BuildBin
657 !IF EXIST("srclib\openssl")
658 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_ssl
659 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project abs
661 !IF EXIST("srclib\zlib")
662 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_deflate
664 !IF EXIST("srclib\lua")
665 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_lua
667 !IF EXIST("srclib\libxml2")
668 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_proxy_html
669 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_xml2enc
671 !IF EXIST("srclib\serf")
672 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_serf
678 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/CLEAN" _build
681 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug CTARGET="/CLEAN" _build
684 @echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
686 @msdev $(TLP).dsw /USEENV /MAKE \
687 "BuildAll - Win32 $(LONG)" $(CTARGET)
689 @msdev $(TLP).dsw /USEENV /MAKE \
690 "BuildBin - Win32 $(LONG)" $(CTARGET)
692 !IF "$(CTARGET)" == "/CLEAN"
693 !IF EXIST("srclib\apr-iconv")
695 @$(MAKE) $(MAKEOPT) -f build\modules.mk.win clean \
696 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=.
700 !IF EXIST("srclib\openssl")
701 @msdev $(TLP).dsw /USEENV /MAKE \
702 "mod_ssl - Win32 $(LONG)" \
703 "abs - Win32 $(LONG)" /NORECURSE $(CTARGET)
705 !IF EXIST("srclib\zlib")
706 @msdev $(TLP).dsw /USEENV /MAKE \
707 "mod_deflate - Win32 $(LONG)" /NORECURSE $(CTARGET)
709 !IF EXIST("srclib\lua")
710 @msdev $(TLP).dsw /USEENV /MAKE \
711 "mod_lua - Win32 $(LONG)" /NORECURSE $(CTARGET)
713 !IF EXIST("srclib\libxml2")
714 @msdev $(TLP).dsw /USEENV /MAKE \
715 "mod_proxy_html - Win32 $(LONG)" /NORECURSE $(CTARGET)
716 @msdev $(TLP).dsw /USEENV /MAKE \
717 "mod_xml2enc - Win32 $(LONG)" /NORECURSE $(CTARGET)
719 !IF EXIST("srclib\serf")
720 @msdev $(TLP).dsw /USEENV /MAKE \
721 "mod_serf - Win32 $(LONG)" /NORECURSE $(CTARGET)
728 copy $(LONG)\httpd.$(src_exe) "$(inst_exe)" <.y
729 copy $(LONG)\libhttpd.$(src_dll) "$(inst_dll)" <.y
730 copy srclib\apr\$(LONG)\libapr-1.$(src_dll) "$(inst_dll)" <.y
731 !IF EXIST("srclib\apr-util")
732 copy srclib\apr-iconv\$(LONG)\libapriconv-1.$(src_dll) "$(inst_dll)" <.y
733 copy srclib\apr-util\$(LONG)\libaprutil-1.$(src_dll) "$(inst_dll)" <.y
734 copy srclib\apr-util\ldap\$(LONG)\apr_ldap-1.$(src_dll) "$(inst_dll)" <.y
736 for %d in (odbc $(DBD_LIST)) do ( \
737 copy srclib\$(UTILDIR)\dbd\$(LONG)\apr_dbd_%d-1.$(src_dll) "$(inst_dll)" <.y \
739 for %d in ($(DBM_LIST) x) do if not %d == x ( \
740 copy srclib\$(UTILDIR)\dbm\$(LONG)\apr_dbm_%d-1.$(src_dll) "$(inst_dll)" <.y \
742 !IF EXIST("srclib\serf")
743 copy srclib\serf\$(LONG)\libserf.$(src_dll) "$(inst_dll)" <.y
745 !IF "$(SHORT)" == "D"
746 copy srclib\pcre\pcred.$(src_dll) "$(inst_dll)" <.y
748 copy srclib\pcre\pcre.$(src_dll) "$(inst_dll)" <.y
750 copy modules\aaa\$(LONG)\mod_access_compat.$(src_so) "$(inst_so)" <.y
751 copy modules\aaa\$(LONG)\mod_allowhandlers.$(src_so) "$(inst_so)" <.y
752 copy modules\aaa\$(LONG)\mod_allowmethods.$(src_so) "$(inst_so)" <.y
753 copy modules\aaa\$(LONG)\mod_auth_basic.$(src_so) "$(inst_so)" <.y
754 copy modules\aaa\$(LONG)\mod_auth_digest.$(src_so) "$(inst_so)" <.y
755 copy modules\aaa\$(LONG)\mod_auth_form.$(src_so) "$(inst_so)" <.y
756 copy modules\aaa\$(LONG)\mod_authn_anon.$(src_so) "$(inst_so)" <.y
757 copy modules\aaa\$(LONG)\mod_authn_core.$(src_so) "$(inst_so)" <.y
758 copy modules\aaa\$(LONG)\mod_authn_dbd.$(src_so) "$(inst_so)" <.y
759 copy modules\aaa\$(LONG)\mod_authn_dbm.$(src_so) "$(inst_so)" <.y
760 copy modules\aaa\$(LONG)\mod_authn_file.$(src_so) "$(inst_so)" <.y
761 copy modules\aaa\$(LONG)\mod_authn_socache.$(src_so) "$(inst_so)" <.y
762 copy modules\aaa\$(LONG)\mod_authnz_fcgi.$(src_so) "$(inst_so)" <.y
763 copy modules\aaa\$(LONG)\mod_authnz_ldap.$(src_so) "$(inst_so)" <.y
764 copy modules\aaa\$(LONG)\mod_authz_core.$(src_so) "$(inst_so)" <.y
765 copy modules\aaa\$(LONG)\mod_authz_dbd.$(src_so) "$(inst_so)" <.y
766 copy modules\aaa\$(LONG)\mod_authz_dbm.$(src_so) "$(inst_so)" <.y
767 copy modules\aaa\$(LONG)\mod_authz_core.$(src_so) "$(inst_so)" <.y
768 copy modules\aaa\$(LONG)\mod_authz_groupfile.$(src_so) "$(inst_so)" <.y
769 copy modules\aaa\$(LONG)\mod_authz_host.$(src_so) "$(inst_so)" <.y
770 copy modules\aaa\$(LONG)\mod_authz_owner.$(src_so) "$(inst_so)" <.y
771 copy modules\aaa\$(LONG)\mod_authz_user.$(src_so) "$(inst_so)" <.y
772 copy modules\arch\win32\$(LONG)\mod_isapi.$(src_so) "$(inst_so)" <.y
773 copy modules\cache\$(LONG)\mod_cache.$(src_so) "$(inst_so)" <.y
774 copy modules\cache\$(LONG)\mod_cache_disk.$(src_so) "$(inst_so)" <.y
775 copy modules\cache\$(LONG)\mod_cache_socache.$(src_so) "$(inst_so)" <.y
776 copy modules\cache\$(LONG)\mod_file_cache.$(src_so) "$(inst_so)" <.y
777 copy modules\cache\$(LONG)\mod_socache_dbm.$(src_so) "$(inst_so)" <.y
778 # copy modules\cache\$(LONG)\mod_socache_dc.$(src_so) "$(inst_so)" <.y
779 copy modules\cache\$(LONG)\mod_socache_memcache.$(src_so) "$(inst_so)" <.y
780 copy modules\cache\$(LONG)\mod_socache_shmcb.$(src_so) "$(inst_so)" <.y
781 copy modules\core\$(LONG)\mod_macro.$(src_so) "$(inst_so)" <.y
782 copy modules\core\$(LONG)\mod_watchdog.$(src_so) "$(inst_so)" <.y
783 copy modules\cluster\$(LONG)\mod_heartbeat.$(src_so) "$(inst_so)" <.y
784 copy modules\cluster\$(LONG)\mod_heartmonitor.$(src_so) "$(inst_so)" <.y
785 copy modules\database\$(LONG)\mod_dbd.$(src_so) "$(inst_so)" <.y
786 copy modules\dav\fs\$(LONG)\mod_dav_fs.$(src_so) "$(inst_so)" <.y
787 copy modules\dav\lock\$(LONG)\mod_dav_lock.$(src_so) "$(inst_so)" <.y
788 copy modules\dav\main\$(LONG)\mod_dav.$(src_so) "$(inst_so)" <.y
790 copy modules\debugging\$(LONG)\mod_bucketeer.$(src_so) "$(inst_so)" <.y
792 copy modules\debugging\$(LONG)\mod_dumpio.$(src_so) "$(inst_so)" <.y
794 copy modules\echo\$(LONG)\mod_echo.$(src_so) "$(inst_so)" <.y
795 copy modules\examples\$(LONG)\mod_case_filter.$(src_so) "$(inst_so)" <.y
796 copy modules\examples\$(LONG)\mod_case_filter_in.$(src_so) "$(inst_so)" <.y
797 copy modules\examples\$(LONG)\mod_example_hooks.$(src_so) "$(inst_so)" <.y
798 copy modules\examples\$(LONG)\mod_example_ipc.$(src_so) "$(inst_so)" <.y
800 copy modules\filters\$(LONG)\mod_buffer.$(src_so) "$(inst_so)" <.y
801 copy modules\filters\$(LONG)\mod_charset_lite.$(src_so) "$(inst_so)" <.y
802 copy modules\filters\$(LONG)\mod_data.$(src_so) "$(inst_so)" <.y
803 !IF EXIST("srclib\zlib")
804 copy modules\filters\$(LONG)\mod_deflate.$(src_so) "$(inst_so)" <.y
805 !IF EXIST("srclib\zlib\zlib1.$(src_dll)")
806 copy srclib\zlib\zlib1.$(src_dll) "$(inst_dll)" <.y
809 copy modules\filters\$(LONG)\mod_ext_filter.$(src_so) "$(inst_so)" <.y
810 copy modules\filters\$(LONG)\mod_filter.$(src_so) "$(inst_so)" <.y
811 copy modules\filters\$(LONG)\mod_include.$(src_so) "$(inst_so)" <.y
812 !IF EXIST("srclib\libxml2")
813 copy modules\filters\$(LONG)\mod_proxy_html.$(src_so) "$(inst_so)" <.y
814 copy modules\filters\$(LONG)\mod_xml2enc.$(src_so) "$(inst_so)" <.y
815 !IF EXIST("srclib\libxml2\win32\bin.msvc\libxml2.$(src_dll)")
816 copy srclib\libxml2\win32\bin.msvc\libxml2.$(src_dll) "$(inst_dll)" <.y
819 copy modules\filters\$(LONG)\mod_ratelimit.$(src_so) "$(inst_so)" <.y
820 copy modules\filters\$(LONG)\mod_reflector.$(src_so) "$(inst_so)" <.y
821 copy modules\filters\$(LONG)\mod_reqtimeout.$(src_so) "$(inst_so)" <.y
822 copy modules\filters\$(LONG)\mod_request.$(src_so) "$(inst_so)" <.y
823 copy modules\filters\$(LONG)\mod_sed.$(src_so) "$(inst_so)" <.y
824 copy modules\filters\$(LONG)\mod_substitute.$(src_so) "$(inst_so)" <.y
825 copy modules\generators\$(LONG)\mod_asis.$(src_so) "$(inst_so)" <.y
826 copy modules\generators\$(LONG)\mod_autoindex.$(src_so) "$(inst_so)" <.y
827 copy modules\generators\$(LONG)\mod_cgi.$(src_so) "$(inst_so)" <.y
828 copy modules\generators\$(LONG)\mod_info.$(src_so) "$(inst_so)" <.y
829 copy modules\generators\$(LONG)\mod_status.$(src_so) "$(inst_so)" <.y
830 copy modules\http\$(LONG)\mod_mime.$(src_so) "$(inst_so)" <.y
831 !IF EXIST("srclib\nghttp2")
832 copy modules\http2\$(LONG)\mod_http2.$(src_so) "$(inst_so)" <.y
833 !IF "$(SHORT)" == "D"
834 copy srclib\nghttp2\lib\MSVC_obj\nghttp2d.$(src_dll) "$(inst_dll)" <.y
836 copy srclib\nghttp2\lib\MSVC_obj\nghttp2.$(src_dll) "$(inst_dll)" <.y
839 copy modules\ldap\$(LONG)\mod_ldap.$(src_so) "$(inst_so)" <.y
840 copy modules\loggers\$(LONG)\mod_log_config.$(src_so) "$(inst_so)" <.y
841 copy modules\loggers\$(LONG)\mod_log_debug.$(src_so) "$(inst_so)" <.y
842 copy modules\loggers\$(LONG)\mod_log_forensic.$(src_so) "$(inst_so)" <.y
843 copy modules\loggers\$(LONG)\mod_logio.$(src_so) "$(inst_so)" <.y
844 !IF EXIST("srclib\lua")
845 copy modules\lua\$(LONG)\mod_lua.$(src_so) "$(inst_so)" <.y
846 !IF EXIST("srclib\lua\src\lua51.$(src_dll)")
847 copy srclib\lua\src\lua51.$(src_dll) "$(inst_dll)" <.y
850 copy modules\mappers\$(LONG)\mod_actions.$(src_so) "$(inst_so)" <.y
851 copy modules\mappers\$(LONG)\mod_alias.$(src_so) "$(inst_so)" <.y
852 copy modules\mappers\$(LONG)\mod_dir.$(src_so) "$(inst_so)" <.y
853 copy modules\mappers\$(LONG)\mod_imagemap.$(src_so) "$(inst_so)" <.y
854 copy modules\mappers\$(LONG)\mod_negotiation.$(src_so) "$(inst_so)" <.y
855 copy modules\mappers\$(LONG)\mod_rewrite.$(src_so) "$(inst_so)" <.y
856 copy modules\mappers\$(LONG)\mod_speling.$(src_so) "$(inst_so)" <.y
857 copy modules\mappers\$(LONG)\mod_userdir.$(src_so) "$(inst_so)" <.y
858 copy modules\mappers\$(LONG)\mod_vhost_alias.$(src_so) "$(inst_so)" <.y
859 copy modules\metadata\$(LONG)\mod_cern_meta.$(src_so) "$(inst_so)" <.y
860 copy modules\metadata\$(LONG)\mod_env.$(src_so) "$(inst_so)" <.y
861 copy modules\metadata\$(LONG)\mod_expires.$(src_so) "$(inst_so)" <.y
862 copy modules\metadata\$(LONG)\mod_headers.$(src_so) "$(inst_so)" <.y
863 copy modules\metadata\$(LONG)\mod_ident.$(src_so) "$(inst_so)" <.y
864 copy modules\metadata\$(LONG)\mod_mime_magic.$(src_so) "$(inst_so)" <.y
865 copy modules\metadata\$(LONG)\mod_remoteip.$(src_so) "$(inst_so)" <.y
866 copy modules\metadata\$(LONG)\mod_setenvif.$(src_so) "$(inst_so)" <.y
867 copy modules\metadata\$(LONG)\mod_unique_id.$(src_so) "$(inst_so)" <.y
868 copy modules\metadata\$(LONG)\mod_usertrack.$(src_so) "$(inst_so)" <.y
869 copy modules\metadata\$(LONG)\mod_version.$(src_so) "$(inst_so)" <.y
870 copy modules\proxy\$(LONG)\mod_proxy.$(src_so) "$(inst_so)" <.y
871 copy modules\proxy\$(LONG)\mod_proxy_ajp.$(src_so) "$(inst_so)" <.y
872 copy modules\proxy\$(LONG)\mod_proxy_balancer.$(src_so) "$(inst_so)" <.y
873 copy modules\proxy\$(LONG)\mod_proxy_connect.$(src_so) "$(inst_so)" <.y
874 copy modules\proxy\$(LONG)\mod_proxy_express.$(src_so) "$(inst_so)" <.y
875 copy modules\proxy\$(LONG)\mod_proxy_fcgi.$(src_so) "$(inst_so)" <.y
876 copy modules\proxy\$(LONG)\mod_proxy_ftp.$(src_so) "$(inst_so)" <.y
877 copy modules\proxy\$(LONG)\mod_proxy_http.$(src_so) "$(inst_so)" <.y
878 copy modules\proxy\$(LONG)\mod_proxy_scgi.$(src_so) "$(inst_so)" <.y
879 copy modules\proxy\$(LONG)\mod_proxy_wstunnel.$(src_so) "$(inst_so)" <.y
880 !IF EXIST("srclib\serf")
881 copy modules\proxy\$(LONG)\mod_serf.$(src_so) "$(inst_so)" <.y
883 copy modules\proxy\balancers\$(LONG)\mod_lbmethod_bybusyness.$(src_so) "$(inst_so)" <.y
884 copy modules\proxy\balancers\$(LONG)\mod_lbmethod_byrequests.$(src_so) "$(inst_so)" <.y
885 copy modules\proxy\balancers\$(LONG)\mod_lbmethod_bytraffic.$(src_so) "$(inst_so)" <.y
886 copy modules\proxy\balancers\$(LONG)\mod_lbmethod_heartbeat.$(src_so) "$(inst_so)" <.y
888 copy modules\proxy\examples\$(LONG)\mod_lbmethod_rr.$(src_so) "$(inst_so)" <.y
890 copy modules\session\$(LONG)\mod_session.$(src_so) "$(inst_so)" <.y
891 copy modules\session\$(LONG)\mod_session_cookie.$(src_so) "$(inst_so)" <.y
892 copy modules\session\$(LONG)\mod_session_dbd.$(src_so) "$(inst_so)" <.y
893 copy modules\slotmem\$(LONG)\mod_slotmem_plain.$(src_so) "$(inst_so)" <.y
894 copy modules\slotmem\$(LONG)\mod_slotmem_shm.$(src_so) "$(inst_so)" <.y
895 !IF EXIST("srclib\openssl")
896 # copy modules\session\$(LONG)\mod_session_crypto.$(src_so) "$(inst_so)" <.y
897 copy modules\ssl\$(LONG)\mod_ssl.$(src_so) "$(inst_so)" <.y
898 -copy srclib\openssl\$(SSLBIN)\libeay32.$(src_dll) "$(inst_dll)" <.y
899 -copy srclib\openssl\$(SSLBIN)\ssleay32.$(src_dll) "$(inst_dll)" <.y
900 -copy srclib\openssl\$(SSLBIN)\openssl.$(src_exe) "$(inst_exe)" <.y
901 copy support\$(LONG)\abs.$(src_exe) "$(inst_exe)" <.y
903 copy support\$(LONG)\ab.$(src_exe) "$(inst_exe)" <.y
904 # copy support\$(LONG)\fcgistarter.$(src_exe) "$(inst_exe)" <.y
905 copy support\$(LONG)\htcacheclean.$(src_exe) "$(inst_exe)" <.y
906 copy support\$(LONG)\htdbm.$(src_exe) "$(inst_exe)" <.y
907 copy support\$(LONG)\htdigest.$(src_exe) "$(inst_exe)" <.y
908 copy support\$(LONG)\htpasswd.$(src_exe) "$(inst_exe)" <.y
909 copy support\$(LONG)\httxt2dbm.$(src_exe) "$(inst_exe)" <.y
910 copy support\$(LONG)\logresolve.$(src_exe) "$(inst_exe)" <.y
911 copy support\$(LONG)\rotatelogs.$(src_exe) "$(inst_exe)" <.y
912 copy support\win32\$(LONG)\ApacheMonitor.$(src_exe) "$(inst_exe)" <.y
913 copy support\win32\$(LONG)\wintty.$(src_exe) "$(inst_exe)" <.y
916 # First we create the tree and populate the README so that
917 # whatever happens, all licensing has already propagated.
918 # Then repeatedly invoke the _copybin build to copy the
919 # real binaries, then pdb symbols, anf finally dbg syms.
920 # Then hit docs of various sorts, then includes and libs,
921 # and finally do the .conf magic.
927 -mkdir "$(INSTDIR)\bin"
928 !IF EXIST("srclib\apr-util")
929 -mkdir "$(INSTDIR)\bin\iconv"
931 -mkdir "$(INSTDIR)\cgi-bin"
932 -mkdir "$(INSTDIR)\conf"
933 -mkdir "$(INSTDIR)\conf\extra"
934 -mkdir "$(INSTDIR)\conf\original"
935 -mkdir "$(INSTDIR)\conf\original\extra"
936 -mkdir "$(INSTDIR)\error"
937 -mkdir "$(INSTDIR)\htdocs"
938 -mkdir "$(INSTDIR)\manual"
939 -mkdir "$(INSTDIR)\icons"
940 -mkdir "$(INSTDIR)\include"
941 -mkdir "$(INSTDIR)\lib"
942 -mkdir "$(INSTDIR)\logs"
943 -mkdir "$(INSTDIR)\modules"
944 copy ABOUT_APACHE "$(INSTDIR)\ABOUT_APACHE.txt" <.y
945 copy CHANGES "$(INSTDIR)\CHANGES.txt" <.y
946 copy INSTALL "$(INSTDIR)\INSTALL.txt" <.y
947 copy LICENSE "$(INSTDIR)\LICENSE.txt" <.y
948 copy NOTICE "$(INSTDIR)\NOTICE.txt" <.y
949 copy README "$(INSTDIR)\README.txt" <.y
950 type << >> "$(INSTDIR)\NOTICE.txt"
952 Regular expression support is provided by the PCRE library package,
953 which is open source software, written by Philip Hazel, and copyright
954 by the University of Cambridge, England. The original software is
956 ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
958 -awk -f <<script1.awk < "srclib\pcre\LICENCE" >> "$(INSTDIR)\LICENSE.txt"
961 print "For the pcre.dll component:";
963 while ( getline > 0 ) {
964 if ( $$0 ~ /^End$$/ ) $$0 = "END OF PCRE LICENSE";
969 !IF EXIST("srclib\openssl")
970 -copy srclib\openssl\apps\openssl.cnf "$(INSTDIR)\conf\openssl.cnf" <.y
971 type << >> "$(INSTDIR)\NOTICE.txt"
973 This binary distribution includes cryptographic software written by
974 Eric Young (eay@cryptsoft.com), software written by Tim Hudson
975 (tjh@cryptsoft.com), and software developed by the OpenSSL Project
976 for use in the OpenSSL Toolkit <http://www.openssl.org/>.
978 -awk -f <<script.awk < "srclib\openssl\LICENSE" >> "$(INSTDIR)\LICENSE.txt"
981 print "For the libeay32.dll, ssleay32.dll and openssl.exe components:";
983 while ( getline > 0 ) {
988 copy << "$(INSTDIR)\OPENSSL-NEWS.txt" <.y
990 Apache HTTP Server 2.5 Limited OpenSSL Distribution
992 This binary distribution includes the minimal components of OpenSSL required
993 to support mod_ssl for Apache HTTP Server version 2.5 (details are listed
994 in OPENSSL-README.txt.) For the complete list of CHANGES to this and later
995 versions of OpenSSL, please refer to the definative source,
996 <http://www.openssl.org/news/changelog.html>, or see the CHANGES file in the
997 full binary or source distribution package from <http://www.openssl.org/>.
999 These OpenSSL binaries were built for distribution from the U.S. without
1000 support for the patented encryption methods IDEA, MDC-2 or RC5.
1002 --------------------------------------------------------------------------------
1005 -copy "$(INSTDIR)\OPENSSL-NEWS.txt" \
1006 + srclib\openssl\NEWS "$(INSTDIR)\OPENSSL-NEWS.txt"
1007 copy << "$(INSTDIR)\OPENSSL-README.txt" <.y
1009 Apache HTTP Server 2.5 Limited OpenSSL Distribution
1011 This binary installation of OpenSSL is a limited distribution of the
1012 files derived from the OpenSSL project:
1014 LICENSE.txt (includes openssl LICENSE)
1022 These are the minimal libraries and tools required to use mod_ssl as
1023 distributed with Apache HTTP Server version 2.5. No library link files,
1024 headers or sources are distributed with this binary distribution. Please
1025 refer to the <http://www.openssl.org/> site for complete source or binary
1028 These OpenSSL binaries were built for distribution from the U.S. without
1029 support for the patented encryption methods IDEA, MDC-2 or RC5.
1031 The Apache HTTP Project only supports the binary distribution of these files
1032 and development of the mod_ssl module. We cannot provide support assistance
1033 for using or configuring the OpenSSL package or these modules. Please refer
1034 all installation and configuration questions to the appropriate forum,
1035 such as the user supported lists, <http://httpd.apache.org/userslist.html>
1036 the Apache HTTP Server user's list or <http://www.openssl.org/support/> the
1037 OpenSSL support page.
1039 --------------------------------------------------------------------------------
1042 -copy "$(INSTDIR)\OPENSSL-README.txt" \
1043 + srclib\openssl\README "$(INSTDIR)\OPENSSL-README.txt"
1045 !IF EXIST("srclib\zlib")
1046 type << >> "$(INSTDIR)\NOTICE.txt"
1048 This binary distribution of mod_deflate.so includes zlib compression code
1049 <http://www.gzip.org/zlib/> written by Jean-loup Gailly (jloup@gzip.org)
1050 and Mark Adler (madler@alumni.caltech.edu) .
1052 -awk -f <<script.awk < "srclib\zlib\README" >> "$(INSTDIR)\LICENSE.txt"
1054 while ( getline > 0 ) {
1055 if ( $$0 ~ /Copyright notice:/ ) {
1057 print "For the mod_deflate zlib compression component:";
1058 while ( getline > 0 && $$0 !~ /^[^ ]/ ) {
1068 !IF EXIST("srclib\lua")
1069 type << >> "$(INSTDIR)\NOTICE.txt"
1071 This binary distribution of mod_lua.so includes the Lua language,
1072 developed at Lua.org, a laboratory of the Department of Computer Science
1073 of PUC-Rio (the Pontifical Catholic University of Rio de Janeiro in Brazil).
1074 For complete information, visit Lua's web site at http://www.lua.org/
1076 -awk -f <<script.awk < "srclib\lua\COPYRIGHT" >> "$(INSTDIR)\LICENSE.txt"
1079 print "For the mod_lua language component:";
1081 while ( getline > 0 && $$0 !~ /end of COPYRIGHT/ ) {
1088 !IF EXIST("srclib\libxml2")
1089 type << >> "$(INSTDIR)\NOTICE.txt"
1091 This binary distributions of mod_proxy_html.so and mod_xml2enc.so include the
1092 libxml2 C library written by Daniel Veillard (daniel veillard.com), Bjorn
1093 Reese (breese users.sourceforge.net) and Gary Pennington (Gary.Pennington
1094 uk.sun.com). For complete information, visit LibXML2's web site at
1095 https://http://www.xmlsoft.org/
1097 -awk -f <<script.awk < "srclib\libxml2\Copyright" >> "$(INSTDIR)\LICENSE.txt"
1100 print "For the mod_proxy_html and mod_xml2enc components:";
1102 while ( getline > 0 ) {
1109 !IF EXIST("srclib\nghttp2")
1110 type << >> "$(INSTDIR)\NOTICE.txt"
1112 This binary distribution of mod_http2.so includes nghttp2 C library written
1113 by Tatsuhiro Tsujikawa. For complete information, visit nghttp2's web site
1114 at https://nghttp2.org/
1116 -awk -f <<script.awk < "srclib\nghttp2\COPYING" >> "$(INSTDIR)\LICENSE.txt"
1119 print "For the mod_http2 component:";
1121 while ( getline > 0 ) {
1128 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=$(SHORT) LONG=$(LONG) \
1129 _copybin src_exe=exe src_dll=dll src_so=so \
1130 inst_exe="$(INSTDIR)\bin" \
1131 inst_dll="$(INSTDIR)\bin" \
1132 inst_so="$(INSTDIR)\modules"
1133 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=$(SHORT) LONG=$(LONG) \
1134 _copybin src_exe=pdb src_dll=pdb src_so=pdb \
1135 inst_exe="$(INSTDIR)\bin" \
1136 inst_dll="$(INSTDIR)\bin" \
1137 inst_so="$(INSTDIR)\modules"
1138 !IF EXIST("srclib\apr-util")
1140 $(MAKE) $(MAKEOPT) -f build\modules.mk.win install \
1141 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=. \
1142 INSTALL_DIR="$(INSTDIR)\bin\iconv"
1145 copy docs\cgi-examples\printenv "$(INSTDIR)\cgi-bin\printenv.pl" <.y
1146 copy docs\cgi-examples\printenv.vbs "$(INSTDIR)\cgi-bin\printenv.vbs" <.y
1147 copy docs\cgi-examples\printenv.wsf "$(INSTDIR)\cgi-bin\printenv.wsf" <.y
1148 xcopy docs\error "$(INSTDIR)\error" /s /d < .a
1149 xcopy docs\docroot "$(INSTDIR)\htdocs" /d < .a
1150 xcopy docs\icons "$(INSTDIR)\icons" /s /d < .a
1151 xcopy docs\manual "$(INSTDIR)\manual" /s /d < .a
1153 srclib\expat\lib\expat.h \
1154 srclib\apr-util\xml\expat\lib\expat.h \
1155 srclib\apr\include\*.h \
1156 srclib\apr-util\include\*.h \
1157 !IF EXIST("srclib\serf")
1162 modules\cache\mod_cache.h \
1163 modules\cache\cache_common.h \
1164 modules\core\mod_so.h \
1165 modules\core\mod_watchdog.h \
1166 modules\database\mod_dbd.h \
1167 modules\dav\main\mod_dav.h \
1168 modules\filters\mod_include.h \
1169 modules\generators\mod_cgi.h \
1170 modules\generators\mod_status.h \
1171 modules\loggers\mod_log_config.h \
1172 modules\mappers\mod_rewrite.h \
1173 modules\proxy\mod_proxy.h \
1174 modules\proxy\mod_serf.h \
1175 modules\ssl\mod_ssl.h \
1176 modules\ssl\mod_ssl_openssl.h \
1178 @copy %f "$(INSTDIR)\include" < .y > nul
1179 copy srclib\apr\Lib$(SHORT)\apr-1.lib "$(INSTDIR)\lib" <.y
1180 copy srclib\apr\Lib$(SHORT)\apr-1.pdb "$(INSTDIR)\lib" <.y
1181 copy srclib\apr\$(LONG)\libapr-1.lib "$(INSTDIR)\lib" <.y
1182 copy srclib\apr\$(LONG)\libapr-1.exp "$(INSTDIR)\lib" <.y
1183 !IF EXIST("srclib\apr-util")
1184 copy srclib\apr-util\Lib$(SHORT)\aprutil-1.lib "$(INSTDIR)\lib" <.y
1185 copy srclib\apr-util\Lib$(SHORT)\aprutil-1.pdb "$(INSTDIR)\lib" <.y
1186 copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml.lib "$(INSTDIR)\lib" <.y
1187 copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml.pdb "$(INSTDIR)\lib" <.y
1188 copy srclib\apr-util\$(LONG)\libaprutil-1.lib "$(INSTDIR)\lib" <.y
1189 copy srclib\apr-util\$(LONG)\libaprutil-1.exp "$(INSTDIR)\lib" <.y
1190 copy srclib\apr-iconv\$(LONG)\libapriconv-1.lib "$(INSTDIR)\lib" <.y
1191 copy srclib\apr-iconv\$(LONG)\libapriconv-1.exp "$(INSTDIR)\lib" <.y
1193 copy srclib\expat\win32\$(LONG)\libexpatMT.lib "$(INSTDIR)\lib" <.y
1194 copy srclib\expat\win32\$(LONG)\libexpatMT.exp "$(INSTDIR)\lib" <.y
1195 copy srclib\expat\win32\$(LONG)\libexpat.lib "$(INSTDIR)\lib" <.y
1196 copy srclib\expat\win32\$(LONG)\libexpat.exp "$(INSTDIR)\lib" <.y
1197 copy srclib\expat\win32\$(LONG)\libexpat.dll "$(INSTDIR)\bin" <.y
1199 !IF EXIST("srclib\serf")
1200 copy srclib\serf\$(LONG)\libserf.lib "$(INSTDIR)\lib" <.y
1201 copy srclib\serf\$(LONG)\libserf.exp "$(INSTDIR)\lib" <.y
1203 copy $(LONG)\libhttpd.exp "$(INSTDIR)\lib" <.y
1204 copy $(LONG)\libhttpd.lib "$(INSTDIR)\lib" <.y
1205 copy modules\dav\main\$(LONG)\mod_dav.exp "$(INSTDIR)\lib" <.y
1206 copy modules\dav\main\$(LONG)\mod_dav.lib "$(INSTDIR)\lib" <.y
1207 for %f in ( charset.conv magic mime.types ) do ( \
1208 copy docs\conf\%f "$(INSTDIR)\conf\original\%f" <.y )
1209 awk -f build\installwinconf.awk $(DOMAINNAME) $(SERVERNAME) \
1210 $(SERVERADMIN) $(PORT) $(SSLPORT) "$(INSTDIR) " docs/conf/
1211 copy "support\dbmmanage.in" "$(INSTDIR)\bin\dbmmanage.pl"
1212 -awk -f <<script.awk "support/dbmmanage.in" >"$(INSTDIR)\bin\dbmmanage.pl"
1213 { if ( $$0 ~ /^BEGIN \{ @AnyDBM_File::/ ) {
1214 sub( /ISA = qw\(.*\)/, "ISA = qw(SDBM_File)" );
1216 if ( $$0 !~ /^#!@perlbin@/ )
1224 !IF EXIST("$(INSTDIR)\cgi-bin")
1225 -awk -f <<script.awk "docs/cgi-examples/printenv" > "$(INSTDIR)\cgi-bin\printenv.pl"
1227 if ( "perl -e \"print $$^X;\"" | getline perlroot ) {
1228 gsub( /\\/, "/", perlroot );
1229 print "#!" perlroot;
1233 if ( $$0 !~ /^#!/ ) {
1238 -cscript -nologo <<script.vbs "docs/cgi-examples/printenv.vbs" "$(INSTDIR)\cgi-bin\printenv.vbs"
1240 Set fso = CreateObject("Scripting.FileSystemObject")
1241 Set f = fso.OpenTextFile(WScript.Arguments(0), 1)
1245 Set f = fso.OpenTextFile(WScript.Arguments(1), 2, TRUE)
1246 f.WriteLine "'!" & Replace(WScript.FullName, "\", "/") & " -nologo"
1250 -cscript -nologo <<script.vbs "docs/cgi-examples/printenv.wsf" "$(INSTDIR)\cgi-bin\printenv.wsf"
1252 Set fso = CreateObject("Scripting.FileSystemObject")
1253 Set f = fso.OpenTextFile(WScript.Arguments(0), 1)
1257 Set f = fso.OpenTextFile(WScript.Arguments(1), 2, TRUE)
1258 f.WriteLine "'!" & Replace(WScript.FullName, "\", "/") & " -nologo"