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)
254 $(MAKE) $(MAKEOPT) -f mod_proxy_http2.mak CFG="mod_proxy_http2 - Win32 $(LONG)" RECURSE=0 $(CTARGET)
256 !ELSEIF $(USESLN) == 1
257 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_http2
258 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_proxy_http2
260 @msdev $(TLP).dsw /USEENV /MAKE \
261 "mod_http2 - Win32 $(LONG)" /NORECURSE $(CTARGET)
262 @msdev $(TLP).dsw /USEENV /MAKE \
263 "mod_proxy_http2 - Win32 $(LONG)" /NORECURSE $(CTARGET)
267 # NOT EXIST("srclib\nghttp2")
271 @echo mod_http2 will not build unless nghttp2 is installed in srclib\nghttp2.
272 @echo Version 1.0 includes an lib\makefile.msvc that will satisfy this
277 !IF EXIST("srclib\brotli")
282 $(MAKE) $(MAKEOPT) -f mod_brotli.mak CFG="mod_brotli - Win32 $(LONG)" RECURSE=0 $(CTARGET)
284 !ELSEIF $(USESLN) == 1
285 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_brotli
287 @msdev $(TLP).dsw /USEENV /MAKE \
288 "mod_brotli - Win32 $(LONG)" /NORECURSE $(CTARGET)
292 # NOT EXIST("srclib\brotli")
296 @echo mod_brotli will not build unless brotli is built in srclib\brotli.
297 @echo Version 1.0.0 and later available from https://github.com/google/brotli/releases
299 @echo cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF
304 !IF EXIST("srclib\openssl") && EXIST("srclib\jansson") && EXIST("srclib\curl")
309 $(MAKE) $(MAKEOPT) $(SSLOPT) -f mod_md.mak CFG="mod_md - Win32 $(LONG)" RECURSE=0 $(CTARGET)
311 !ELSEIF $(USESLN) == 1
312 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_md
314 @msdev $(TLP).dsw /USEENV /MAKE \
315 "mod_md - Win32 $(LONG)" /NORECURSE $(CTARGET)
319 # NOT EXIST("srclib\openssl") && EXIST("srclib\jansson") && EXIST("srclib\curl")
323 @echo mod_md not build unless OpenSSL, Jansson and Curl are built in placed
324 @echo in srclib. Example: srclib/openssl, srclib/jansson and srclib/curl
330 cd srclib\$(UTILDIR)\dbd
331 for %d in (odbc $(DBD_LIST)) do \
332 $(MAKE) $(MAKEOPT) -f apr_dbd_%d.mak CFG="apr_dbd_%d - Win32 $(LONG)" RECURSE=0 $(CTARGET)
334 for %d in ($(DBM_LIST) x) do if not %d == x \
335 $(MAKE) $(MAKEOPT) -f apr_dbm_%d.mak CFG="apr_dbm_%d - Win32 $(LONG)" RECURSE=0 $(CTARGET)
337 !ELSEIF $(USESLN) == 1
338 for %d in (odbc $(DBD_LIST)) do \
339 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project apr_dbd_%d
340 for %d in ($(DBM_LIST) x) do if not %d == x \
341 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project apr_dbm_%d
343 @for %d in (odbc $(DBD_LIST)) do \
344 msdev $(TLP).dsw /USEENV /MAKE \
345 "apr_dbd_%d - Win32 $(LONG)" /NORECURSE $(CTARGET)
346 @for %d in ($(DBM_LIST) x) do if not %d == x \
347 msdev $(TLP).dsw /USEENV /MAKE \
348 "apr_dbm_%d - Win32 $(LONG)" /NORECURSE $(CTARGET)
352 !IF "$(INSTDIR)" == ""
355 !IF "$(DOMAINNAME)" == ""
356 DOMAINNAME=example.com
358 !IF "$(SERVERNAME)" == ""
359 SERVERNAME=www.$(DOMAINNAME)
361 !IF "$(SERVERADMIN)" == ""
362 SERVERADMIN=admin@$(DOMAINNAME)
367 !IF "$(SSLPORT)" == ""
373 !MESSAGE INSTDIR = $(INSTDIR)
374 !MESSAGE DOMAINNAME = $(DOMAINNAME)
375 !MESSAGE SERVERNAME = $(SERVERNAME)
376 !MESSAGE SERVERADMIN = $(SERVERADMIN)
377 !MESSAGE PORT = $(PORT)
378 !IF EXIST("srclib\openssl")
379 !MESSAGE SSLPORT = $(SSLPORT)
382 !MESSAGE To change these options use 'nmake -f Makefile.win [option=value]'
383 !MESSAGE Example: nmake -f Makefile.win PORT=8080
389 # Only default the behavior if MAKEOPT= is omitted
391 # Microsoft NMake options
393 !ELSEIF "$(MAKE)" == "make"
394 # Borland make options? Not really supported (yet)
403 bscmake.exe -nologo -Iu -o Apache.bsc *.sbr
407 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release _build
410 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug _build
413 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release _build _install
416 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug _build _install
418 clean: _cleanr _cleand
419 -if exist Browse\. rd /s Browse < << > nul
426 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET=CLEAN _build
429 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug CTARGET=CLEAN _build
432 echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
433 !IF !EXIST("srclib\apr-util")
435 $(MAKE) $(MAKEOPT) -f expat.mak CFG="expat - Win32 $(LONG)" RECURSE=0 $(CTARGET)
439 $(MAKE) $(MAKEOPT) -f apr.mak CFG="apr - Win32 $(LONG)" RECURSE=0 $(CTARGET)
440 $(MAKE) $(MAKEOPT) -f libapr.mak CFG="libapr - Win32 $(LONG)" RECURSE=0 $(CTARGET)
442 !IF EXIST("srclib\apr-util")
444 $(MAKE) $(MAKEOPT) -f apriconv.mak CFG="apriconv - Win32 $(LONG)" RECURSE=0 $(CTARGET)
445 $(MAKE) $(MAKEOPT) -f libapriconv.mak CFG="libapriconv - Win32 $(LONG)" RECURSE=0 $(CTARGET)
446 !IF "$(CTARGET)" == "CLEAN"
447 $(MAKE) $(MAKEOPT) -f build\modules.mk.win clean \
448 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=.
451 $(MAKE) $(MAKEOPT) -f Makefile.win all \
452 BUILD_MODE=$(LONG) BIND_MODE=shared
454 $(MAKE) $(MAKEOPT) -f Makefile.win all \
455 BUILD_MODE=$(LONG) BIND_MODE=shared
459 cd srclib\apr-util\xml\expat\lib
460 $(MAKE) $(MAKEOPT) -f xml.mak CFG="xml - Win32 $(LONG)" RECURSE=0 $(CTARGET)
462 $(MAKE) $(MAKEOPT) -f aprutil.mak CFG="aprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET)
463 $(MAKE) $(MAKEOPT) -f libaprutil.mak CFG="libaprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET)
465 $(MAKE) $(MAKEOPT) -f apr_ldap.mak CFG="apr_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
468 # DBD, DBM components live now in apr
472 for %d in (odbc $(DBD_LIST)) do \
473 $(MAKE) $(MAKEOPT) -f apr_dbd_%d.mak CFG="apr_dbd_%d - Win32 $(LONG)" RECURSE=0 $(CTARGET)
476 for %d in ($(DBM_LIST) x) do if not %d == x \
477 $(MAKE) $(MAKEOPT) -f apr_dbm_%d.mak CFG="apr_dbm_%d - Win32 $(LONG)" RECURSE=0 $(CTARGET)
481 $(MAKE) $(MAKEOPT) -f gen_test_char.mak CFG="gen_test_char - Win32 $(LONG)" RECURSE=0 $(CTARGET)
483 $(MAKE) $(MAKEOPT) -f libhttpd.mak CFG="libhttpd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
484 $(MAKE) $(MAKEOPT) -f libapreq.mak CFG="libapreq - Win32 $(LONG)" RECURSE=0 $(CTARGET)
485 $(MAKE) $(MAKEOPT) -f httpd.mak CFG="httpd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
486 # build ldap prior to authnz_ldap
488 $(MAKE) $(MAKEOPT) -f mod_ldap.mak CFG="mod_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
491 $(MAKE) $(MAKEOPT) -f mod_dbd.mak CFG="mod_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
494 $(MAKE) $(MAKEOPT) -f mod_access_compat.mak CFG="mod_access_compat - Win32 $(LONG)" RECURSE=0 $(CTARGET)
495 $(MAKE) $(MAKEOPT) -f mod_allowhandlers.mak CFG="mod_allowhandlers - Win32 $(LONG)" RECURSE=0 $(CTARGET)
496 $(MAKE) $(MAKEOPT) -f mod_allowmethods.mak CFG="mod_allowmethods - Win32 $(LONG)" RECURSE=0 $(CTARGET)
497 $(MAKE) $(MAKEOPT) -f mod_auth_basic.mak CFG="mod_auth_basic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
498 $(MAKE) $(MAKEOPT) -f mod_auth_digest.mak CFG="mod_auth_digest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
499 $(MAKE) $(MAKEOPT) -f mod_auth_form.mak CFG="mod_auth_form - Win32 $(LONG)" RECURSE=0 $(CTARGET)
500 $(MAKE) $(MAKEOPT) -f mod_authn_anon.mak CFG="mod_authn_anon - Win32 $(LONG)" RECURSE=0 $(CTARGET)
501 $(MAKE) $(MAKEOPT) -f mod_authn_core.mak CFG="mod_authn_core - Win32 $(LONG)" RECURSE=0 $(CTARGET)
502 $(MAKE) $(MAKEOPT) -f mod_authn_dbd.mak CFG="mod_authn_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
503 $(MAKE) $(MAKEOPT) -f mod_authn_dbm.mak CFG="mod_authn_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
504 $(MAKE) $(MAKEOPT) -f mod_authn_file.mak CFG="mod_authn_file - Win32 $(LONG)" RECURSE=0 $(CTARGET)
505 $(MAKE) $(MAKEOPT) -f mod_authn_socache.mak CFG="mod_authn_socache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
506 $(MAKE) $(MAKEOPT) -f mod_authnz_fcgi.mak CFG="mod_authnz_fcgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
507 $(MAKE) $(MAKEOPT) -f mod_authnz_ldap.mak CFG="mod_authnz_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
508 $(MAKE) $(MAKEOPT) -f mod_authz_core.mak CFG="mod_authz_core - Win32 $(LONG)" RECURSE=0 $(CTARGET)
509 $(MAKE) $(MAKEOPT) -f mod_authz_dbd.mak CFG="mod_authz_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
510 $(MAKE) $(MAKEOPT) -f mod_authz_dbm.mak CFG="mod_authz_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
511 $(MAKE) $(MAKEOPT) -f mod_authz_groupfile.mak CFG="mod_authz_groupfile - Win32 $(LONG)" RECURSE=0 $(CTARGET)
512 $(MAKE) $(MAKEOPT) -f mod_authz_host.mak CFG="mod_authz_host - Win32 $(LONG)" RECURSE=0 $(CTARGET)
513 $(MAKE) $(MAKEOPT) -f mod_authz_owner.mak CFG="mod_authz_owner - Win32 $(LONG)" RECURSE=0 $(CTARGET)
514 $(MAKE) $(MAKEOPT) -f mod_authz_user.mak CFG="mod_authz_user - Win32 $(LONG)" RECURSE=0 $(CTARGET)
517 $(MAKE) $(MAKEOPT) -f mod_apreq.mak CFG="mod_apreq - Win32 $(LONG)" RECURSE=0 $(CTARGET)
519 cd modules\arch\win32
520 $(MAKE) $(MAKEOPT) -f mod_isapi.mak CFG="mod_isapi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
523 $(MAKE) $(MAKEOPT) -f mod_cache.mak CFG="mod_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
524 $(MAKE) $(MAKEOPT) -f mod_cache_disk.mak CFG="mod_cache_disk - Win32 $(LONG)" RECURSE=0 $(CTARGET)
525 $(MAKE) $(MAKEOPT) -f mod_cache_socache.mak CFG="mod_cache_socache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
526 $(MAKE) $(MAKEOPT) -f mod_file_cache.mak CFG="mod_file_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
527 $(MAKE) $(MAKEOPT) -f mod_socache_dbm.mak CFG="mod_socache_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
528 # $(MAKE) $(MAKEOPT) -f mod_socache_dc.mak CFG="mod_socache_dc - Win32 $(LONG)" RECURSE=0 $(CTARGET)
529 $(MAKE) $(MAKEOPT) -f mod_socache_memcache.mak CFG="mod_socache_memcache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
530 $(MAKE) $(MAKEOPT) -f mod_socache_shmcb.mak CFG="mod_socache_shmcb - Win32 $(LONG)" RECURSE=0 $(CTARGET)
531 $(MAKE) $(MAKEOPT) -f mod_socache_redis.mak CFG="mod_socache_redis - Win32 $(LONG)" RECURSE=0 $(CTARGET)
534 $(MAKE) $(MAKEOPT) -f mod_macro.mak CFG="mod_macro - Win32 $(LONG)" RECURSE=0 $(CTARGET)
535 $(MAKE) $(MAKEOPT) -f mod_watchdog.mak CFG="mod_watchdog - Win32 $(LONG)" RECURSE=0 $(CTARGET)
538 $(MAKE) $(MAKEOPT) -f mod_heartbeat.mak CFG="mod_heartbeat - Win32 $(LONG)" RECURSE=0 $(CTARGET)
539 $(MAKE) $(MAKEOPT) -f mod_heartmonitor.mak CFG="mod_heartmonitor - Win32 $(LONG)" RECURSE=0 $(CTARGET)
542 $(MAKE) $(MAKEOPT) -f mod_dav.mak CFG="mod_dav - Win32 $(LONG)" RECURSE=0 $(CTARGET)
545 $(MAKE) $(MAKEOPT) -f mod_dav_fs.mak CFG="mod_dav_fs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
548 $(MAKE) $(MAKEOPT) -f mod_dav_lock.mak CFG="mod_dav_lock - Win32 $(LONG)" RECURSE=0 $(CTARGET)
552 $(MAKE) $(MAKEOPT) -f mod_bucketeer.mak CFG="mod_bucketeer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
554 $(MAKE) $(MAKEOPT) -f mod_dumpio.mak CFG="mod_dumpio - Win32 $(LONG)" RECURSE=0 $(CTARGET)
558 $(MAKE) $(MAKEOPT) -f mod_echo.mak CFG="mod_echo - Win32 $(LONG)" RECURSE=0 $(CTARGET)
563 $(MAKE) $(MAKEOPT) -f mod_case_filter.mak CFG="mod_case_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
564 $(MAKE) $(MAKEOPT) -f mod_case_filter_in.mak CFG="mod_case_filter_in - Win32 $(LONG)" RECURSE=0 $(CTARGET)
565 $(MAKE) $(MAKEOPT) -f mod_example_hooks.mak CFG="mod_example_hooks - Win32 $(LONG)" RECURSE=0 $(CTARGET)
566 $(MAKE) $(MAKEOPT) -f mod_example_ipc.mak CFG="mod_example_ipc - Win32 $(LONG)" RECURSE=0 $(CTARGET)
570 !IF EXIST("srclib\brotli")
571 $(MAKE) $(MAKEOPT) -f mod_brotli.mak CFG="mod_brotli - Win32 $(LONG)" RECURSE=0 $(CTARGET)
573 $(MAKE) $(MAKEOPT) -f mod_buffer.mak CFG="mod_buffer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
574 $(MAKE) $(MAKEOPT) -f mod_charset_lite.mak CFG="mod_charset_lite - Win32 $(LONG)" RECURSE=0 $(CTARGET)
575 $(MAKE) $(MAKEOPT) -f mod_data.mak CFG="mod_data - Win32 $(LONG)" RECURSE=0 $(CTARGET)
576 !IF EXIST("srclib\zlib")
577 $(MAKE) $(MAKEOPT) -f mod_deflate.mak CFG="mod_deflate - Win32 $(LONG)" RECURSE=0 $(CTARGET)
579 $(MAKE) $(MAKEOPT) -f mod_ext_filter.mak CFG="mod_ext_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
580 $(MAKE) $(MAKEOPT) -f mod_filter.mak CFG="mod_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
581 $(MAKE) $(MAKEOPT) -f mod_include.mak CFG="mod_include - Win32 $(LONG)" RECURSE=0 $(CTARGET)
582 !IF EXIST("srclib\libxml2")
583 $(MAKE) $(MAKEOPT) -f mod_proxy_html.mak CFG="mod_proxy_html - Win32 $(LONG)" RECURSE=0 $(CTARGET)
584 $(MAKE) $(MAKEOPT) -f mod_xml2enc.mak CFG="mod_xml2enc - Win32 $(LONG)" RECURSE=0 $(CTARGET)
586 $(MAKE) $(MAKEOPT) -f mod_ratelimit.mak CFG="mod_ratelimit - Win32 $(LONG)" RECURSE=0 $(CTARGET)
587 $(MAKE) $(MAKEOPT) -f mod_reflector.mak CFG="mod_reflector - Win32 $(LONG)" RECURSE=0 $(CTARGET)
588 $(MAKE) $(MAKEOPT) -f mod_reqtimeout.mak CFG="mod_reqtimeout - Win32 $(LONG)" RECURSE=0 $(CTARGET)
589 $(MAKE) $(MAKEOPT) -f mod_request.mak CFG="mod_request - Win32 $(LONG)" RECURSE=0 $(CTARGET)
590 $(MAKE) $(MAKEOPT) -f mod_sed.mak CFG="mod_sed - Win32 $(LONG)" RECURSE=0 $(CTARGET)
591 $(MAKE) $(MAKEOPT) -f mod_substitute.mak CFG="mod_substitute - Win32 $(LONG)" RECURSE=0 $(CTARGET)
593 cd modules\generators
594 $(MAKE) $(MAKEOPT) -f mod_asis.mak CFG="mod_asis - Win32 $(LONG)" RECURSE=0 $(CTARGET)
595 $(MAKE) $(MAKEOPT) -f mod_autoindex.mak CFG="mod_autoindex - Win32 $(LONG)" RECURSE=0 $(CTARGET)
596 $(MAKE) $(MAKEOPT) -f mod_cgi.mak CFG="mod_cgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
597 $(MAKE) $(MAKEOPT) -f mod_info.mak CFG="mod_info - Win32 $(LONG)" RECURSE=0 $(CTARGET)
598 $(MAKE) $(MAKEOPT) -f mod_status.mak CFG="mod_status - Win32 $(LONG)" RECURSE=0 $(CTARGET)
601 $(MAKE) $(MAKEOPT) -f mod_mime.mak CFG="mod_mime - Win32 $(LONG)" RECURSE=0 $(CTARGET)
603 !IF EXIST("srclib\nghttp2")
605 $(MAKE) $(MAKEOPT) -f mod_http2.mak CFG="mod_http2 - Win32 $(LONG)" RECURSE=0 $(CTARGET)
606 $(MAKE) $(MAKEOPT) -f mod_proxy_http2.mak CFG="mod_proxy_http2 - Win32 $(LONG)" RECURSE=0 $(CTARGET)
610 $(MAKE) $(MAKEOPT) -f mod_log_config.mak CFG="mod_log_config - Win32 $(LONG)" RECURSE=0 $(CTARGET)
611 $(MAKE) $(MAKEOPT) -f mod_log_debug.mak CFG="mod_log_debug - Win32 $(LONG)" RECURSE=0 $(CTARGET)
612 $(MAKE) $(MAKEOPT) -f mod_log_forensic.mak CFG="mod_log_forensic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
613 $(MAKE) $(MAKEOPT) -f mod_logio.mak CFG="mod_logio - Win32 $(LONG)" RECURSE=0 $(CTARGET)
615 !IF EXIST("srclib\lua")
617 $(MAKE) $(MAKEOPT) -f mod_lua.mak CFG="mod_lua - Win32 $(LONG)" RECURSE=0 $(CTARGET)
621 $(MAKE) $(MAKEOPT) -f mod_actions.mak CFG="mod_actions - Win32 $(LONG)" RECURSE=0 $(CTARGET)
622 $(MAKE) $(MAKEOPT) -f mod_alias.mak CFG="mod_alias - Win32 $(LONG)" RECURSE=0 $(CTARGET)
623 $(MAKE) $(MAKEOPT) -f mod_dir.mak CFG="mod_dir - Win32 $(LONG)" RECURSE=0 $(CTARGET)
624 $(MAKE) $(MAKEOPT) -f mod_imagemap.mak CFG="mod_imagemap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
625 $(MAKE) $(MAKEOPT) -f mod_negotiation.mak CFG="mod_negotiation - Win32 $(LONG)" RECURSE=0 $(CTARGET)
626 $(MAKE) $(MAKEOPT) -f mod_rewrite.mak CFG="mod_rewrite - Win32 $(LONG)" RECURSE=0 $(CTARGET)
627 $(MAKE) $(MAKEOPT) -f mod_speling.mak CFG="mod_speling - Win32 $(LONG)" RECURSE=0 $(CTARGET)
628 $(MAKE) $(MAKEOPT) -f mod_userdir.mak CFG="mod_userdir - Win32 $(LONG)" RECURSE=0 $(CTARGET)
629 $(MAKE) $(MAKEOPT) -f mod_vhost_alias.mak CFG="mod_vhost_alias - Win32 $(LONG)" RECURSE=0 $(CTARGET)
632 $(MAKE) $(MAKEOPT) -f mod_cern_meta.mak CFG="mod_cern_meta - Win32 $(LONG)" RECURSE=0 $(CTARGET)
633 $(MAKE) $(MAKEOPT) -f mod_env.mak CFG="mod_env - Win32 $(LONG)" RECURSE=0 $(CTARGET)
634 $(MAKE) $(MAKEOPT) -f mod_expires.mak CFG="mod_expires - Win32 $(LONG)" RECURSE=0 $(CTARGET)
635 $(MAKE) $(MAKEOPT) -f mod_headers.mak CFG="mod_headers - Win32 $(LONG)" RECURSE=0 $(CTARGET)
636 $(MAKE) $(MAKEOPT) -f mod_ident.mak CFG="mod_ident - Win32 $(LONG)" RECURSE=0 $(CTARGET)
637 $(MAKE) $(MAKEOPT) -f mod_mime_magic.mak CFG="mod_mime_magic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
638 $(MAKE) $(MAKEOPT) -f mod_remoteip.mak CFG="mod_remoteip - Win32 $(LONG)" RECURSE=0 $(CTARGET)
639 $(MAKE) $(MAKEOPT) -f mod_setenvif.mak CFG="mod_setenvif - Win32 $(LONG)" RECURSE=0 $(CTARGET)
640 $(MAKE) $(MAKEOPT) -f mod_unique_id.mak CFG="mod_unique_id - Win32 $(LONG)" RECURSE=0 $(CTARGET)
641 $(MAKE) $(MAKEOPT) -f mod_usertrack.mak CFG="mod_usertrack - Win32 $(LONG)" RECURSE=0 $(CTARGET)
642 $(MAKE) $(MAKEOPT) -f mod_version.mak CFG="mod_version - Win32 $(LONG)" RECURSE=0 $(CTARGET)
645 $(MAKE) $(MAKEOPT) -f mod_proxy.mak CFG="mod_proxy - Win32 $(LONG)" RECURSE=0 $(CTARGET)
646 $(MAKE) $(MAKEOPT) -f mod_proxy_ajp.mak CFG="mod_proxy_ajp - Win32 $(LONG)" RECURSE=0 $(CTARGET)
647 $(MAKE) $(MAKEOPT) -f mod_proxy_balancer.mak CFG="mod_proxy_balancer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
648 $(MAKE) $(MAKEOPT) -f mod_proxy_connect.mak CFG="mod_proxy_connect - Win32 $(LONG)" RECURSE=0 $(CTARGET)
649 $(MAKE) $(MAKEOPT) -f mod_proxy_express.mak CFG="mod_proxy_express - Win32 $(LONG)" RECURSE=0 $(CTARGET)
650 $(MAKE) $(MAKEOPT) -f mod_proxy_fcgi.mak CFG="mod_proxy_fcgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
651 $(MAKE) $(MAKEOPT) -f mod_proxy_ftp.mak CFG="mod_proxy_ftp - Win32 $(LONG)" RECURSE=0 $(CTARGET)
652 $(MAKE) $(MAKEOPT) -f mod_proxy_hcheck.mak CFG="mod_proxy_hcheck - Win32 $(LONG)" RECURSE=0 $(CTARGET)
653 $(MAKE) $(MAKEOPT) -f mod_proxy_http.mak CFG="mod_proxy_http - Win32 $(LONG)" RECURSE=0 $(CTARGET)
654 $(MAKE) $(MAKEOPT) -f mod_proxy_scgi.mak CFG="mod_proxy_scgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
655 $(MAKE) $(MAKEOPT) -f mod_proxy_uwsgi.mak CFG="mod_proxy_uwsgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
656 $(MAKE) $(MAKEOPT) -f mod_proxy_wstunnel.mak CFG="mod_proxy_wstunnel - Win32 $(LONG)" RECURSE=0 $(CTARGET)
657 !IF EXIST("srclib\serf")
658 $(MAKE) $(MAKEOPT) -f mod_serf.mak CFG="mod_serf - Win32 $(LONG)" RECURSE=0 $(CTARGET)
661 cd modules\proxy\balancers
662 $(MAKE) $(MAKEOPT) -f mod_lbmethod_bybusyness.mak CFG="mod_lbmethod_bybusyness - Win32 $(LONG)" RECURSE=0 $(CTARGET)
663 $(MAKE) $(MAKEOPT) -f mod_lbmethod_byrequests.mak CFG="mod_lbmethod_byrequests - Win32 $(LONG)" RECURSE=0 $(CTARGET)
664 $(MAKE) $(MAKEOPT) -f mod_lbmethod_bytraffic.mak CFG="mod_lbmethod_bytraffic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
665 $(MAKE) $(MAKEOPT) -f mod_lbmethod_heartbeat.mak CFG="mod_lbmethod_heartbeat - Win32 $(LONG)" RECURSE=0 $(CTARGET)
668 cd modules\proxy\examples
669 $(MAKE) $(MAKEOPT) -f mod_lbmethod_rr.mak CFG="mod_lbmethod_rr - Win32 $(LONG)" RECURSE=0 $(CTARGET)
673 $(MAKE) $(MAKEOPT) -f mod_session.mak CFG="mod_session - Win32 $(LONG)" RECURSE=0 $(CTARGET)
674 $(MAKE) $(MAKEOPT) -f mod_session_cookie.mak CFG="mod_session_cookie - Win32 $(LONG)" RECURSE=0 $(CTARGET)
675 $(MAKE) $(MAKEOPT) -f mod_session_dbd.mak CFG="mod_session_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
678 $(MAKE) $(MAKEOPT) -f mod_slotmem_plain.mak CFG="mod_slotmem_plain - Win32 $(LONG)" RECURSE=0 $(CTARGET)
679 $(MAKE) $(MAKEOPT) -f mod_slotmem_shm.mak CFG="mod_slotmem_shm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
681 !IF EXIST("srclib\openssl")
683 # $(MAKE) $(MAKEOPT) -f mod_session_crypto.mak CFG="mod_session_crypto - Win32 $(LONG)" RECURSE=0 $(CTARGET)
686 $(MAKE) $(MAKEOPT) -f mod_ssl.mak CFG="mod_ssl - Win32 $(LONG)" RECURSE=0 $(CTARGET)
689 $(MAKE) $(MAKEOPT) -f abs.mak CFG="abs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
691 !IF EXIST("srclib\jansson") && EXIST("srclib\curl")
693 $(MAKE) $(MAKEOPT) $(SSLOPT) -f mod_md.mak CFG="mod_md - Win32 $(LONG)" RECURSE=0 $(CTARGET)
698 $(MAKE) $(MAKEOPT) -f ab.mak CFG="ab - Win32 $(LONG)" RECURSE=0 $(CTARGET)
699 # $(MAKE) $(MAKEOPT) -f fcgistarter.mak CFG="fcgistarter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
700 $(MAKE) $(MAKEOPT) -f htcacheclean.mak CFG="htcacheclean - Win32 $(LONG)" RECURSE=0 $(CTARGET)
701 $(MAKE) $(MAKEOPT) -f htdbm.mak CFG="htdbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
702 $(MAKE) $(MAKEOPT) -f htdigest.mak CFG="htdigest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
703 $(MAKE) $(MAKEOPT) -f htpasswd.mak CFG="htpasswd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
704 $(MAKE) $(MAKEOPT) -f httxt2dbm.mak CFG="httxt2dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
705 $(MAKE) $(MAKEOPT) -f logresolve.mak CFG="logresolve - Win32 $(LONG)" RECURSE=0 $(CTARGET)
706 $(MAKE) $(MAKEOPT) -f rotatelogs.mak CFG="rotatelogs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
709 $(MAKE) $(MAKEOPT) -f ApacheMonitor.mak CFG="ApacheMonitor - Win32 $(LONG)" RECURSE=0 $(CTARGET)
710 $(MAKE) $(MAKEOPT) -f wintty.mak CFG="wintty - Win32 $(LONG)" RECURSE=0 $(CTARGET)
713 !ELSEIF $(USESLN) == 1
716 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/clean" _build
719 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug CTARGET="/clean" _build
722 echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
724 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project BuildAll
726 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project BuildBin
728 !IF EXIST("srclib\openssl")
729 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_ssl
730 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project abs
732 !IF EXIST("srclib\zlib")
733 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_deflate
735 !IF EXIST("srclib\lua")
736 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_lua
738 !IF EXIST("srclib\libxml2")
739 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_proxy_html
740 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_xml2enc
742 !IF EXIST("srclib\serf")
743 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_serf
749 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/CLEAN" _build
752 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug CTARGET="/CLEAN" _build
755 @echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
757 @msdev $(TLP).dsw /USEENV /MAKE \
758 "BuildAll - Win32 $(LONG)" $(CTARGET)
760 @msdev $(TLP).dsw /USEENV /MAKE \
761 "BuildBin - Win32 $(LONG)" $(CTARGET)
763 !IF "$(CTARGET)" == "/CLEAN"
764 !IF EXIST("srclib\apr-iconv")
766 @$(MAKE) $(MAKEOPT) -f build\modules.mk.win clean \
767 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=.
771 !IF EXIST("srclib\openssl")
772 @msdev $(TLP).dsw /USEENV /MAKE \
773 "mod_ssl - Win32 $(LONG)" \
774 "abs - Win32 $(LONG)" /NORECURSE $(CTARGET)
776 !IF EXIST("srclib\zlib")
777 @msdev $(TLP).dsw /USEENV /MAKE \
778 "mod_deflate - Win32 $(LONG)" /NORECURSE $(CTARGET)
780 !IF EXIST("srclib\lua")
781 @msdev $(TLP).dsw /USEENV /MAKE \
782 "mod_lua - Win32 $(LONG)" /NORECURSE $(CTARGET)
784 !IF EXIST("srclib\libxml2")
785 @msdev $(TLP).dsw /USEENV /MAKE \
786 "mod_proxy_html - Win32 $(LONG)" /NORECURSE $(CTARGET)
787 @msdev $(TLP).dsw /USEENV /MAKE \
788 "mod_xml2enc - Win32 $(LONG)" /NORECURSE $(CTARGET)
790 !IF EXIST("srclib\serf")
791 @msdev $(TLP).dsw /USEENV /MAKE \
792 "mod_serf - Win32 $(LONG)" /NORECURSE $(CTARGET)
799 copy $(LONG)\httpd.$(src_exe) "$(inst_exe)" <.y
800 copy $(LONG)\libapreq.$(src_dll) "$(inst_dll)" <.y
801 copy $(LONG)\libhttpd.$(src_dll) "$(inst_dll)" <.y
802 copy srclib\apr\$(LONG)\libapr-1.$(src_dll) "$(inst_dll)" <.y
803 !IF EXIST("srclib\apr-util")
804 copy srclib\apr-iconv\$(LONG)\libapriconv-1.$(src_dll) "$(inst_dll)" <.y
805 copy srclib\apr-util\$(LONG)\libaprutil-1.$(src_dll) "$(inst_dll)" <.y
806 copy srclib\apr-util\ldap\$(LONG)\apr_ldap-1.$(src_dll) "$(inst_dll)" <.y
808 for %d in (odbc $(DBD_LIST)) do ( \
809 copy srclib\$(UTILDIR)\dbd\$(LONG)\apr_dbd_%d-1.$(src_dll) "$(inst_dll)" <.y \
811 for %d in ($(DBM_LIST) x) do if not %d == x ( \
812 copy srclib\$(UTILDIR)\dbm\$(LONG)\apr_dbm_%d-1.$(src_dll) "$(inst_dll)" <.y \
814 !IF EXIST("srclib\serf")
815 copy srclib\serf\$(LONG)\libserf.$(src_dll) "$(inst_dll)" <.y
817 !IF "$(SHORT)" == "D"
818 copy srclib\pcre\pcred.$(src_dll) "$(inst_dll)" <.y
820 copy srclib\pcre\pcre.$(src_dll) "$(inst_dll)" <.y
822 copy modules\aaa\$(LONG)\mod_access_compat.$(src_so) "$(inst_so)" <.y
823 copy modules\aaa\$(LONG)\mod_allowhandlers.$(src_so) "$(inst_so)" <.y
824 copy modules\aaa\$(LONG)\mod_allowmethods.$(src_so) "$(inst_so)" <.y
825 copy modules\aaa\$(LONG)\mod_auth_basic.$(src_so) "$(inst_so)" <.y
826 copy modules\aaa\$(LONG)\mod_auth_digest.$(src_so) "$(inst_so)" <.y
827 copy modules\aaa\$(LONG)\mod_auth_form.$(src_so) "$(inst_so)" <.y
828 copy modules\aaa\$(LONG)\mod_authn_anon.$(src_so) "$(inst_so)" <.y
829 copy modules\aaa\$(LONG)\mod_authn_core.$(src_so) "$(inst_so)" <.y
830 copy modules\aaa\$(LONG)\mod_authn_dbd.$(src_so) "$(inst_so)" <.y
831 copy modules\aaa\$(LONG)\mod_authn_dbm.$(src_so) "$(inst_so)" <.y
832 copy modules\aaa\$(LONG)\mod_authn_file.$(src_so) "$(inst_so)" <.y
833 copy modules\aaa\$(LONG)\mod_authn_socache.$(src_so) "$(inst_so)" <.y
834 copy modules\aaa\$(LONG)\mod_authnz_fcgi.$(src_so) "$(inst_so)" <.y
835 copy modules\aaa\$(LONG)\mod_authnz_ldap.$(src_so) "$(inst_so)" <.y
836 copy modules\aaa\$(LONG)\mod_authz_core.$(src_so) "$(inst_so)" <.y
837 copy modules\aaa\$(LONG)\mod_authz_dbd.$(src_so) "$(inst_so)" <.y
838 copy modules\aaa\$(LONG)\mod_authz_dbm.$(src_so) "$(inst_so)" <.y
839 copy modules\aaa\$(LONG)\mod_authz_core.$(src_so) "$(inst_so)" <.y
840 copy modules\aaa\$(LONG)\mod_authz_groupfile.$(src_so) "$(inst_so)" <.y
841 copy modules\aaa\$(LONG)\mod_authz_host.$(src_so) "$(inst_so)" <.y
842 copy modules\aaa\$(LONG)\mod_authz_owner.$(src_so) "$(inst_so)" <.y
843 copy modules\aaa\$(LONG)\mod_authz_user.$(src_so) "$(inst_so)" <.y
844 copy modules\apreq\$(LONG)\mod_apreq.$(src_so) "$(inst_so)" <.y
845 copy modules\arch\win32\$(LONG)\mod_isapi.$(src_so) "$(inst_so)" <.y
846 copy modules\cache\$(LONG)\mod_cache.$(src_so) "$(inst_so)" <.y
847 copy modules\cache\$(LONG)\mod_cache_disk.$(src_so) "$(inst_so)" <.y
848 copy modules\cache\$(LONG)\mod_cache_socache.$(src_so) "$(inst_so)" <.y
849 copy modules\cache\$(LONG)\mod_file_cache.$(src_so) "$(inst_so)" <.y
850 copy modules\cache\$(LONG)\mod_socache_dbm.$(src_so) "$(inst_so)" <.y
851 # copy modules\cache\$(LONG)\mod_socache_dc.$(src_so) "$(inst_so)" <.y
852 copy modules\cache\$(LONG)\mod_socache_memcache.$(src_so) "$(inst_so)" <.y
853 copy modules\cache\$(LONG)\mod_socache_shmcb.$(src_so) "$(inst_so)" <.y
854 copy modules\cache\$(LONG)\mod_socache_redis.$(src_so) "$(inst_so)" <.y
855 copy modules\core\$(LONG)\mod_macro.$(src_so) "$(inst_so)" <.y
856 copy modules\core\$(LONG)\mod_watchdog.$(src_so) "$(inst_so)" <.y
857 copy modules\cluster\$(LONG)\mod_heartbeat.$(src_so) "$(inst_so)" <.y
858 copy modules\cluster\$(LONG)\mod_heartmonitor.$(src_so) "$(inst_so)" <.y
859 copy modules\database\$(LONG)\mod_dbd.$(src_so) "$(inst_so)" <.y
860 copy modules\dav\fs\$(LONG)\mod_dav_fs.$(src_so) "$(inst_so)" <.y
861 copy modules\dav\lock\$(LONG)\mod_dav_lock.$(src_so) "$(inst_so)" <.y
862 copy modules\dav\main\$(LONG)\mod_dav.$(src_so) "$(inst_so)" <.y
864 copy modules\debugging\$(LONG)\mod_bucketeer.$(src_so) "$(inst_so)" <.y
866 copy modules\debugging\$(LONG)\mod_dumpio.$(src_so) "$(inst_so)" <.y
868 copy modules\echo\$(LONG)\mod_echo.$(src_so) "$(inst_so)" <.y
869 copy modules\examples\$(LONG)\mod_case_filter.$(src_so) "$(inst_so)" <.y
870 copy modules\examples\$(LONG)\mod_case_filter_in.$(src_so) "$(inst_so)" <.y
871 copy modules\examples\$(LONG)\mod_example_hooks.$(src_so) "$(inst_so)" <.y
872 copy modules\examples\$(LONG)\mod_example_ipc.$(src_so) "$(inst_so)" <.y
874 !IF EXIST("srclib\brotli")
875 copy modules\filters\$(LONG)\mod_brotli.$(src_so) "$(inst_so)" <.y
877 copy modules\filters\$(LONG)\mod_buffer.$(src_so) "$(inst_so)" <.y
878 copy modules\filters\$(LONG)\mod_charset_lite.$(src_so) "$(inst_so)" <.y
879 copy modules\filters\$(LONG)\mod_data.$(src_so) "$(inst_so)" <.y
880 !IF EXIST("srclib\zlib")
881 copy modules\filters\$(LONG)\mod_deflate.$(src_so) "$(inst_so)" <.y
882 !IF EXIST("srclib\zlib\zlib1.$(src_dll)")
883 copy srclib\zlib\zlib1.$(src_dll) "$(inst_dll)" <.y
886 copy modules\filters\$(LONG)\mod_ext_filter.$(src_so) "$(inst_so)" <.y
887 copy modules\filters\$(LONG)\mod_filter.$(src_so) "$(inst_so)" <.y
888 copy modules\filters\$(LONG)\mod_include.$(src_so) "$(inst_so)" <.y
889 !IF EXIST("srclib\libxml2")
890 copy modules\filters\$(LONG)\mod_proxy_html.$(src_so) "$(inst_so)" <.y
891 copy modules\filters\$(LONG)\mod_xml2enc.$(src_so) "$(inst_so)" <.y
892 !IF EXIST("srclib\libxml2\win32\bin.msvc\libxml2.$(src_dll)")
893 copy srclib\libxml2\win32\bin.msvc\libxml2.$(src_dll) "$(inst_dll)" <.y
896 copy modules\filters\$(LONG)\mod_ratelimit.$(src_so) "$(inst_so)" <.y
897 copy modules\filters\$(LONG)\mod_reflector.$(src_so) "$(inst_so)" <.y
898 copy modules\filters\$(LONG)\mod_reqtimeout.$(src_so) "$(inst_so)" <.y
899 copy modules\filters\$(LONG)\mod_request.$(src_so) "$(inst_so)" <.y
900 copy modules\filters\$(LONG)\mod_sed.$(src_so) "$(inst_so)" <.y
901 copy modules\filters\$(LONG)\mod_substitute.$(src_so) "$(inst_so)" <.y
902 copy modules\generators\$(LONG)\mod_asis.$(src_so) "$(inst_so)" <.y
903 copy modules\generators\$(LONG)\mod_autoindex.$(src_so) "$(inst_so)" <.y
904 copy modules\generators\$(LONG)\mod_cgi.$(src_so) "$(inst_so)" <.y
905 copy modules\generators\$(LONG)\mod_info.$(src_so) "$(inst_so)" <.y
906 copy modules\generators\$(LONG)\mod_status.$(src_so) "$(inst_so)" <.y
907 copy modules\http\$(LONG)\mod_mime.$(src_so) "$(inst_so)" <.y
908 !IF EXIST("srclib\nghttp2")
909 copy modules\http2\$(LONG)\mod_http2.$(src_so) "$(inst_so)" <.y
910 copy modules\http2\$(LONG)\mod_proxy_http2.$(src_so) "$(inst_so)" <.y
911 !IF "$(SHORT)" == "D"
912 copy srclib\nghttp2\lib\MSVC_obj\nghttp2d.$(src_dll) "$(inst_dll)" <.y
914 copy srclib\nghttp2\lib\MSVC_obj\nghttp2.$(src_dll) "$(inst_dll)" <.y
917 copy modules\ldap\$(LONG)\mod_ldap.$(src_so) "$(inst_so)" <.y
918 copy modules\loggers\$(LONG)\mod_log_config.$(src_so) "$(inst_so)" <.y
919 copy modules\loggers\$(LONG)\mod_log_debug.$(src_so) "$(inst_so)" <.y
920 copy modules\loggers\$(LONG)\mod_log_forensic.$(src_so) "$(inst_so)" <.y
921 copy modules\loggers\$(LONG)\mod_logio.$(src_so) "$(inst_so)" <.y
922 !IF EXIST("srclib\lua")
923 copy modules\lua\$(LONG)\mod_lua.$(src_so) "$(inst_so)" <.y
924 !IF EXIST("srclib\lua\src\lua51.$(src_dll)")
925 copy srclib\lua\src\lua51.$(src_dll) "$(inst_dll)" <.y
928 copy modules\mappers\$(LONG)\mod_actions.$(src_so) "$(inst_so)" <.y
929 copy modules\mappers\$(LONG)\mod_alias.$(src_so) "$(inst_so)" <.y
930 copy modules\mappers\$(LONG)\mod_dir.$(src_so) "$(inst_so)" <.y
931 copy modules\mappers\$(LONG)\mod_imagemap.$(src_so) "$(inst_so)" <.y
932 copy modules\mappers\$(LONG)\mod_negotiation.$(src_so) "$(inst_so)" <.y
933 copy modules\mappers\$(LONG)\mod_rewrite.$(src_so) "$(inst_so)" <.y
934 copy modules\mappers\$(LONG)\mod_speling.$(src_so) "$(inst_so)" <.y
935 copy modules\mappers\$(LONG)\mod_userdir.$(src_so) "$(inst_so)" <.y
936 copy modules\mappers\$(LONG)\mod_vhost_alias.$(src_so) "$(inst_so)" <.y
937 copy modules\metadata\$(LONG)\mod_cern_meta.$(src_so) "$(inst_so)" <.y
938 copy modules\metadata\$(LONG)\mod_env.$(src_so) "$(inst_so)" <.y
939 copy modules\metadata\$(LONG)\mod_expires.$(src_so) "$(inst_so)" <.y
940 copy modules\metadata\$(LONG)\mod_headers.$(src_so) "$(inst_so)" <.y
941 copy modules\metadata\$(LONG)\mod_ident.$(src_so) "$(inst_so)" <.y
942 copy modules\metadata\$(LONG)\mod_mime_magic.$(src_so) "$(inst_so)" <.y
943 copy modules\metadata\$(LONG)\mod_remoteip.$(src_so) "$(inst_so)" <.y
944 copy modules\metadata\$(LONG)\mod_setenvif.$(src_so) "$(inst_so)" <.y
945 copy modules\metadata\$(LONG)\mod_unique_id.$(src_so) "$(inst_so)" <.y
946 copy modules\metadata\$(LONG)\mod_usertrack.$(src_so) "$(inst_so)" <.y
947 copy modules\metadata\$(LONG)\mod_version.$(src_so) "$(inst_so)" <.y
948 copy modules\proxy\$(LONG)\mod_proxy.$(src_so) "$(inst_so)" <.y
949 copy modules\proxy\$(LONG)\mod_proxy_ajp.$(src_so) "$(inst_so)" <.y
950 copy modules\proxy\$(LONG)\mod_proxy_balancer.$(src_so) "$(inst_so)" <.y
951 copy modules\proxy\$(LONG)\mod_proxy_connect.$(src_so) "$(inst_so)" <.y
952 copy modules\proxy\$(LONG)\mod_proxy_express.$(src_so) "$(inst_so)" <.y
953 copy modules\proxy\$(LONG)\mod_proxy_fcgi.$(src_so) "$(inst_so)" <.y
954 copy modules\proxy\$(LONG)\mod_proxy_ftp.$(src_so) "$(inst_so)" <.y
955 copy modules\proxy\$(LONG)\mod_proxy_hcheck.$(src_so) "$(inst_so)" <.y
956 copy modules\proxy\$(LONG)\mod_proxy_http.$(src_so) "$(inst_so)" <.y
957 copy modules\proxy\$(LONG)\mod_proxy_scgi.$(src_so) "$(inst_so)" <.y
958 copy modules\proxy\$(LONG)\mod_proxy_uwsgi.$(src_so) "$(inst_so)" <.y
959 copy modules\proxy\$(LONG)\mod_proxy_wstunnel.$(src_so) "$(inst_so)" <.y
960 !IF EXIST("srclib\serf")
961 copy modules\proxy\$(LONG)\mod_serf.$(src_so) "$(inst_so)" <.y
963 copy modules\proxy\balancers\$(LONG)\mod_lbmethod_bybusyness.$(src_so) "$(inst_so)" <.y
964 copy modules\proxy\balancers\$(LONG)\mod_lbmethod_byrequests.$(src_so) "$(inst_so)" <.y
965 copy modules\proxy\balancers\$(LONG)\mod_lbmethod_bytraffic.$(src_so) "$(inst_so)" <.y
966 copy modules\proxy\balancers\$(LONG)\mod_lbmethod_heartbeat.$(src_so) "$(inst_so)" <.y
968 copy modules\proxy\examples\$(LONG)\mod_lbmethod_rr.$(src_so) "$(inst_so)" <.y
970 copy modules\session\$(LONG)\mod_session.$(src_so) "$(inst_so)" <.y
971 copy modules\session\$(LONG)\mod_session_cookie.$(src_so) "$(inst_so)" <.y
972 copy modules\session\$(LONG)\mod_session_dbd.$(src_so) "$(inst_so)" <.y
973 copy modules\slotmem\$(LONG)\mod_slotmem_plain.$(src_so) "$(inst_so)" <.y
974 copy modules\slotmem\$(LONG)\mod_slotmem_shm.$(src_so) "$(inst_so)" <.y
975 !IF EXIST("srclib\openssl")
976 !IF EXIST("srclib\jansson") && EXIST("srclib\curl")
977 copy modules\md\$(LONG)\mod_md.$(src_so) "$(inst_so)" <.y
978 -copy srclib\jansson\bin\jansson.$(src_dll) "$(inst_dll)" <.y
979 -copy srclib\curl\bin\libcurl.$(src_dll) "$(inst_dll)" <.y
981 # copy modules\session\$(LONG)\mod_session_crypto.$(src_so) "$(inst_so)" <.y
982 copy modules\ssl\$(LONG)\mod_ssl.$(src_so) "$(inst_so)" <.y
983 -copy srclib\openssl\$(SSLBIN)\libeay32.$(src_dll) "$(inst_dll)" <.y
984 -copy srclib\openssl\$(SSLBIN)\ssleay32.$(src_dll) "$(inst_dll)" <.y
985 -copy srclib\openssl\$(SSLBIN)\openssl.$(src_exe) "$(inst_exe)" <.y
986 copy support\$(LONG)\abs.$(src_exe) "$(inst_exe)" <.y
988 copy support\$(LONG)\ab.$(src_exe) "$(inst_exe)" <.y
989 # copy support\$(LONG)\fcgistarter.$(src_exe) "$(inst_exe)" <.y
990 copy support\$(LONG)\htcacheclean.$(src_exe) "$(inst_exe)" <.y
991 copy support\$(LONG)\htdbm.$(src_exe) "$(inst_exe)" <.y
992 copy support\$(LONG)\htdigest.$(src_exe) "$(inst_exe)" <.y
993 copy support\$(LONG)\htpasswd.$(src_exe) "$(inst_exe)" <.y
994 copy support\$(LONG)\httxt2dbm.$(src_exe) "$(inst_exe)" <.y
995 copy support\$(LONG)\logresolve.$(src_exe) "$(inst_exe)" <.y
996 copy support\$(LONG)\rotatelogs.$(src_exe) "$(inst_exe)" <.y
997 copy support\win32\$(LONG)\ApacheMonitor.$(src_exe) "$(inst_exe)" <.y
998 copy support\win32\$(LONG)\wintty.$(src_exe) "$(inst_exe)" <.y
1001 # First we create the tree and populate the README so that
1002 # whatever happens, all licensing has already propagated.
1003 # Then repeatedly invoke the _copybin build to copy the
1004 # real binaries, then pdb symbols, anf finally dbg syms.
1005 # Then hit docs of various sorts, then includes and libs,
1006 # and finally do the .conf magic.
1012 -mkdir "$(INSTDIR)\bin"
1013 !IF EXIST("srclib\apr-util")
1014 -mkdir "$(INSTDIR)\bin\iconv"
1016 -mkdir "$(INSTDIR)\cgi-bin"
1017 -mkdir "$(INSTDIR)\conf"
1018 -mkdir "$(INSTDIR)\conf\extra"
1019 -mkdir "$(INSTDIR)\conf\original"
1020 -mkdir "$(INSTDIR)\conf\original\extra"
1021 -mkdir "$(INSTDIR)\error"
1022 -mkdir "$(INSTDIR)\htdocs"
1023 -mkdir "$(INSTDIR)\manual"
1024 -mkdir "$(INSTDIR)\icons"
1025 -mkdir "$(INSTDIR)\include"
1026 -mkdir "$(INSTDIR)\lib"
1027 -mkdir "$(INSTDIR)\logs"
1028 -mkdir "$(INSTDIR)\modules"
1029 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=$(SHORT) LONG=$(LONG) \
1030 _copybin src_exe=exe src_dll=dll src_so=so \
1031 inst_exe="$(INSTDIR)\bin" \
1032 inst_dll="$(INSTDIR)\bin" \
1033 inst_so="$(INSTDIR)\modules"
1034 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=$(SHORT) LONG=$(LONG) \
1035 _copybin src_exe=pdb src_dll=pdb src_so=pdb \
1036 inst_exe="$(INSTDIR)\bin" \
1037 inst_dll="$(INSTDIR)\bin" \
1038 inst_so="$(INSTDIR)\modules"
1039 !IF EXIST("srclib\apr-util")
1041 $(MAKE) $(MAKEOPT) -f build\modules.mk.win install \
1042 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=. \
1043 INSTALL_DIR="$(INSTDIR)\bin\iconv"
1046 copy docs\cgi-examples\printenv "$(INSTDIR)\cgi-bin\printenv.pl" <.y
1047 copy docs\cgi-examples\printenv.vbs "$(INSTDIR)\cgi-bin\printenv.vbs" <.y
1048 copy docs\cgi-examples\printenv.wsf "$(INSTDIR)\cgi-bin\printenv.wsf" <.y
1049 xcopy docs\error "$(INSTDIR)\error" /s /d < .a
1050 xcopy docs\docroot "$(INSTDIR)\htdocs" /d < .a
1051 xcopy docs\icons "$(INSTDIR)\icons" /s /d < .a
1052 xcopy docs\manual "$(INSTDIR)\manual" /s /d < .a
1054 srclib\expat\lib\expat.h \
1055 srclib\apr-util\xml\expat\lib\expat.h \
1056 srclib\apr\include\*.h \
1057 srclib\apr-util\include\*.h \
1058 !IF EXIST("srclib\serf")
1063 modules\cache\mod_cache.h \
1064 modules\cache\cache_common.h \
1065 modules\core\mod_so.h \
1066 modules\core\mod_watchdog.h \
1067 modules\database\mod_dbd.h \
1068 modules\dav\main\mod_dav.h \
1069 modules\filters\mod_include.h \
1070 modules\generators\mod_cgi.h \
1071 modules\generators\mod_status.h \
1072 modules\loggers\mod_log_config.h \
1073 modules\mappers\mod_rewrite.h \
1074 modules\proxy\mod_proxy.h \
1075 modules\proxy\mod_serf.h \
1076 modules\ssl\mod_ssl.h \
1077 modules\ssl\mod_ssl_openssl.h \
1079 @copy %f "$(INSTDIR)\include" < .y > nul
1080 copy srclib\apr\Lib$(SHORT)\apr-1.lib "$(INSTDIR)\lib" <.y
1081 copy srclib\apr\Lib$(SHORT)\apr-1.pdb "$(INSTDIR)\lib" <.y
1082 copy srclib\apr\$(LONG)\libapr-1.lib "$(INSTDIR)\lib" <.y
1083 copy srclib\apr\$(LONG)\libapr-1.exp "$(INSTDIR)\lib" <.y
1084 !IF EXIST("srclib\apr-util")
1085 copy srclib\apr-util\Lib$(SHORT)\aprutil-1.lib "$(INSTDIR)\lib" <.y
1086 copy srclib\apr-util\Lib$(SHORT)\aprutil-1.pdb "$(INSTDIR)\lib" <.y
1087 copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml.lib "$(INSTDIR)\lib" <.y
1088 copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml.pdb "$(INSTDIR)\lib" <.y
1089 copy srclib\apr-util\$(LONG)\libaprutil-1.lib "$(INSTDIR)\lib" <.y
1090 copy srclib\apr-util\$(LONG)\libaprutil-1.exp "$(INSTDIR)\lib" <.y
1091 copy srclib\apr-iconv\$(LONG)\libapriconv-1.lib "$(INSTDIR)\lib" <.y
1092 copy srclib\apr-iconv\$(LONG)\libapriconv-1.exp "$(INSTDIR)\lib" <.y
1094 copy srclib\expat\win32\$(LONG)\libexpatMT.lib "$(INSTDIR)\lib" <.y
1095 copy srclib\expat\win32\$(LONG)\libexpatMT.exp "$(INSTDIR)\lib" <.y
1096 copy srclib\expat\win32\$(LONG)\libexpat.lib "$(INSTDIR)\lib" <.y
1097 copy srclib\expat\win32\$(LONG)\libexpat.exp "$(INSTDIR)\lib" <.y
1098 copy srclib\expat\win32\$(LONG)\libexpat.dll "$(INSTDIR)\bin" <.y
1100 !IF EXIST("srclib\serf")
1101 copy srclib\serf\$(LONG)\libserf.lib "$(INSTDIR)\lib" <.y
1102 copy srclib\serf\$(LONG)\libserf.exp "$(INSTDIR)\lib" <.y
1104 copy $(LONG)\libhttpd.exp "$(INSTDIR)\lib" <.y
1105 copy $(LONG)\libhttpd.lib "$(INSTDIR)\lib" <.y
1106 copy modules\dav\main\$(LONG)\mod_dav.exp "$(INSTDIR)\lib" <.y
1107 copy modules\dav\main\$(LONG)\mod_dav.lib "$(INSTDIR)\lib" <.y
1108 for %f in ( charset.conv magic mime.types ) do ( \
1109 copy docs\conf\%f "$(INSTDIR)\conf\original\%f" <.y )
1110 awk -f build\installwinconf.awk $(DOMAINNAME) $(SERVERNAME) \
1111 $(SERVERADMIN) $(PORT) $(SSLPORT) "$(INSTDIR) " docs/conf/
1112 copy "support\dbmmanage.in" "$(INSTDIR)\bin\dbmmanage.pl"
1113 -awk -f <<script.awk "support/dbmmanage.in" >"$(INSTDIR)\bin\dbmmanage.pl"
1114 { if ( $$0 ~ /^BEGIN \{ @AnyDBM_File::/ ) {
1115 sub( /ISA = qw\(.*\)/, "ISA = qw(SDBM_File)" );
1117 if ( $$0 !~ /^#!@perlbin@/ )
1125 !IF EXIST("$(INSTDIR)\cgi-bin")
1126 -awk -f <<script.awk "docs/cgi-examples/printenv" > "$(INSTDIR)\cgi-bin\printenv.pl"
1128 if ( "perl -e \"print $$^X;\"" | getline perlroot ) {
1129 gsub( /\\/, "/", perlroot );
1130 print "#!" perlroot;
1134 if ( $$0 !~ /^#!/ ) {
1139 -cscript -nologo <<script.vbs "docs/cgi-examples/printenv.vbs" "$(INSTDIR)\cgi-bin\printenv.vbs"
1141 Set fso = CreateObject("Scripting.FileSystemObject")
1142 Set f = fso.OpenTextFile(WScript.Arguments(0), 1)
1146 Set f = fso.OpenTextFile(WScript.Arguments(1), 2, TRUE)
1147 f.WriteLine "'!" & Replace(WScript.FullName, "\", "/") & " -nologo"
1151 -cscript -nologo <<script.vbs "docs/cgi-examples/printenv.wsf" "$(INSTDIR)\cgi-bin\printenv.wsf"
1153 Set fso = CreateObject("Scripting.FileSystemObject")
1154 Set f = fso.OpenTextFile(WScript.Arguments(0), 1)
1158 Set f = fso.OpenTextFile(WScript.Arguments(1), 2, TRUE)
1159 f.WriteLine "'!" & Replace(WScript.FullName, "\", "/") & " -nologo"