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
279 cd srclib\$(UTILDIR)\dbd
280 for %d in (odbc $(DBD_LIST)) do \
281 $(MAKE) $(MAKEOPT) -f apr_dbd_%d.mak CFG="apr_dbd_%d - Win32 $(LONG)" RECURSE=0 $(CTARGET)
283 for %d in ($(DBM_LIST) x) do if not %d == x \
284 $(MAKE) $(MAKEOPT) -f apr_dbm_%d.mak CFG="apr_dbm_%d - Win32 $(LONG)" RECURSE=0 $(CTARGET)
286 !ELSEIF $(USESLN) == 1
287 for %d in (odbc $(DBD_LIST)) do \
288 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project apr_dbd_%d
289 for %d in ($(DBM_LIST) x) do if not %d == x \
290 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project apr_dbm_%d
292 @for %d in (odbc $(DBD_LIST)) do \
293 msdev $(TLP).dsw /USEENV /MAKE \
294 "apr_dbd_%d - Win32 $(LONG)" /NORECURSE $(CTARGET)
295 @for %d in ($(DBM_LIST) x) do if not %d == x \
296 msdev $(TLP).dsw /USEENV /MAKE \
297 "apr_dbm_%d - Win32 $(LONG)" /NORECURSE $(CTARGET)
301 !IF "$(INSTDIR)" == ""
304 !IF "$(DOMAINNAME)" == ""
305 DOMAINNAME=example.com
307 !IF "$(SERVERNAME)" == ""
308 SERVERNAME=www.$(DOMAINNAME)
310 !IF "$(SERVERADMIN)" == ""
311 SERVERADMIN=admin@$(DOMAINNAME)
316 !IF "$(SSLPORT)" == ""
322 !MESSAGE INSTDIR = $(INSTDIR)
323 !MESSAGE DOMAINNAME = $(DOMAINNAME)
324 !MESSAGE SERVERNAME = $(SERVERNAME)
325 !MESSAGE SERVERADMIN = $(SERVERADMIN)
326 !MESSAGE PORT = $(PORT)
327 !IF EXIST("srclib\openssl")
328 !MESSAGE SSLPORT = $(SSLPORT)
331 !MESSAGE To change these options use 'nmake -f Makefile.win [option=value]'
332 !MESSAGE Example: nmake -f Makefile.win PORT=8080
338 # Only default the behavior if MAKEOPT= is omitted
340 # Microsoft NMake options
342 !ELSEIF "$(MAKE)" == "make"
343 # Borland make options? Not really supported (yet)
352 bscmake.exe -nologo -Iu -o Apache.bsc *.sbr
356 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release _build
359 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug _build
362 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release _build _install
365 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug _build _install
367 clean: _cleanr _cleand
368 -if exist Browse\. rd /s Browse < << > nul
375 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET=CLEAN _build
378 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug CTARGET=CLEAN _build
381 echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
382 !IF !EXIST("srclib\apr-util")
384 $(MAKE) $(MAKEOPT) -f expat.mak CFG="expat - Win32 $(LONG)" RECURSE=0 $(CTARGET)
388 $(MAKE) $(MAKEOPT) -f apr.mak CFG="apr - Win32 $(LONG)" RECURSE=0 $(CTARGET)
389 $(MAKE) $(MAKEOPT) -f libapr.mak CFG="libapr - Win32 $(LONG)" RECURSE=0 $(CTARGET)
391 !IF EXIST("srclib\apr-util")
393 $(MAKE) $(MAKEOPT) -f apriconv.mak CFG="apriconv - Win32 $(LONG)" RECURSE=0 $(CTARGET)
394 $(MAKE) $(MAKEOPT) -f libapriconv.mak CFG="libapriconv - Win32 $(LONG)" RECURSE=0 $(CTARGET)
395 !IF "$(CTARGET)" == "CLEAN"
396 $(MAKE) $(MAKEOPT) -f build\modules.mk.win clean \
397 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=.
400 $(MAKE) $(MAKEOPT) -f Makefile.win all \
401 BUILD_MODE=$(LONG) BIND_MODE=shared
403 $(MAKE) $(MAKEOPT) -f Makefile.win all \
404 BUILD_MODE=$(LONG) BIND_MODE=shared
408 cd srclib\apr-util\xml\expat\lib
409 $(MAKE) $(MAKEOPT) -f xml.mak CFG="xml - Win32 $(LONG)" RECURSE=0 $(CTARGET)
411 $(MAKE) $(MAKEOPT) -f aprutil.mak CFG="aprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET)
412 $(MAKE) $(MAKEOPT) -f libaprutil.mak CFG="libaprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET)
414 $(MAKE) $(MAKEOPT) -f apr_ldap.mak CFG="apr_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
417 # DBD, DBM components live now in apr
421 for %d in (odbc $(DBD_LIST)) do \
422 $(MAKE) $(MAKEOPT) -f apr_dbd_%d.mak CFG="apr_dbd_%d - Win32 $(LONG)" RECURSE=0 $(CTARGET)
425 for %d in ($(DBM_LIST) x) do if not %d == x \
426 $(MAKE) $(MAKEOPT) -f apr_dbm_%d.mak CFG="apr_dbm_%d - Win32 $(LONG)" RECURSE=0 $(CTARGET)
430 $(MAKE) $(MAKEOPT) -f gen_test_char.mak CFG="gen_test_char - Win32 $(LONG)" RECURSE=0 $(CTARGET)
432 $(MAKE) $(MAKEOPT) -f libhttpd.mak CFG="libhttpd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
433 $(MAKE) $(MAKEOPT) -f httpd.mak CFG="httpd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
434 # build ldap prior to authnz_ldap
436 $(MAKE) $(MAKEOPT) -f mod_ldap.mak CFG="mod_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
439 $(MAKE) $(MAKEOPT) -f mod_dbd.mak CFG="mod_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
442 $(MAKE) $(MAKEOPT) -f mod_access_compat.mak CFG="mod_access_compat - Win32 $(LONG)" RECURSE=0 $(CTARGET)
443 $(MAKE) $(MAKEOPT) -f mod_allowhandlers.mak CFG="mod_allowhandlers - Win32 $(LONG)" RECURSE=0 $(CTARGET)
444 $(MAKE) $(MAKEOPT) -f mod_allowmethods.mak CFG="mod_allowmethods - Win32 $(LONG)" RECURSE=0 $(CTARGET)
445 $(MAKE) $(MAKEOPT) -f mod_auth_basic.mak CFG="mod_auth_basic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
446 $(MAKE) $(MAKEOPT) -f mod_auth_digest.mak CFG="mod_auth_digest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
447 $(MAKE) $(MAKEOPT) -f mod_auth_form.mak CFG="mod_auth_form - Win32 $(LONG)" RECURSE=0 $(CTARGET)
448 $(MAKE) $(MAKEOPT) -f mod_authn_anon.mak CFG="mod_authn_anon - Win32 $(LONG)" RECURSE=0 $(CTARGET)
449 $(MAKE) $(MAKEOPT) -f mod_authn_core.mak CFG="mod_authn_core - Win32 $(LONG)" RECURSE=0 $(CTARGET)
450 $(MAKE) $(MAKEOPT) -f mod_authn_dbd.mak CFG="mod_authn_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
451 $(MAKE) $(MAKEOPT) -f mod_authn_dbm.mak CFG="mod_authn_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
452 $(MAKE) $(MAKEOPT) -f mod_authn_file.mak CFG="mod_authn_file - Win32 $(LONG)" RECURSE=0 $(CTARGET)
453 $(MAKE) $(MAKEOPT) -f mod_authn_socache.mak CFG="mod_authn_socache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
454 $(MAKE) $(MAKEOPT) -f mod_authnz_fcgi.mak CFG="mod_authnz_fcgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
455 $(MAKE) $(MAKEOPT) -f mod_authnz_ldap.mak CFG="mod_authnz_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
456 $(MAKE) $(MAKEOPT) -f mod_authz_core.mak CFG="mod_authz_core - Win32 $(LONG)" RECURSE=0 $(CTARGET)
457 $(MAKE) $(MAKEOPT) -f mod_authz_dbd.mak CFG="mod_authz_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
458 $(MAKE) $(MAKEOPT) -f mod_authz_dbm.mak CFG="mod_authz_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
459 $(MAKE) $(MAKEOPT) -f mod_authz_groupfile.mak CFG="mod_authz_groupfile - Win32 $(LONG)" RECURSE=0 $(CTARGET)
460 $(MAKE) $(MAKEOPT) -f mod_authz_host.mak CFG="mod_authz_host - Win32 $(LONG)" RECURSE=0 $(CTARGET)
461 $(MAKE) $(MAKEOPT) -f mod_authz_owner.mak CFG="mod_authz_owner - Win32 $(LONG)" RECURSE=0 $(CTARGET)
462 $(MAKE) $(MAKEOPT) -f mod_authz_user.mak CFG="mod_authz_user - Win32 $(LONG)" RECURSE=0 $(CTARGET)
464 cd modules\arch\win32
465 $(MAKE) $(MAKEOPT) -f mod_isapi.mak CFG="mod_isapi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
468 $(MAKE) $(MAKEOPT) -f mod_cache.mak CFG="mod_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
469 $(MAKE) $(MAKEOPT) -f mod_cache_disk.mak CFG="mod_cache_disk - Win32 $(LONG)" RECURSE=0 $(CTARGET)
470 $(MAKE) $(MAKEOPT) -f mod_cache_socache.mak CFG="mod_cache_socache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
471 $(MAKE) $(MAKEOPT) -f mod_file_cache.mak CFG="mod_file_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
472 $(MAKE) $(MAKEOPT) -f mod_socache_dbm.mak CFG="mod_socache_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
473 # $(MAKE) $(MAKEOPT) -f mod_socache_dc.mak CFG="mod_socache_dc - Win32 $(LONG)" RECURSE=0 $(CTARGET)
474 $(MAKE) $(MAKEOPT) -f mod_socache_memcache.mak CFG="mod_socache_memcache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
475 $(MAKE) $(MAKEOPT) -f mod_socache_shmcb.mak CFG="mod_socache_shmcb - Win32 $(LONG)" RECURSE=0 $(CTARGET)
476 $(MAKE) $(MAKEOPT) -f mod_socache_redis.mak CFG="mod_socache_redis - Win32 $(LONG)" RECURSE=0 $(CTARGET)
479 $(MAKE) $(MAKEOPT) -f mod_macro.mak CFG="mod_macro - Win32 $(LONG)" RECURSE=0 $(CTARGET)
480 $(MAKE) $(MAKEOPT) -f mod_watchdog.mak CFG="mod_watchdog - Win32 $(LONG)" RECURSE=0 $(CTARGET)
483 $(MAKE) $(MAKEOPT) -f mod_heartbeat.mak CFG="mod_heartbeat - Win32 $(LONG)" RECURSE=0 $(CTARGET)
484 $(MAKE) $(MAKEOPT) -f mod_heartmonitor.mak CFG="mod_heartmonitor - Win32 $(LONG)" RECURSE=0 $(CTARGET)
487 $(MAKE) $(MAKEOPT) -f mod_dav.mak CFG="mod_dav - Win32 $(LONG)" RECURSE=0 $(CTARGET)
490 $(MAKE) $(MAKEOPT) -f mod_dav_fs.mak CFG="mod_dav_fs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
493 $(MAKE) $(MAKEOPT) -f mod_dav_lock.mak CFG="mod_dav_lock - Win32 $(LONG)" RECURSE=0 $(CTARGET)
497 $(MAKE) $(MAKEOPT) -f mod_bucketeer.mak CFG="mod_bucketeer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
499 $(MAKE) $(MAKEOPT) -f mod_dumpio.mak CFG="mod_dumpio - Win32 $(LONG)" RECURSE=0 $(CTARGET)
503 $(MAKE) $(MAKEOPT) -f mod_echo.mak CFG="mod_echo - Win32 $(LONG)" RECURSE=0 $(CTARGET)
508 $(MAKE) $(MAKEOPT) -f mod_case_filter.mak CFG="mod_case_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
509 $(MAKE) $(MAKEOPT) -f mod_case_filter_in.mak CFG="mod_case_filter_in - Win32 $(LONG)" RECURSE=0 $(CTARGET)
510 $(MAKE) $(MAKEOPT) -f mod_example_hooks.mak CFG="mod_example_hooks - Win32 $(LONG)" RECURSE=0 $(CTARGET)
511 $(MAKE) $(MAKEOPT) -f mod_example_ipc.mak CFG="mod_example_ipc - Win32 $(LONG)" RECURSE=0 $(CTARGET)
515 $(MAKE) $(MAKEOPT) -f mod_buffer.mak CFG="mod_buffer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
516 $(MAKE) $(MAKEOPT) -f mod_charset_lite.mak CFG="mod_charset_lite - Win32 $(LONG)" RECURSE=0 $(CTARGET)
517 $(MAKE) $(MAKEOPT) -f mod_data.mak CFG="mod_data - Win32 $(LONG)" RECURSE=0 $(CTARGET)
518 !IF EXIST("srclib\zlib")
519 $(MAKE) $(MAKEOPT) -f mod_deflate.mak CFG="mod_deflate - Win32 $(LONG)" RECURSE=0 $(CTARGET)
521 $(MAKE) $(MAKEOPT) -f mod_ext_filter.mak CFG="mod_ext_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
522 $(MAKE) $(MAKEOPT) -f mod_filter.mak CFG="mod_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
523 $(MAKE) $(MAKEOPT) -f mod_include.mak CFG="mod_include - Win32 $(LONG)" RECURSE=0 $(CTARGET)
524 !IF EXIST("srclib\libxml2")
525 $(MAKE) $(MAKEOPT) -f mod_proxy_html.mak CFG="mod_proxy_html - Win32 $(LONG)" RECURSE=0 $(CTARGET)
526 $(MAKE) $(MAKEOPT) -f mod_xml2enc.mak CFG="mod_xml2enc - Win32 $(LONG)" RECURSE=0 $(CTARGET)
528 $(MAKE) $(MAKEOPT) -f mod_ratelimit.mak CFG="mod_ratelimit - Win32 $(LONG)" RECURSE=0 $(CTARGET)
529 $(MAKE) $(MAKEOPT) -f mod_reflector.mak CFG="mod_reflector - Win32 $(LONG)" RECURSE=0 $(CTARGET)
530 $(MAKE) $(MAKEOPT) -f mod_reqtimeout.mak CFG="mod_reqtimeout - Win32 $(LONG)" RECURSE=0 $(CTARGET)
531 $(MAKE) $(MAKEOPT) -f mod_request.mak CFG="mod_request - Win32 $(LONG)" RECURSE=0 $(CTARGET)
532 $(MAKE) $(MAKEOPT) -f mod_sed.mak CFG="mod_sed - Win32 $(LONG)" RECURSE=0 $(CTARGET)
533 $(MAKE) $(MAKEOPT) -f mod_substitute.mak CFG="mod_substitute - Win32 $(LONG)" RECURSE=0 $(CTARGET)
535 cd modules\generators
536 $(MAKE) $(MAKEOPT) -f mod_asis.mak CFG="mod_asis - Win32 $(LONG)" RECURSE=0 $(CTARGET)
537 $(MAKE) $(MAKEOPT) -f mod_autoindex.mak CFG="mod_autoindex - Win32 $(LONG)" RECURSE=0 $(CTARGET)
538 $(MAKE) $(MAKEOPT) -f mod_cgi.mak CFG="mod_cgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
539 $(MAKE) $(MAKEOPT) -f mod_info.mak CFG="mod_info - Win32 $(LONG)" RECURSE=0 $(CTARGET)
540 $(MAKE) $(MAKEOPT) -f mod_status.mak CFG="mod_status - Win32 $(LONG)" RECURSE=0 $(CTARGET)
543 $(MAKE) $(MAKEOPT) -f mod_mime.mak CFG="mod_mime - Win32 $(LONG)" RECURSE=0 $(CTARGET)
545 !IF EXIST("srclib\nghttp2")
547 $(MAKE) $(MAKEOPT) -f mod_http2.mak CFG="mod_http2 - Win32 $(LONG)" RECURSE=0 $(CTARGET)
548 $(MAKE) $(MAKEOPT) -f mod_proxy_http2.mak CFG="mod_proxy_http2 - Win32 $(LONG)" RECURSE=0 $(CTARGET)
552 $(MAKE) $(MAKEOPT) -f mod_log_config.mak CFG="mod_log_config - Win32 $(LONG)" RECURSE=0 $(CTARGET)
553 $(MAKE) $(MAKEOPT) -f mod_log_debug.mak CFG="mod_log_debug - Win32 $(LONG)" RECURSE=0 $(CTARGET)
554 $(MAKE) $(MAKEOPT) -f mod_log_forensic.mak CFG="mod_log_forensic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
555 $(MAKE) $(MAKEOPT) -f mod_logio.mak CFG="mod_logio - Win32 $(LONG)" RECURSE=0 $(CTARGET)
557 !IF EXIST("srclib\lua")
559 $(MAKE) $(MAKEOPT) -f mod_lua.mak CFG="mod_lua - Win32 $(LONG)" RECURSE=0 $(CTARGET)
563 $(MAKE) $(MAKEOPT) -f mod_actions.mak CFG="mod_actions - Win32 $(LONG)" RECURSE=0 $(CTARGET)
564 $(MAKE) $(MAKEOPT) -f mod_alias.mak CFG="mod_alias - Win32 $(LONG)" RECURSE=0 $(CTARGET)
565 $(MAKE) $(MAKEOPT) -f mod_dir.mak CFG="mod_dir - Win32 $(LONG)" RECURSE=0 $(CTARGET)
566 $(MAKE) $(MAKEOPT) -f mod_imagemap.mak CFG="mod_imagemap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
567 $(MAKE) $(MAKEOPT) -f mod_negotiation.mak CFG="mod_negotiation - Win32 $(LONG)" RECURSE=0 $(CTARGET)
568 $(MAKE) $(MAKEOPT) -f mod_rewrite.mak CFG="mod_rewrite - Win32 $(LONG)" RECURSE=0 $(CTARGET)
569 $(MAKE) $(MAKEOPT) -f mod_speling.mak CFG="mod_speling - Win32 $(LONG)" RECURSE=0 $(CTARGET)
570 $(MAKE) $(MAKEOPT) -f mod_userdir.mak CFG="mod_userdir - Win32 $(LONG)" RECURSE=0 $(CTARGET)
571 $(MAKE) $(MAKEOPT) -f mod_vhost_alias.mak CFG="mod_vhost_alias - Win32 $(LONG)" RECURSE=0 $(CTARGET)
574 $(MAKE) $(MAKEOPT) -f mod_cern_meta.mak CFG="mod_cern_meta - Win32 $(LONG)" RECURSE=0 $(CTARGET)
575 $(MAKE) $(MAKEOPT) -f mod_env.mak CFG="mod_env - Win32 $(LONG)" RECURSE=0 $(CTARGET)
576 $(MAKE) $(MAKEOPT) -f mod_expires.mak CFG="mod_expires - Win32 $(LONG)" RECURSE=0 $(CTARGET)
577 $(MAKE) $(MAKEOPT) -f mod_headers.mak CFG="mod_headers - Win32 $(LONG)" RECURSE=0 $(CTARGET)
578 $(MAKE) $(MAKEOPT) -f mod_ident.mak CFG="mod_ident - Win32 $(LONG)" RECURSE=0 $(CTARGET)
579 $(MAKE) $(MAKEOPT) -f mod_mime_magic.mak CFG="mod_mime_magic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
580 $(MAKE) $(MAKEOPT) -f mod_remoteip.mak CFG="mod_remoteip - Win32 $(LONG)" RECURSE=0 $(CTARGET)
581 $(MAKE) $(MAKEOPT) -f mod_setenvif.mak CFG="mod_setenvif - Win32 $(LONG)" RECURSE=0 $(CTARGET)
582 $(MAKE) $(MAKEOPT) -f mod_unique_id.mak CFG="mod_unique_id - Win32 $(LONG)" RECURSE=0 $(CTARGET)
583 $(MAKE) $(MAKEOPT) -f mod_usertrack.mak CFG="mod_usertrack - Win32 $(LONG)" RECURSE=0 $(CTARGET)
584 $(MAKE) $(MAKEOPT) -f mod_version.mak CFG="mod_version - Win32 $(LONG)" RECURSE=0 $(CTARGET)
587 $(MAKE) $(MAKEOPT) -f mod_proxy.mak CFG="mod_proxy - Win32 $(LONG)" RECURSE=0 $(CTARGET)
588 $(MAKE) $(MAKEOPT) -f mod_proxy_ajp.mak CFG="mod_proxy_ajp - Win32 $(LONG)" RECURSE=0 $(CTARGET)
589 $(MAKE) $(MAKEOPT) -f mod_proxy_balancer.mak CFG="mod_proxy_balancer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
590 $(MAKE) $(MAKEOPT) -f mod_proxy_connect.mak CFG="mod_proxy_connect - Win32 $(LONG)" RECURSE=0 $(CTARGET)
591 $(MAKE) $(MAKEOPT) -f mod_proxy_express.mak CFG="mod_proxy_express - Win32 $(LONG)" RECURSE=0 $(CTARGET)
592 $(MAKE) $(MAKEOPT) -f mod_proxy_fcgi.mak CFG="mod_proxy_fcgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
593 $(MAKE) $(MAKEOPT) -f mod_proxy_ftp.mak CFG="mod_proxy_ftp - Win32 $(LONG)" RECURSE=0 $(CTARGET)
594 $(MAKE) $(MAKEOPT) -f mod_proxy_hcheck.mak CFG="mod_proxy_hcheck - Win32 $(LONG)" RECURSE=0 $(CTARGET)
595 $(MAKE) $(MAKEOPT) -f mod_proxy_http.mak CFG="mod_proxy_http - Win32 $(LONG)" RECURSE=0 $(CTARGET)
596 $(MAKE) $(MAKEOPT) -f mod_proxy_scgi.mak CFG="mod_proxy_scgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
597 $(MAKE) $(MAKEOPT) -f mod_proxy_wstunnel.mak CFG="mod_proxy_wstunnel - Win32 $(LONG)" RECURSE=0 $(CTARGET)
598 !IF EXIST("srclib\serf")
599 $(MAKE) $(MAKEOPT) -f mod_serf.mak CFG="mod_serf - Win32 $(LONG)" RECURSE=0 $(CTARGET)
602 cd modules\proxy\balancers
603 $(MAKE) $(MAKEOPT) -f mod_lbmethod_bybusyness.mak CFG="mod_lbmethod_bybusyness - Win32 $(LONG)" RECURSE=0 $(CTARGET)
604 $(MAKE) $(MAKEOPT) -f mod_lbmethod_byrequests.mak CFG="mod_lbmethod_byrequests - Win32 $(LONG)" RECURSE=0 $(CTARGET)
605 $(MAKE) $(MAKEOPT) -f mod_lbmethod_bytraffic.mak CFG="mod_lbmethod_bytraffic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
606 $(MAKE) $(MAKEOPT) -f mod_lbmethod_heartbeat.mak CFG="mod_lbmethod_heartbeat - Win32 $(LONG)" RECURSE=0 $(CTARGET)
609 cd modules\proxy\examples
610 $(MAKE) $(MAKEOPT) -f mod_lbmethod_rr.mak CFG="mod_lbmethod_rr - Win32 $(LONG)" RECURSE=0 $(CTARGET)
614 $(MAKE) $(MAKEOPT) -f mod_session.mak CFG="mod_session - Win32 $(LONG)" RECURSE=0 $(CTARGET)
615 $(MAKE) $(MAKEOPT) -f mod_session_cookie.mak CFG="mod_session_cookie - Win32 $(LONG)" RECURSE=0 $(CTARGET)
616 $(MAKE) $(MAKEOPT) -f mod_session_dbd.mak CFG="mod_session_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
619 $(MAKE) $(MAKEOPT) -f mod_slotmem_plain.mak CFG="mod_slotmem_plain - Win32 $(LONG)" RECURSE=0 $(CTARGET)
620 $(MAKE) $(MAKEOPT) -f mod_slotmem_shm.mak CFG="mod_slotmem_shm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
622 !IF EXIST("srclib\openssl")
624 # $(MAKE) $(MAKEOPT) -f mod_session_crypto.mak CFG="mod_session_crypto - Win32 $(LONG)" RECURSE=0 $(CTARGET)
627 $(MAKE) $(MAKEOPT) -f mod_ssl.mak CFG="mod_ssl - Win32 $(LONG)" RECURSE=0 $(CTARGET)
630 $(MAKE) $(MAKEOPT) -f abs.mak CFG="abs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
634 $(MAKE) $(MAKEOPT) -f ab.mak CFG="ab - Win32 $(LONG)" RECURSE=0 $(CTARGET)
635 # $(MAKE) $(MAKEOPT) -f fcgistarter.mak CFG="fcgistarter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
636 $(MAKE) $(MAKEOPT) -f htcacheclean.mak CFG="htcacheclean - Win32 $(LONG)" RECURSE=0 $(CTARGET)
637 $(MAKE) $(MAKEOPT) -f htdbm.mak CFG="htdbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
638 $(MAKE) $(MAKEOPT) -f htdigest.mak CFG="htdigest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
639 $(MAKE) $(MAKEOPT) -f htpasswd.mak CFG="htpasswd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
640 $(MAKE) $(MAKEOPT) -f httxt2dbm.mak CFG="httxt2dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
641 $(MAKE) $(MAKEOPT) -f logresolve.mak CFG="logresolve - Win32 $(LONG)" RECURSE=0 $(CTARGET)
642 $(MAKE) $(MAKEOPT) -f rotatelogs.mak CFG="rotatelogs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
645 $(MAKE) $(MAKEOPT) -f ApacheMonitor.mak CFG="ApacheMonitor - Win32 $(LONG)" RECURSE=0 $(CTARGET)
646 $(MAKE) $(MAKEOPT) -f wintty.mak CFG="wintty - Win32 $(LONG)" RECURSE=0 $(CTARGET)
649 !ELSEIF $(USESLN) == 1
652 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/clean" _build
655 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug CTARGET="/clean" _build
658 echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
660 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project BuildAll
662 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project BuildBin
664 !IF EXIST("srclib\openssl")
665 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_ssl
666 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project abs
668 !IF EXIST("srclib\zlib")
669 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_deflate
671 !IF EXIST("srclib\lua")
672 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_lua
674 !IF EXIST("srclib\libxml2")
675 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_proxy_html
676 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_xml2enc
678 !IF EXIST("srclib\serf")
679 devenv $(TLP).sln /useenv $(CTARGET) $(LONG) /project mod_serf
685 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/CLEAN" _build
688 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug CTARGET="/CLEAN" _build
691 @echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
693 @msdev $(TLP).dsw /USEENV /MAKE \
694 "BuildAll - Win32 $(LONG)" $(CTARGET)
696 @msdev $(TLP).dsw /USEENV /MAKE \
697 "BuildBin - Win32 $(LONG)" $(CTARGET)
699 !IF "$(CTARGET)" == "/CLEAN"
700 !IF EXIST("srclib\apr-iconv")
702 @$(MAKE) $(MAKEOPT) -f build\modules.mk.win clean \
703 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=.
707 !IF EXIST("srclib\openssl")
708 @msdev $(TLP).dsw /USEENV /MAKE \
709 "mod_ssl - Win32 $(LONG)" \
710 "abs - Win32 $(LONG)" /NORECURSE $(CTARGET)
712 !IF EXIST("srclib\zlib")
713 @msdev $(TLP).dsw /USEENV /MAKE \
714 "mod_deflate - Win32 $(LONG)" /NORECURSE $(CTARGET)
716 !IF EXIST("srclib\lua")
717 @msdev $(TLP).dsw /USEENV /MAKE \
718 "mod_lua - Win32 $(LONG)" /NORECURSE $(CTARGET)
720 !IF EXIST("srclib\libxml2")
721 @msdev $(TLP).dsw /USEENV /MAKE \
722 "mod_proxy_html - Win32 $(LONG)" /NORECURSE $(CTARGET)
723 @msdev $(TLP).dsw /USEENV /MAKE \
724 "mod_xml2enc - Win32 $(LONG)" /NORECURSE $(CTARGET)
726 !IF EXIST("srclib\serf")
727 @msdev $(TLP).dsw /USEENV /MAKE \
728 "mod_serf - Win32 $(LONG)" /NORECURSE $(CTARGET)
735 copy $(LONG)\httpd.$(src_exe) "$(inst_exe)" <.y
736 copy $(LONG)\libhttpd.$(src_dll) "$(inst_dll)" <.y
737 copy srclib\apr\$(LONG)\libapr-1.$(src_dll) "$(inst_dll)" <.y
738 !IF EXIST("srclib\apr-util")
739 copy srclib\apr-iconv\$(LONG)\libapriconv-1.$(src_dll) "$(inst_dll)" <.y
740 copy srclib\apr-util\$(LONG)\libaprutil-1.$(src_dll) "$(inst_dll)" <.y
741 copy srclib\apr-util\ldap\$(LONG)\apr_ldap-1.$(src_dll) "$(inst_dll)" <.y
743 for %d in (odbc $(DBD_LIST)) do ( \
744 copy srclib\$(UTILDIR)\dbd\$(LONG)\apr_dbd_%d-1.$(src_dll) "$(inst_dll)" <.y \
746 for %d in ($(DBM_LIST) x) do if not %d == x ( \
747 copy srclib\$(UTILDIR)\dbm\$(LONG)\apr_dbm_%d-1.$(src_dll) "$(inst_dll)" <.y \
749 !IF EXIST("srclib\serf")
750 copy srclib\serf\$(LONG)\libserf.$(src_dll) "$(inst_dll)" <.y
752 !IF "$(SHORT)" == "D"
753 copy srclib\pcre\pcred.$(src_dll) "$(inst_dll)" <.y
755 copy srclib\pcre\pcre.$(src_dll) "$(inst_dll)" <.y
757 copy modules\aaa\$(LONG)\mod_access_compat.$(src_so) "$(inst_so)" <.y
758 copy modules\aaa\$(LONG)\mod_allowhandlers.$(src_so) "$(inst_so)" <.y
759 copy modules\aaa\$(LONG)\mod_allowmethods.$(src_so) "$(inst_so)" <.y
760 copy modules\aaa\$(LONG)\mod_auth_basic.$(src_so) "$(inst_so)" <.y
761 copy modules\aaa\$(LONG)\mod_auth_digest.$(src_so) "$(inst_so)" <.y
762 copy modules\aaa\$(LONG)\mod_auth_form.$(src_so) "$(inst_so)" <.y
763 copy modules\aaa\$(LONG)\mod_authn_anon.$(src_so) "$(inst_so)" <.y
764 copy modules\aaa\$(LONG)\mod_authn_core.$(src_so) "$(inst_so)" <.y
765 copy modules\aaa\$(LONG)\mod_authn_dbd.$(src_so) "$(inst_so)" <.y
766 copy modules\aaa\$(LONG)\mod_authn_dbm.$(src_so) "$(inst_so)" <.y
767 copy modules\aaa\$(LONG)\mod_authn_file.$(src_so) "$(inst_so)" <.y
768 copy modules\aaa\$(LONG)\mod_authn_socache.$(src_so) "$(inst_so)" <.y
769 copy modules\aaa\$(LONG)\mod_authnz_fcgi.$(src_so) "$(inst_so)" <.y
770 copy modules\aaa\$(LONG)\mod_authnz_ldap.$(src_so) "$(inst_so)" <.y
771 copy modules\aaa\$(LONG)\mod_authz_core.$(src_so) "$(inst_so)" <.y
772 copy modules\aaa\$(LONG)\mod_authz_dbd.$(src_so) "$(inst_so)" <.y
773 copy modules\aaa\$(LONG)\mod_authz_dbm.$(src_so) "$(inst_so)" <.y
774 copy modules\aaa\$(LONG)\mod_authz_core.$(src_so) "$(inst_so)" <.y
775 copy modules\aaa\$(LONG)\mod_authz_groupfile.$(src_so) "$(inst_so)" <.y
776 copy modules\aaa\$(LONG)\mod_authz_host.$(src_so) "$(inst_so)" <.y
777 copy modules\aaa\$(LONG)\mod_authz_owner.$(src_so) "$(inst_so)" <.y
778 copy modules\aaa\$(LONG)\mod_authz_user.$(src_so) "$(inst_so)" <.y
779 copy modules\arch\win32\$(LONG)\mod_isapi.$(src_so) "$(inst_so)" <.y
780 copy modules\cache\$(LONG)\mod_cache.$(src_so) "$(inst_so)" <.y
781 copy modules\cache\$(LONG)\mod_cache_disk.$(src_so) "$(inst_so)" <.y
782 copy modules\cache\$(LONG)\mod_cache_socache.$(src_so) "$(inst_so)" <.y
783 copy modules\cache\$(LONG)\mod_file_cache.$(src_so) "$(inst_so)" <.y
784 copy modules\cache\$(LONG)\mod_socache_dbm.$(src_so) "$(inst_so)" <.y
785 # copy modules\cache\$(LONG)\mod_socache_dc.$(src_so) "$(inst_so)" <.y
786 copy modules\cache\$(LONG)\mod_socache_memcache.$(src_so) "$(inst_so)" <.y
787 copy modules\cache\$(LONG)\mod_socache_shmcb.$(src_so) "$(inst_so)" <.y
788 copy modules\cache\$(LONG)\mod_socache_redis.$(src_so) "$(inst_so)" <.y
789 copy modules\core\$(LONG)\mod_macro.$(src_so) "$(inst_so)" <.y
790 copy modules\core\$(LONG)\mod_watchdog.$(src_so) "$(inst_so)" <.y
791 copy modules\cluster\$(LONG)\mod_heartbeat.$(src_so) "$(inst_so)" <.y
792 copy modules\cluster\$(LONG)\mod_heartmonitor.$(src_so) "$(inst_so)" <.y
793 copy modules\database\$(LONG)\mod_dbd.$(src_so) "$(inst_so)" <.y
794 copy modules\dav\fs\$(LONG)\mod_dav_fs.$(src_so) "$(inst_so)" <.y
795 copy modules\dav\lock\$(LONG)\mod_dav_lock.$(src_so) "$(inst_so)" <.y
796 copy modules\dav\main\$(LONG)\mod_dav.$(src_so) "$(inst_so)" <.y
798 copy modules\debugging\$(LONG)\mod_bucketeer.$(src_so) "$(inst_so)" <.y
800 copy modules\debugging\$(LONG)\mod_dumpio.$(src_so) "$(inst_so)" <.y
802 copy modules\echo\$(LONG)\mod_echo.$(src_so) "$(inst_so)" <.y
803 copy modules\examples\$(LONG)\mod_case_filter.$(src_so) "$(inst_so)" <.y
804 copy modules\examples\$(LONG)\mod_case_filter_in.$(src_so) "$(inst_so)" <.y
805 copy modules\examples\$(LONG)\mod_example_hooks.$(src_so) "$(inst_so)" <.y
806 copy modules\examples\$(LONG)\mod_example_ipc.$(src_so) "$(inst_so)" <.y
808 copy modules\filters\$(LONG)\mod_buffer.$(src_so) "$(inst_so)" <.y
809 copy modules\filters\$(LONG)\mod_charset_lite.$(src_so) "$(inst_so)" <.y
810 copy modules\filters\$(LONG)\mod_data.$(src_so) "$(inst_so)" <.y
811 !IF EXIST("srclib\zlib")
812 copy modules\filters\$(LONG)\mod_deflate.$(src_so) "$(inst_so)" <.y
813 !IF EXIST("srclib\zlib\zlib1.$(src_dll)")
814 copy srclib\zlib\zlib1.$(src_dll) "$(inst_dll)" <.y
817 copy modules\filters\$(LONG)\mod_ext_filter.$(src_so) "$(inst_so)" <.y
818 copy modules\filters\$(LONG)\mod_filter.$(src_so) "$(inst_so)" <.y
819 copy modules\filters\$(LONG)\mod_include.$(src_so) "$(inst_so)" <.y
820 !IF EXIST("srclib\libxml2")
821 copy modules\filters\$(LONG)\mod_proxy_html.$(src_so) "$(inst_so)" <.y
822 copy modules\filters\$(LONG)\mod_xml2enc.$(src_so) "$(inst_so)" <.y
823 !IF EXIST("srclib\libxml2\win32\bin.msvc\libxml2.$(src_dll)")
824 copy srclib\libxml2\win32\bin.msvc\libxml2.$(src_dll) "$(inst_dll)" <.y
827 copy modules\filters\$(LONG)\mod_ratelimit.$(src_so) "$(inst_so)" <.y
828 copy modules\filters\$(LONG)\mod_reflector.$(src_so) "$(inst_so)" <.y
829 copy modules\filters\$(LONG)\mod_reqtimeout.$(src_so) "$(inst_so)" <.y
830 copy modules\filters\$(LONG)\mod_request.$(src_so) "$(inst_so)" <.y
831 copy modules\filters\$(LONG)\mod_sed.$(src_so) "$(inst_so)" <.y
832 copy modules\filters\$(LONG)\mod_substitute.$(src_so) "$(inst_so)" <.y
833 copy modules\generators\$(LONG)\mod_asis.$(src_so) "$(inst_so)" <.y
834 copy modules\generators\$(LONG)\mod_autoindex.$(src_so) "$(inst_so)" <.y
835 copy modules\generators\$(LONG)\mod_cgi.$(src_so) "$(inst_so)" <.y
836 copy modules\generators\$(LONG)\mod_info.$(src_so) "$(inst_so)" <.y
837 copy modules\generators\$(LONG)\mod_status.$(src_so) "$(inst_so)" <.y
838 copy modules\http\$(LONG)\mod_mime.$(src_so) "$(inst_so)" <.y
839 !IF EXIST("srclib\nghttp2")
840 copy modules\http2\$(LONG)\mod_http2.$(src_so) "$(inst_so)" <.y
841 copy modules\http2\$(LONG)\mod_proxy_http2.$(src_so) "$(inst_so)" <.y
842 !IF "$(SHORT)" == "D"
843 copy srclib\nghttp2\lib\MSVC_obj\nghttp2d.$(src_dll) "$(inst_dll)" <.y
845 copy srclib\nghttp2\lib\MSVC_obj\nghttp2.$(src_dll) "$(inst_dll)" <.y
848 copy modules\ldap\$(LONG)\mod_ldap.$(src_so) "$(inst_so)" <.y
849 copy modules\loggers\$(LONG)\mod_log_config.$(src_so) "$(inst_so)" <.y
850 copy modules\loggers\$(LONG)\mod_log_debug.$(src_so) "$(inst_so)" <.y
851 copy modules\loggers\$(LONG)\mod_log_forensic.$(src_so) "$(inst_so)" <.y
852 copy modules\loggers\$(LONG)\mod_logio.$(src_so) "$(inst_so)" <.y
853 !IF EXIST("srclib\lua")
854 copy modules\lua\$(LONG)\mod_lua.$(src_so) "$(inst_so)" <.y
855 !IF EXIST("srclib\lua\src\lua51.$(src_dll)")
856 copy srclib\lua\src\lua51.$(src_dll) "$(inst_dll)" <.y
859 copy modules\mappers\$(LONG)\mod_actions.$(src_so) "$(inst_so)" <.y
860 copy modules\mappers\$(LONG)\mod_alias.$(src_so) "$(inst_so)" <.y
861 copy modules\mappers\$(LONG)\mod_dir.$(src_so) "$(inst_so)" <.y
862 copy modules\mappers\$(LONG)\mod_imagemap.$(src_so) "$(inst_so)" <.y
863 copy modules\mappers\$(LONG)\mod_negotiation.$(src_so) "$(inst_so)" <.y
864 copy modules\mappers\$(LONG)\mod_rewrite.$(src_so) "$(inst_so)" <.y
865 copy modules\mappers\$(LONG)\mod_speling.$(src_so) "$(inst_so)" <.y
866 copy modules\mappers\$(LONG)\mod_userdir.$(src_so) "$(inst_so)" <.y
867 copy modules\mappers\$(LONG)\mod_vhost_alias.$(src_so) "$(inst_so)" <.y
868 copy modules\metadata\$(LONG)\mod_cern_meta.$(src_so) "$(inst_so)" <.y
869 copy modules\metadata\$(LONG)\mod_env.$(src_so) "$(inst_so)" <.y
870 copy modules\metadata\$(LONG)\mod_expires.$(src_so) "$(inst_so)" <.y
871 copy modules\metadata\$(LONG)\mod_headers.$(src_so) "$(inst_so)" <.y
872 copy modules\metadata\$(LONG)\mod_ident.$(src_so) "$(inst_so)" <.y
873 copy modules\metadata\$(LONG)\mod_mime_magic.$(src_so) "$(inst_so)" <.y
874 copy modules\metadata\$(LONG)\mod_remoteip.$(src_so) "$(inst_so)" <.y
875 copy modules\metadata\$(LONG)\mod_setenvif.$(src_so) "$(inst_so)" <.y
876 copy modules\metadata\$(LONG)\mod_unique_id.$(src_so) "$(inst_so)" <.y
877 copy modules\metadata\$(LONG)\mod_usertrack.$(src_so) "$(inst_so)" <.y
878 copy modules\metadata\$(LONG)\mod_version.$(src_so) "$(inst_so)" <.y
879 copy modules\proxy\$(LONG)\mod_proxy.$(src_so) "$(inst_so)" <.y
880 copy modules\proxy\$(LONG)\mod_proxy_ajp.$(src_so) "$(inst_so)" <.y
881 copy modules\proxy\$(LONG)\mod_proxy_balancer.$(src_so) "$(inst_so)" <.y
882 copy modules\proxy\$(LONG)\mod_proxy_connect.$(src_so) "$(inst_so)" <.y
883 copy modules\proxy\$(LONG)\mod_proxy_express.$(src_so) "$(inst_so)" <.y
884 copy modules\proxy\$(LONG)\mod_proxy_fcgi.$(src_so) "$(inst_so)" <.y
885 copy modules\proxy\$(LONG)\mod_proxy_ftp.$(src_so) "$(inst_so)" <.y
886 copy modules\proxy\$(LONG)\mod_proxy_hcheck.$(src_so) "$(inst_so)" <.y
887 copy modules\proxy\$(LONG)\mod_proxy_http.$(src_so) "$(inst_so)" <.y
888 copy modules\proxy\$(LONG)\mod_proxy_scgi.$(src_so) "$(inst_so)" <.y
889 copy modules\proxy\$(LONG)\mod_proxy_wstunnel.$(src_so) "$(inst_so)" <.y
890 !IF EXIST("srclib\serf")
891 copy modules\proxy\$(LONG)\mod_serf.$(src_so) "$(inst_so)" <.y
893 copy modules\proxy\balancers\$(LONG)\mod_lbmethod_bybusyness.$(src_so) "$(inst_so)" <.y
894 copy modules\proxy\balancers\$(LONG)\mod_lbmethod_byrequests.$(src_so) "$(inst_so)" <.y
895 copy modules\proxy\balancers\$(LONG)\mod_lbmethod_bytraffic.$(src_so) "$(inst_so)" <.y
896 copy modules\proxy\balancers\$(LONG)\mod_lbmethod_heartbeat.$(src_so) "$(inst_so)" <.y
898 copy modules\proxy\examples\$(LONG)\mod_lbmethod_rr.$(src_so) "$(inst_so)" <.y
900 copy modules\session\$(LONG)\mod_session.$(src_so) "$(inst_so)" <.y
901 copy modules\session\$(LONG)\mod_session_cookie.$(src_so) "$(inst_so)" <.y
902 copy modules\session\$(LONG)\mod_session_dbd.$(src_so) "$(inst_so)" <.y
903 copy modules\slotmem\$(LONG)\mod_slotmem_plain.$(src_so) "$(inst_so)" <.y
904 copy modules\slotmem\$(LONG)\mod_slotmem_shm.$(src_so) "$(inst_so)" <.y
905 !IF EXIST("srclib\openssl")
906 # copy modules\session\$(LONG)\mod_session_crypto.$(src_so) "$(inst_so)" <.y
907 copy modules\ssl\$(LONG)\mod_ssl.$(src_so) "$(inst_so)" <.y
908 -copy srclib\openssl\$(SSLBIN)\libeay32.$(src_dll) "$(inst_dll)" <.y
909 -copy srclib\openssl\$(SSLBIN)\ssleay32.$(src_dll) "$(inst_dll)" <.y
910 -copy srclib\openssl\$(SSLBIN)\openssl.$(src_exe) "$(inst_exe)" <.y
911 copy support\$(LONG)\abs.$(src_exe) "$(inst_exe)" <.y
913 copy support\$(LONG)\ab.$(src_exe) "$(inst_exe)" <.y
914 # copy support\$(LONG)\fcgistarter.$(src_exe) "$(inst_exe)" <.y
915 copy support\$(LONG)\htcacheclean.$(src_exe) "$(inst_exe)" <.y
916 copy support\$(LONG)\htdbm.$(src_exe) "$(inst_exe)" <.y
917 copy support\$(LONG)\htdigest.$(src_exe) "$(inst_exe)" <.y
918 copy support\$(LONG)\htpasswd.$(src_exe) "$(inst_exe)" <.y
919 copy support\$(LONG)\httxt2dbm.$(src_exe) "$(inst_exe)" <.y
920 copy support\$(LONG)\logresolve.$(src_exe) "$(inst_exe)" <.y
921 copy support\$(LONG)\rotatelogs.$(src_exe) "$(inst_exe)" <.y
922 copy support\win32\$(LONG)\ApacheMonitor.$(src_exe) "$(inst_exe)" <.y
923 copy support\win32\$(LONG)\wintty.$(src_exe) "$(inst_exe)" <.y
926 # First we create the tree and populate the README so that
927 # whatever happens, all licensing has already propagated.
928 # Then repeatedly invoke the _copybin build to copy the
929 # real binaries, then pdb symbols, anf finally dbg syms.
930 # Then hit docs of various sorts, then includes and libs,
931 # and finally do the .conf magic.
937 -mkdir "$(INSTDIR)\bin"
938 !IF EXIST("srclib\apr-util")
939 -mkdir "$(INSTDIR)\bin\iconv"
941 -mkdir "$(INSTDIR)\cgi-bin"
942 -mkdir "$(INSTDIR)\conf"
943 -mkdir "$(INSTDIR)\conf\extra"
944 -mkdir "$(INSTDIR)\conf\original"
945 -mkdir "$(INSTDIR)\conf\original\extra"
946 -mkdir "$(INSTDIR)\error"
947 -mkdir "$(INSTDIR)\htdocs"
948 -mkdir "$(INSTDIR)\manual"
949 -mkdir "$(INSTDIR)\icons"
950 -mkdir "$(INSTDIR)\include"
951 -mkdir "$(INSTDIR)\lib"
952 -mkdir "$(INSTDIR)\logs"
953 -mkdir "$(INSTDIR)\modules"
954 copy ABOUT_APACHE "$(INSTDIR)\ABOUT_APACHE.txt" <.y
955 copy CHANGES "$(INSTDIR)\CHANGES.txt" <.y
956 copy INSTALL "$(INSTDIR)\INSTALL.txt" <.y
957 copy LICENSE "$(INSTDIR)\LICENSE.txt" <.y
958 copy NOTICE "$(INSTDIR)\NOTICE.txt" <.y
959 copy README "$(INSTDIR)\README.txt" <.y
960 type << >> "$(INSTDIR)\NOTICE.txt"
962 Regular expression support is provided by the PCRE library package,
963 which is open source software, written by Philip Hazel, and copyright
964 by the University of Cambridge, England. The original software is
966 ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
968 -awk -f <<script1.awk < "srclib\pcre\LICENCE" >> "$(INSTDIR)\LICENSE.txt"
971 print "For the pcre.dll component:";
973 while ( getline > 0 ) {
974 if ( $$0 ~ /^End$$/ ) $$0 = "END OF PCRE LICENSE";
979 !IF EXIST("srclib\openssl")
980 -copy srclib\openssl\apps\openssl.cnf "$(INSTDIR)\conf\openssl.cnf" <.y
981 type << >> "$(INSTDIR)\NOTICE.txt"
983 This binary distribution includes cryptographic software written by
984 Eric Young (eay@cryptsoft.com), software written by Tim Hudson
985 (tjh@cryptsoft.com), and software developed by the OpenSSL Project
986 for use in the OpenSSL Toolkit <http://www.openssl.org/>.
988 -awk -f <<script.awk < "srclib\openssl\LICENSE" >> "$(INSTDIR)\LICENSE.txt"
991 print "For the libeay32.dll, ssleay32.dll and openssl.exe components:";
993 while ( getline > 0 ) {
998 copy << "$(INSTDIR)\OPENSSL-NEWS.txt" <.y
1000 Apache HTTP Server 2.5 Limited OpenSSL Distribution
1002 This binary distribution includes the minimal components of OpenSSL required
1003 to support mod_ssl for Apache HTTP Server version 2.5 (details are listed
1004 in OPENSSL-README.txt.) For the complete list of CHANGES to this and later
1005 versions of OpenSSL, please refer to the definative source,
1006 <http://www.openssl.org/news/changelog.html>, or see the CHANGES file in the
1007 full binary or source distribution package from <http://www.openssl.org/>.
1009 These OpenSSL binaries were built for distribution from the U.S. without
1010 support for the patented encryption methods IDEA, MDC-2 or RC5.
1012 --------------------------------------------------------------------------------
1015 -copy "$(INSTDIR)\OPENSSL-NEWS.txt" \
1016 + srclib\openssl\NEWS "$(INSTDIR)\OPENSSL-NEWS.txt"
1017 copy << "$(INSTDIR)\OPENSSL-README.txt" <.y
1019 Apache HTTP Server 2.5 Limited OpenSSL Distribution
1021 This binary installation of OpenSSL is a limited distribution of the
1022 files derived from the OpenSSL project:
1024 LICENSE.txt (includes openssl LICENSE)
1032 These are the minimal libraries and tools required to use mod_ssl as
1033 distributed with Apache HTTP Server version 2.5. No library link files,
1034 headers or sources are distributed with this binary distribution. Please
1035 refer to the <http://www.openssl.org/> site for complete source or binary
1038 These OpenSSL binaries were built for distribution from the U.S. without
1039 support for the patented encryption methods IDEA, MDC-2 or RC5.
1041 The Apache HTTP Project only supports the binary distribution of these files
1042 and development of the mod_ssl module. We cannot provide support assistance
1043 for using or configuring the OpenSSL package or these modules. Please refer
1044 all installation and configuration questions to the appropriate forum,
1045 such as the user supported lists, <http://httpd.apache.org/userslist.html>
1046 the Apache HTTP Server user's list or <http://www.openssl.org/support/> the
1047 OpenSSL support page.
1049 --------------------------------------------------------------------------------
1052 -copy "$(INSTDIR)\OPENSSL-README.txt" \
1053 + srclib\openssl\README "$(INSTDIR)\OPENSSL-README.txt"
1055 !IF EXIST("srclib\zlib")
1056 type << >> "$(INSTDIR)\NOTICE.txt"
1058 This binary distribution of mod_deflate.so includes zlib compression code
1059 <http://www.gzip.org/zlib/> written by Jean-loup Gailly (jloup@gzip.org)
1060 and Mark Adler (madler@alumni.caltech.edu) .
1062 -awk -f <<script.awk < "srclib\zlib\README" >> "$(INSTDIR)\LICENSE.txt"
1064 while ( getline > 0 ) {
1065 if ( $$0 ~ /Copyright notice:/ ) {
1067 print "For the mod_deflate zlib compression component:";
1068 while ( getline > 0 && $$0 !~ /^[^ ]/ ) {
1078 !IF EXIST("srclib\lua")
1079 type << >> "$(INSTDIR)\NOTICE.txt"
1081 This binary distribution of mod_lua.so includes the Lua language,
1082 developed at Lua.org, a laboratory of the Department of Computer Science
1083 of PUC-Rio (the Pontifical Catholic University of Rio de Janeiro in Brazil).
1084 For complete information, visit Lua's web site at http://www.lua.org/
1086 -awk -f <<script.awk < "srclib\lua\COPYRIGHT" >> "$(INSTDIR)\LICENSE.txt"
1089 print "For the mod_lua language component:";
1091 while ( getline > 0 && $$0 !~ /end of COPYRIGHT/ ) {
1098 !IF EXIST("srclib\libxml2")
1099 type << >> "$(INSTDIR)\NOTICE.txt"
1101 This binary distributions of mod_proxy_html.so and mod_xml2enc.so include the
1102 libxml2 C library written by Daniel Veillard (daniel veillard.com), Bjorn
1103 Reese (breese users.sourceforge.net) and Gary Pennington (Gary.Pennington
1104 uk.sun.com). For complete information, visit LibXML2's web site at
1105 https://http://www.xmlsoft.org/
1107 -awk -f <<script.awk < "srclib\libxml2\Copyright" >> "$(INSTDIR)\LICENSE.txt"
1110 print "For the mod_proxy_html and mod_xml2enc components:";
1112 while ( getline > 0 ) {
1119 !IF EXIST("srclib\nghttp2")
1120 type << >> "$(INSTDIR)\NOTICE.txt"
1122 This binary distribution of mod_http2.so includes nghttp2 C library written
1123 by Tatsuhiro Tsujikawa. For complete information, visit nghttp2's web site
1124 at https://nghttp2.org/
1126 -awk -f <<script.awk < "srclib\nghttp2\COPYING" >> "$(INSTDIR)\LICENSE.txt"
1129 print "For the mod_http2 component:";
1131 while ( getline > 0 ) {
1138 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=$(SHORT) LONG=$(LONG) \
1139 _copybin src_exe=exe src_dll=dll src_so=so \
1140 inst_exe="$(INSTDIR)\bin" \
1141 inst_dll="$(INSTDIR)\bin" \
1142 inst_so="$(INSTDIR)\modules"
1143 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=$(SHORT) LONG=$(LONG) \
1144 _copybin src_exe=pdb src_dll=pdb src_so=pdb \
1145 inst_exe="$(INSTDIR)\bin" \
1146 inst_dll="$(INSTDIR)\bin" \
1147 inst_so="$(INSTDIR)\modules"
1148 !IF EXIST("srclib\apr-util")
1150 $(MAKE) $(MAKEOPT) -f build\modules.mk.win install \
1151 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=. \
1152 INSTALL_DIR="$(INSTDIR)\bin\iconv"
1155 copy docs\cgi-examples\printenv "$(INSTDIR)\cgi-bin\printenv.pl" <.y
1156 copy docs\cgi-examples\printenv.vbs "$(INSTDIR)\cgi-bin\printenv.vbs" <.y
1157 copy docs\cgi-examples\printenv.wsf "$(INSTDIR)\cgi-bin\printenv.wsf" <.y
1158 xcopy docs\error "$(INSTDIR)\error" /s /d < .a
1159 xcopy docs\docroot "$(INSTDIR)\htdocs" /d < .a
1160 xcopy docs\icons "$(INSTDIR)\icons" /s /d < .a
1161 xcopy docs\manual "$(INSTDIR)\manual" /s /d < .a
1163 srclib\expat\lib\expat.h \
1164 srclib\apr-util\xml\expat\lib\expat.h \
1165 srclib\apr\include\*.h \
1166 srclib\apr-util\include\*.h \
1167 !IF EXIST("srclib\serf")
1172 modules\cache\mod_cache.h \
1173 modules\cache\cache_common.h \
1174 modules\core\mod_so.h \
1175 modules\core\mod_watchdog.h \
1176 modules\database\mod_dbd.h \
1177 modules\dav\main\mod_dav.h \
1178 modules\filters\mod_include.h \
1179 modules\generators\mod_cgi.h \
1180 modules\generators\mod_status.h \
1181 modules\loggers\mod_log_config.h \
1182 modules\mappers\mod_rewrite.h \
1183 modules\proxy\mod_proxy.h \
1184 modules\proxy\mod_serf.h \
1185 modules\ssl\mod_ssl.h \
1186 modules\ssl\mod_ssl_openssl.h \
1188 @copy %f "$(INSTDIR)\include" < .y > nul
1189 copy srclib\apr\Lib$(SHORT)\apr-1.lib "$(INSTDIR)\lib" <.y
1190 copy srclib\apr\Lib$(SHORT)\apr-1.pdb "$(INSTDIR)\lib" <.y
1191 copy srclib\apr\$(LONG)\libapr-1.lib "$(INSTDIR)\lib" <.y
1192 copy srclib\apr\$(LONG)\libapr-1.exp "$(INSTDIR)\lib" <.y
1193 !IF EXIST("srclib\apr-util")
1194 copy srclib\apr-util\Lib$(SHORT)\aprutil-1.lib "$(INSTDIR)\lib" <.y
1195 copy srclib\apr-util\Lib$(SHORT)\aprutil-1.pdb "$(INSTDIR)\lib" <.y
1196 copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml.lib "$(INSTDIR)\lib" <.y
1197 copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml.pdb "$(INSTDIR)\lib" <.y
1198 copy srclib\apr-util\$(LONG)\libaprutil-1.lib "$(INSTDIR)\lib" <.y
1199 copy srclib\apr-util\$(LONG)\libaprutil-1.exp "$(INSTDIR)\lib" <.y
1200 copy srclib\apr-iconv\$(LONG)\libapriconv-1.lib "$(INSTDIR)\lib" <.y
1201 copy srclib\apr-iconv\$(LONG)\libapriconv-1.exp "$(INSTDIR)\lib" <.y
1203 copy srclib\expat\win32\$(LONG)\libexpatMT.lib "$(INSTDIR)\lib" <.y
1204 copy srclib\expat\win32\$(LONG)\libexpatMT.exp "$(INSTDIR)\lib" <.y
1205 copy srclib\expat\win32\$(LONG)\libexpat.lib "$(INSTDIR)\lib" <.y
1206 copy srclib\expat\win32\$(LONG)\libexpat.exp "$(INSTDIR)\lib" <.y
1207 copy srclib\expat\win32\$(LONG)\libexpat.dll "$(INSTDIR)\bin" <.y
1209 !IF EXIST("srclib\serf")
1210 copy srclib\serf\$(LONG)\libserf.lib "$(INSTDIR)\lib" <.y
1211 copy srclib\serf\$(LONG)\libserf.exp "$(INSTDIR)\lib" <.y
1213 copy $(LONG)\libhttpd.exp "$(INSTDIR)\lib" <.y
1214 copy $(LONG)\libhttpd.lib "$(INSTDIR)\lib" <.y
1215 copy modules\dav\main\$(LONG)\mod_dav.exp "$(INSTDIR)\lib" <.y
1216 copy modules\dav\main\$(LONG)\mod_dav.lib "$(INSTDIR)\lib" <.y
1217 for %f in ( charset.conv magic mime.types ) do ( \
1218 copy docs\conf\%f "$(INSTDIR)\conf\original\%f" <.y )
1219 awk -f build\installwinconf.awk $(DOMAINNAME) $(SERVERNAME) \
1220 $(SERVERADMIN) $(PORT) $(SSLPORT) "$(INSTDIR) " docs/conf/
1221 copy "support\dbmmanage.in" "$(INSTDIR)\bin\dbmmanage.pl"
1222 -awk -f <<script.awk "support/dbmmanage.in" >"$(INSTDIR)\bin\dbmmanage.pl"
1223 { if ( $$0 ~ /^BEGIN \{ @AnyDBM_File::/ ) {
1224 sub( /ISA = qw\(.*\)/, "ISA = qw(SDBM_File)" );
1226 if ( $$0 !~ /^#!@perlbin@/ )
1234 !IF EXIST("$(INSTDIR)\cgi-bin")
1235 -awk -f <<script.awk "docs/cgi-examples/printenv" > "$(INSTDIR)\cgi-bin\printenv.pl"
1237 if ( "perl -e \"print $$^X;\"" | getline perlroot ) {
1238 gsub( /\\/, "/", perlroot );
1239 print "#!" perlroot;
1243 if ( $$0 !~ /^#!/ ) {
1248 -cscript -nologo <<script.vbs "docs/cgi-examples/printenv.vbs" "$(INSTDIR)\cgi-bin\printenv.vbs"
1250 Set fso = CreateObject("Scripting.FileSystemObject")
1251 Set f = fso.OpenTextFile(WScript.Arguments(0), 1)
1255 Set f = fso.OpenTextFile(WScript.Arguments(1), 2, TRUE)
1256 f.WriteLine "'!" & Replace(WScript.FullName, "\", "/") & " -nologo"
1260 -cscript -nologo <<script.vbs "docs/cgi-examples/printenv.wsf" "$(INSTDIR)\cgi-bin\printenv.wsf"
1262 Set fso = CreateObject("Scripting.FileSystemObject")
1263 Set f = fso.OpenTextFile(WScript.Arguments(0), 1)
1267 Set f = fso.OpenTextFile(WScript.Arguments(1), 2, TRUE)
1268 f.WriteLine "'!" & Replace(WScript.FullName, "\", "/") & " -nologo"