1 # Makefile for Windows NT and Windows 95/98/2000
4 # _apacher - build Apache in Release mode
5 # _apached - 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
13 # The following install defaults may be customized;
19 # SERVERNAME localhost
21 # ALL (unset) Includes additional modules for build testing
25 # nmake -f Makefile.win PORT=80 INSTDIR="d:\Program Files\Apache" installr
27 # Be aware that certain awk's will not accept backslahed names,
28 # so the server root should be given in forward slashes (quoted),
29 # preferably with the drive designation!
31 !IF EXIST("httpd.vcproj") && ([devenv /help > NUL 2>&1] == 0) \
32 && !defined(USEMAK) && !defined(USEDSW)
36 !ELSEIF EXIST("httpd.mak") && !defined(USEDSW)
48 !IF ("$(CTARGET)" == "") && ($(USESLN) == 1)
52 !IF !EXIST("srclib\apr") || !EXIST("srclib\apr-util") || !EXIST("srclib\apr-iconv")
53 !MESSAGE Please check out or download and unpack the Apache Portability Runtime
54 !MESSAGE sources (apr, apr-iconv and apr-util) into your srclib dir.
55 !MESSAGE Apache cannot build without these libraries!
57 !ERROR Need srclib\ apr, apr-iconv and apr-util
60 # Note; _tryssl: is only used by the msvc developer studio environment to 'fix up'
61 # the build, since conditional dependencies aren't supported.
63 !IF EXIST("srclib\openssl")
64 !IF "$(LONG)" == "Debug" && EXIST("srclib\openssl\out32dll.dbg\openssl.exe")
73 $(MAKE) $(MAKEOPT) -f mod_ssl.mak CFG="mod_ssl - Win32 $(LONG)" RECURSE=0 $(CTARGET)
76 $(MAKE) $(MAKEOPT) -f abs.mak CFG="abs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
78 !ELSEIF $(USESLN) == 1
79 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_ssl
80 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project abs
82 @msdev Apache.dsw /USEENV /MAKE \
83 "mod_ssl - Win32 $(LONG)" \
84 "abs - Win32 $(LONG)" /NORECURSE $(CTARGET)
88 # NOT EXIST("srclib\openssl")
92 @echo mod_ssl and ab/ssl will not build unless openssl is installed
93 @echo in srclib\openssl. They must be precompiled using the
94 @echo ms/ntdll.mak file, see srclib\openssl\INSTALL.W32. The most
95 @echo recent version confirmed to build with mod_ssl and ab is 0.9.8d.
96 @echo Available from http://www.openssl.org/
99 !IF EXIST("srclib\zlib")
104 $(MAKE) $(MAKEOPT) -f mod_deflate.mak CFG="mod_deflate - Win32 $(LONG)" RECURSE=0 $(CTARGET)
106 !ELSEIF $(USESLN) == 1
107 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_deflate
109 @msdev Apache.dsw /USEENV /MAKE \
110 "mod_deflate - Win32 $(LONG)" /NORECURSE $(CTARGET)
114 # NOT EXIST("srclib\zlib")
118 @echo mod_deflate will not build unless zlib is installed in srclib\zlib.
119 @echo Version 1.2.1 and later available from http://www.gzip.org/zlib/
120 @echo built w/ nmake -f win32/Makefile.msc will satisfy this requirement.
124 !IF "$(INSTDIR)" == ""
127 !IF "$(SERVERNAME)" == ""
133 !IF "$(SSLPORT)" == ""
139 !MESSAGE INSTDIR = $(INSTDIR)
140 !MESSAGE SERVERNAME = $(SERVERNAME)
141 !MESSAGE PORT = $(PORT)
142 !IF EXIST("srclib\openssl")
143 !MESSAGE SSLPORT = $(SSLPORT)
146 !MESSAGE To change these options use 'nmake -f Makefile.win [option=value]'
147 !MESSAGE Example: nmake -f Makefile.win PORT=8080
153 # Only default the behavior if MAKEOPT= is omitted
155 # Microsoft NMake options
157 !ELSEIF "$(MAKE)" == "make"
158 # Borland make options? Not really supported (yet)
167 bscmake.exe -nologo -Iu -o Apache.bsc *.sbr
171 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release _build
174 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug _build
177 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release _build _install
180 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug _build _install
182 clean: _cleanr _cleand
183 -if exist Browse\. rd /s Browse < << > nul
190 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET=CLEAN _build
193 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug CTARGET=CLEAN _build
196 echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
198 $(MAKE) $(MAKEOPT) -f apr.mak CFG="apr - Win32 $(LONG)" RECURSE=0 $(CTARGET)
199 $(MAKE) $(MAKEOPT) -f libapr.mak CFG="libapr - Win32 $(LONG)" RECURSE=0 $(CTARGET)
202 $(MAKE) $(MAKEOPT) -f apriconv.mak CFG="apriconv - Win32 $(LONG)" RECURSE=0 $(CTARGET)
203 $(MAKE) $(MAKEOPT) -f libapriconv.mak CFG="libapriconv - Win32 $(LONG)" RECURSE=0 $(CTARGET)
204 !IF "$(CTARGET)" == "CLEAN"
205 $(MAKE) $(MAKEOPT) -f build\modules.mk.win clean \
206 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=.
209 $(MAKE) $(MAKEOPT) -f Makefile.win all \
210 BUILD_MODE=$(LONG) BIND_MODE=shared
212 $(MAKE) $(MAKEOPT) -f Makefile.win all \
213 BUILD_MODE=$(LONG) BIND_MODE=shared
217 cd srclib\apr-util\xml\expat\lib
218 $(MAKE) $(MAKEOPT) -f xml.mak CFG="xml - Win32 $(LONG)" RECURSE=0 $(CTARGET)
220 $(MAKE) $(MAKEOPT) -f aprutil.mak CFG="aprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET)
221 $(MAKE) $(MAKEOPT) -f libaprutil.mak CFG="libaprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET)
224 $(MAKE) $(MAKEOPT) -f dftables.mak CFG="dftables - Win32 $(LONG)" RECURSE=0 $(CTARGET)
225 $(MAKE) $(MAKEOPT) -f pcre.mak CFG="pcre - Win32 $(LONG)" RECURSE=0 $(CTARGET)
228 $(MAKE) $(MAKEOPT) -f gen_test_char.mak CFG="gen_test_char - Win32 $(LONG)" RECURSE=0 $(CTARGET)
230 $(MAKE) $(MAKEOPT) -f libhttpd.mak CFG="libhttpd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
231 $(MAKE) $(MAKEOPT) -f httpd.mak CFG="httpd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
232 # build ldap prior to authnz_ldap
234 $(MAKE) $(MAKEOPT) -f mod_ldap.mak CFG="mod_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
237 $(MAKE) $(MAKEOPT) -f mod_dbd.mak CFG="mod_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
240 $(MAKE) $(MAKEOPT) -f mod_access_compat.mak CFG="mod_access_compat - Win32 $(LONG)" RECURSE=0 $(CTARGET)
241 $(MAKE) $(MAKEOPT) -f mod_auth_basic.mak CFG="mod_auth_basic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
242 $(MAKE) $(MAKEOPT) -f mod_auth_digest.mak CFG="mod_auth_digest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
243 $(MAKE) $(MAKEOPT) -f mod_authn_anon.mak CFG="mod_authn_anon - Win32 $(LONG)" RECURSE=0 $(CTARGET)
244 $(MAKE) $(MAKEOPT) -f mod_authn_core.mak CFG="mod_authn_core - Win32 $(LONG)" RECURSE=0 $(CTARGET)
245 $(MAKE) $(MAKEOPT) -f mod_authn_dbd.mak CFG="mod_authn_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
246 $(MAKE) $(MAKEOPT) -f mod_authn_dbm.mak CFG="mod_authn_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
247 $(MAKE) $(MAKEOPT) -f mod_authn_default.mak CFG="mod_authn_default - Win32 $(LONG)" RECURSE=0 $(CTARGET)
248 $(MAKE) $(MAKEOPT) -f mod_authn_file.mak CFG="mod_authn_file - Win32 $(LONG)" RECURSE=0 $(CTARGET)
249 $(MAKE) $(MAKEOPT) -f mod_authnz_ldap.mak CFG="mod_authnz_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
250 $(MAKE) $(MAKEOPT) -f mod_authz_core.mak CFG="mod_authz_core - Win32 $(LONG)" RECURSE=0 $(CTARGET)
251 $(MAKE) $(MAKEOPT) -f mod_authz_dbd.mak CFG="mod_authz_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
252 $(MAKE) $(MAKEOPT) -f mod_authz_dbm.mak CFG="mod_authz_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
253 $(MAKE) $(MAKEOPT) -f mod_authz_default.mak CFG="mod_authz_default - Win32 $(LONG)" RECURSE=0 $(CTARGET)
254 $(MAKE) $(MAKEOPT) -f mod_authz_groupfile.mak CFG="mod_authz_groupfile - Win32 $(LONG)" RECURSE=0 $(CTARGET)
255 $(MAKE) $(MAKEOPT) -f mod_authz_host.mak CFG="mod_authz_host - Win32 $(LONG)" RECURSE=0 $(CTARGET)
256 $(MAKE) $(MAKEOPT) -f mod_authz_owner.mak CFG="mod_authz_owner - Win32 $(LONG)" RECURSE=0 $(CTARGET)
257 $(MAKE) $(MAKEOPT) -f mod_authz_user.mak CFG="mod_authz_user - Win32 $(LONG)" RECURSE=0 $(CTARGET)
259 cd modules\arch\win32
260 $(MAKE) $(MAKEOPT) -f mod_isapi.mak CFG="mod_isapi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
263 $(MAKE) $(MAKEOPT) -f mod_cache.mak CFG="mod_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
264 $(MAKE) $(MAKEOPT) -f mod_file_cache.mak CFG="mod_file_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
265 $(MAKE) $(MAKEOPT) -f mod_mem_cache.mak CFG="mod_mem_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
266 $(MAKE) $(MAKEOPT) -f mod_disk_cache.mak CFG="mod_disk_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
269 $(MAKE) $(MAKEOPT) -f mod_dav.mak CFG="mod_dav - Win32 $(LONG)" RECURSE=0 $(CTARGET)
272 $(MAKE) $(MAKEOPT) -f mod_dav_fs.mak CFG="mod_dav_fs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
275 $(MAKE) $(MAKEOPT) -f mod_dav_lock.mak CFG="mod_dav_lock - Win32 $(LONG)" RECURSE=0 $(CTARGET)
279 $(MAKE) $(MAKEOPT) -f mod_bucketeer.mak CFG="mod_bucketeer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
281 $(MAKE) $(MAKEOPT) -f mod_dumpio.mak CFG="mod_dumpio - Win32 $(LONG)" RECURSE=0 $(CTARGET)
285 $(MAKE) $(MAKEOPT) -f mod_echo.mak CFG="mod_echo - Win32 $(LONG)" RECURSE=0 $(CTARGET)
288 cd modules\experimental
290 $(MAKE) $(MAKEOPT) -f mod_case_filter.mak CFG="mod_case_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
291 $(MAKE) $(MAKEOPT) -f mod_case_filter_in.mak CFG="mod_case_filter_in - Win32 $(LONG)" RECURSE=0 $(CTARGET)
292 $(MAKE) $(MAKEOPT) -f mod_example.mak CFG="mod_example - Win32 $(LONG)" RECURSE=0 $(CTARGET)
294 $(MAKE) $(MAKEOPT) -f mod_substitute.mak CFG="mod_substitute - Win32 $(LONG)" RECURSE=0 $(CTARGET)
297 $(MAKE) $(MAKEOPT) -f mod_charset_lite.mak CFG="mod_charset_lite - Win32 $(LONG)" RECURSE=0 $(CTARGET)
298 !IF EXIST("srclib\zlib")
299 $(MAKE) $(MAKEOPT) -f mod_deflate.mak CFG="mod_deflate - Win32 $(LONG)" RECURSE=0 $(CTARGET)
301 $(MAKE) $(MAKEOPT) -f mod_ext_filter.mak CFG="mod_ext_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
302 $(MAKE) $(MAKEOPT) -f mod_filter.mak CFG="mod_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
303 $(MAKE) $(MAKEOPT) -f mod_include.mak CFG="mod_include - Win32 $(LONG)" RECURSE=0 $(CTARGET)
305 cd modules\generators
306 $(MAKE) $(MAKEOPT) -f mod_asis.mak CFG="mod_asis - Win32 $(LONG)" RECURSE=0 $(CTARGET)
307 $(MAKE) $(MAKEOPT) -f mod_autoindex.mak CFG="mod_autoindex - Win32 $(LONG)" RECURSE=0 $(CTARGET)
308 $(MAKE) $(MAKEOPT) -f mod_cgi.mak CFG="mod_cgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
309 $(MAKE) $(MAKEOPT) -f mod_info.mak CFG="mod_info - Win32 $(LONG)" RECURSE=0 $(CTARGET)
310 $(MAKE) $(MAKEOPT) -f mod_status.mak CFG="mod_status - Win32 $(LONG)" RECURSE=0 $(CTARGET)
313 $(MAKE) $(MAKEOPT) -f mod_mime.mak CFG="mod_mime - Win32 $(LONG)" RECURSE=0 $(CTARGET)
316 $(MAKE) $(MAKEOPT) -f mod_log_config.mak CFG="mod_log_config - Win32 $(LONG)" RECURSE=0 $(CTARGET)
317 $(MAKE) $(MAKEOPT) -f mod_log_forensic.mak CFG="mod_log_forensic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
318 $(MAKE) $(MAKEOPT) -f mod_logio.mak CFG="mod_logio - Win32 $(LONG)" RECURSE=0 $(CTARGET)
321 $(MAKE) $(MAKEOPT) -f mod_actions.mak CFG="mod_actions - Win32 $(LONG)" RECURSE=0 $(CTARGET)
322 $(MAKE) $(MAKEOPT) -f mod_alias.mak CFG="mod_alias - Win32 $(LONG)" RECURSE=0 $(CTARGET)
323 $(MAKE) $(MAKEOPT) -f mod_dir.mak CFG="mod_dir - Win32 $(LONG)" RECURSE=0 $(CTARGET)
324 $(MAKE) $(MAKEOPT) -f mod_imagemap.mak CFG="mod_imagemap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
325 $(MAKE) $(MAKEOPT) -f mod_negotiation.mak CFG="mod_negotiation - Win32 $(LONG)" RECURSE=0 $(CTARGET)
326 $(MAKE) $(MAKEOPT) -f mod_rewrite.mak CFG="mod_rewrite - Win32 $(LONG)" RECURSE=0 $(CTARGET)
327 $(MAKE) $(MAKEOPT) -f mod_speling.mak CFG="mod_speling - Win32 $(LONG)" RECURSE=0 $(CTARGET)
328 $(MAKE) $(MAKEOPT) -f mod_userdir.mak CFG="mod_userdir - Win32 $(LONG)" RECURSE=0 $(CTARGET)
329 $(MAKE) $(MAKEOPT) -f mod_vhost_alias.mak CFG="mod_vhost_alias - Win32 $(LONG)" RECURSE=0 $(CTARGET)
332 $(MAKE) $(MAKEOPT) -f mod_cern_meta.mak CFG="mod_cern_meta - Win32 $(LONG)" RECURSE=0 $(CTARGET)
333 $(MAKE) $(MAKEOPT) -f mod_env.mak CFG="mod_env - Win32 $(LONG)" RECURSE=0 $(CTARGET)
334 $(MAKE) $(MAKEOPT) -f mod_expires.mak CFG="mod_expires - Win32 $(LONG)" RECURSE=0 $(CTARGET)
335 $(MAKE) $(MAKEOPT) -f mod_headers.mak CFG="mod_headers - Win32 $(LONG)" RECURSE=0 $(CTARGET)
336 $(MAKE) $(MAKEOPT) -f mod_ident.mak CFG="mod_ident - Win32 $(LONG)" RECURSE=0 $(CTARGET)
337 $(MAKE) $(MAKEOPT) -f mod_mime_magic.mak CFG="mod_mime_magic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
338 $(MAKE) $(MAKEOPT) -f mod_setenvif.mak CFG="mod_setenvif - Win32 $(LONG)" RECURSE=0 $(CTARGET)
339 $(MAKE) $(MAKEOPT) -f mod_unique_id.mak CFG="mod_unique_id - Win32 $(LONG)" RECURSE=0 $(CTARGET)
340 $(MAKE) $(MAKEOPT) -f mod_usertrack.mak CFG="mod_usertrack - Win32 $(LONG)" RECURSE=0 $(CTARGET)
341 $(MAKE) $(MAKEOPT) -f mod_version.mak CFG="mod_version - Win32 $(LONG)" RECURSE=0 $(CTARGET)
344 $(MAKE) $(MAKEOPT) -f mod_proxy.mak CFG="mod_proxy - Win32 $(LONG)" RECURSE=0 $(CTARGET)
345 $(MAKE) $(MAKEOPT) -f mod_proxy_ajp.mak CFG="mod_proxy_ajp - Win32 $(LONG)" RECURSE=0 $(CTARGET)
346 $(MAKE) $(MAKEOPT) -f mod_proxy_balancer.mak CFG="mod_proxy_balancer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
347 $(MAKE) $(MAKEOPT) -f mod_proxy_connect.mak CFG="mod_proxy_connect - Win32 $(LONG)" RECURSE=0 $(CTARGET)
348 $(MAKE) $(MAKEOPT) -f mod_proxy_fcgi.mak CFG="mod_proxy_fcgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
349 $(MAKE) $(MAKEOPT) -f mod_proxy_ftp.mak CFG="mod_proxy_ftp - Win32 $(LONG)" RECURSE=0 $(CTARGET)
350 $(MAKE) $(MAKEOPT) -f mod_proxy_http.mak CFG="mod_proxy_http - Win32 $(LONG)" RECURSE=0 $(CTARGET)
352 !IF EXIST("srclib\openssl")
354 $(MAKE) $(MAKEOPT) -f mod_ssl.mak CFG="mod_ssl - Win32 $(LONG)" RECURSE=0 $(CTARGET)
357 $(MAKE) $(MAKEOPT) -f abs.mak CFG="abs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
361 $(MAKE) $(MAKEOPT) -f ab.mak CFG="ab - Win32 $(LONG)" RECURSE=0 $(CTARGET)
362 $(MAKE) $(MAKEOPT) -f htcacheclean.mak CFG="htcacheclean - Win32 $(LONG)" RECURSE=0 $(CTARGET)
363 $(MAKE) $(MAKEOPT) -f htdbm.mak CFG="htdbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
364 $(MAKE) $(MAKEOPT) -f htdigest.mak CFG="htdigest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
365 $(MAKE) $(MAKEOPT) -f htpasswd.mak CFG="htpasswd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
366 $(MAKE) $(MAKEOPT) -f httxt2dbm.mak CFG="httxt2dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
367 $(MAKE) $(MAKEOPT) -f logresolve.mak CFG="logresolve - Win32 $(LONG)" RECURSE=0 $(CTARGET)
368 $(MAKE) $(MAKEOPT) -f rotatelogs.mak CFG="rotatelogs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
371 $(MAKE) $(MAKEOPT) -f ApacheMonitor.mak CFG="ApacheMonitor - Win32 $(LONG)" RECURSE=0 $(CTARGET)
372 $(MAKE) $(MAKEOPT) -f wintty.mak CFG="wintty - Win32 $(LONG)" RECURSE=0 $(CTARGET)
375 !ELSEIF $(USESLN) == 1
378 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/clean" _build
381 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug CTARGET="/clean" _build
384 echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
386 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project BuildAll
388 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project BuildBin
390 !IF EXIST("srclib\openssl")
391 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_ssl
392 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project abs
394 !IF EXIST("srclib\zlib")
395 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_deflate
401 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/CLEAN" _build
404 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug CTARGET="/CLEAN" _build
407 @echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
409 @msdev Apache.dsw /USEENV /MAKE \
410 "BuildAll - Win32 $(LONG)" $(CTARGET)
412 @msdev Apache.dsw /USEENV /MAKE \
413 "BuildBin - Win32 $(LONG)" $(CTARGET)
415 !IF "$(CTARGET)" == "/CLEAN"
417 @$(MAKE) $(MAKEOPT) -f build\modules.mk.win clean \
418 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=.
421 !IF EXIST("srclib\openssl")
422 @msdev Apache.dsw /USEENV /MAKE \
423 "mod_ssl - Win32 $(LONG)" \
424 "abs - Win32 $(LONG)" /NORECURSE $(CTARGET)
426 !IF EXIST("srclib\zlib")
427 @msdev Apache.dsw /USEENV /MAKE \
428 "mod_deflate - Win32 $(LONG)" /NORECURSE $(CTARGET)
435 copy $(LONG)\httpd.$(src_exe) "$(inst_exe)" <.y
436 copy $(LONG)\libhttpd.$(src_dll) "$(inst_dll)" <.y
437 copy srclib\apr\$(LONG)\libapr-1.$(src_dll) "$(inst_dll)" <.y
438 copy srclib\apr-iconv\$(LONG)\libapriconv-1.$(src_dll) "$(inst_dll)" <.y
439 copy srclib\apr-util\$(LONG)\libaprutil-1.$(src_dll) "$(inst_dll)" <.y
440 copy modules\aaa\$(LONG)\mod_access_compat.$(src_so) "$(inst_so)" <.y
441 copy modules\aaa\$(LONG)\mod_auth_basic.$(src_so) "$(inst_so)" <.y
442 copy modules\aaa\$(LONG)\mod_auth_digest.$(src_so) "$(inst_so)" <.y
443 copy modules\aaa\$(LONG)\mod_authn_anon.$(src_so) "$(inst_so)" <.y
444 copy modules\aaa\$(LONG)\mod_authn_core.$(src_so) "$(inst_so)" <.y
445 copy modules\aaa\$(LONG)\mod_authn_dbd.$(src_so) "$(inst_so)" <.y
446 copy modules\aaa\$(LONG)\mod_authn_dbm.$(src_so) "$(inst_so)" <.y
447 copy modules\aaa\$(LONG)\mod_authn_default.$(src_so) "$(inst_so)" <.y
448 copy modules\aaa\$(LONG)\mod_authn_file.$(src_so) "$(inst_so)" <.y
449 copy modules\aaa\$(LONG)\mod_authnz_ldap.$(src_so) "$(inst_so)" <.y
450 copy modules\aaa\$(LONG)\mod_authz_core.$(src_so) "$(inst_so)" <.y
451 copy modules\aaa\$(LONG)\mod_authz_dbd.$(src_so) "$(inst_so)" <.y
452 copy modules\aaa\$(LONG)\mod_authz_dbm.$(src_so) "$(inst_so)" <.y
453 copy modules\aaa\$(LONG)\mod_authz_core.$(src_so) "$(inst_so)" <.y
454 copy modules\aaa\$(LONG)\mod_authz_default.$(src_so) "$(inst_so)" <.y
455 copy modules\aaa\$(LONG)\mod_authz_groupfile.$(src_so) "$(inst_so)" <.y
456 copy modules\aaa\$(LONG)\mod_authz_host.$(src_so) "$(inst_so)" <.y
457 copy modules\aaa\$(LONG)\mod_authz_owner.$(src_so) "$(inst_so)" <.y
458 copy modules\aaa\$(LONG)\mod_authz_user.$(src_so) "$(inst_so)" <.y
459 copy modules\arch\win32\$(LONG)\mod_isapi.$(src_so) "$(inst_so)" <.y
460 copy modules\cache\$(LONG)\mod_cache.$(src_so) "$(inst_so)" <.y
461 copy modules\cache\$(LONG)\mod_file_cache.$(src_so) "$(inst_so)" <.y
462 copy modules\cache\$(LONG)\mod_mem_cache.$(src_so) "$(inst_so)" <.y
463 copy modules\cache\$(LONG)\mod_disk_cache.$(src_so) "$(inst_so)" <.y
464 copy modules\database\$(LONG)\mod_dbd.$(src_so) "$(inst_so)" <.y
465 copy modules\dav\fs\$(LONG)\mod_dav_fs.$(src_so) "$(inst_so)" <.y
466 copy modules\dav\lock\$(LONG)\mod_dav_lock.$(src_so) "$(inst_so)" <.y
467 copy modules\dav\main\$(LONG)\mod_dav.$(src_so) "$(inst_so)" <.y
469 copy modules\debugging\$(LONG)\mod_bucketeer.$(src_so) "$(inst_so)" <.y
471 copy modules\debugging\$(LONG)\mod_dumpio.$(src_so) "$(inst_so)" <.y
473 copy modules\echo\$(LONG)\mod_echo.$(src_so) "$(inst_so)" <.y
474 copy modules\experimental\$(LONG)\mod_case_filter.$(src_so) "$(inst_so)" <.y
475 copy modules\experimental\$(LONG)\mod_case_filter_in.$(src_so) "$(inst_so)" <.y
476 copy modules\experimental\$(LONG)\mod_example.$(src_so) "$(inst_so)" <.y
478 copy modules\experimental\$(LONG)\mod_substitute.$(src_so) "$(inst_so)" <.y
479 copy modules\filters\$(LONG)\mod_charset_lite.$(src_so) "$(inst_so)" <.y
480 !IF EXIST("srclib\zlib")
481 copy modules\filters\$(LONG)\mod_deflate.$(src_so) "$(inst_so)" <.y
482 !IF EXIST("srclib\zlib\zlib1.$(src_dll)")
483 copy srclib\zlib\zlib1.$(src_dll) "$(inst_dll)" <.y
486 copy modules\filters\$(LONG)\mod_ext_filter.$(src_so) "$(inst_so)" <.y
487 copy modules\filters\$(LONG)\mod_filter.$(src_so) "$(inst_so)" <.y
488 copy modules\filters\$(LONG)\mod_include.$(src_so) "$(inst_so)" <.y
489 copy modules\generators\$(LONG)\mod_asis.$(src_so) "$(inst_so)" <.y
490 copy modules\generators\$(LONG)\mod_autoindex.$(src_so) "$(inst_so)" <.y
491 copy modules\generators\$(LONG)\mod_cgi.$(src_so) "$(inst_so)" <.y
492 copy modules\generators\$(LONG)\mod_info.$(src_so) "$(inst_so)" <.y
493 copy modules\generators\$(LONG)\mod_status.$(src_so) "$(inst_so)" <.y
494 copy modules\http\$(LONG)\mod_mime.$(src_so) "$(inst_so)" <.y
495 copy modules\ldap\$(LONG)\mod_ldap.$(src_so) "$(inst_so)" <.y
496 copy modules\loggers\$(LONG)\mod_log_config.$(src_so) "$(inst_so)" <.y
497 copy modules\loggers\$(LONG)\mod_log_forensic.$(src_so) "$(inst_so)" <.y
498 copy modules\loggers\$(LONG)\mod_logio.$(src_so) "$(inst_so)" <.y
499 copy modules\mappers\$(LONG)\mod_actions.$(src_so) "$(inst_so)" <.y
500 copy modules\mappers\$(LONG)\mod_alias.$(src_so) "$(inst_so)" <.y
501 copy modules\mappers\$(LONG)\mod_dir.$(src_so) "$(inst_so)" <.y
502 copy modules\mappers\$(LONG)\mod_imagemap.$(src_so) "$(inst_so)" <.y
503 copy modules\mappers\$(LONG)\mod_negotiation.$(src_so) "$(inst_so)" <.y
504 copy modules\mappers\$(LONG)\mod_rewrite.$(src_so) "$(inst_so)" <.y
505 copy modules\mappers\$(LONG)\mod_speling.$(src_so) "$(inst_so)" <.y
506 copy modules\mappers\$(LONG)\mod_userdir.$(src_so) "$(inst_so)" <.y
507 copy modules\mappers\$(LONG)\mod_vhost_alias.$(src_so) "$(inst_so)" <.y
508 copy modules\metadata\$(LONG)\mod_cern_meta.$(src_so) "$(inst_so)" <.y
509 copy modules\metadata\$(LONG)\mod_env.$(src_so) "$(inst_so)" <.y
510 copy modules\metadata\$(LONG)\mod_expires.$(src_so) "$(inst_so)" <.y
511 copy modules\metadata\$(LONG)\mod_headers.$(src_so) "$(inst_so)" <.y
512 copy modules\metadata\$(LONG)\mod_ident.$(src_so) "$(inst_so)" <.y
513 copy modules\metadata\$(LONG)\mod_mime_magic.$(src_so) "$(inst_so)" <.y
514 copy modules\metadata\$(LONG)\mod_setenvif.$(src_so) "$(inst_so)" <.y
515 copy modules\metadata\$(LONG)\mod_unique_id.$(src_so) "$(inst_so)" <.y
516 copy modules\metadata\$(LONG)\mod_usertrack.$(src_so) "$(inst_so)" <.y
517 copy modules\metadata\$(LONG)\mod_version.$(src_so) "$(inst_so)" <.y
518 copy modules\proxy\$(LONG)\mod_proxy.$(src_so) "$(inst_so)" <.y
519 copy modules\proxy\$(LONG)\mod_proxy_ajp.$(src_so) "$(inst_so)" <.y
520 copy modules\proxy\$(LONG)\mod_proxy_balancer.$(src_so) "$(inst_so)" <.y
521 copy modules\proxy\$(LONG)\mod_proxy_connect.$(src_so) "$(inst_so)" <.y
522 copy modules\proxy\$(LONG)\mod_proxy_fcgi.$(src_so) "$(inst_so)" <.y
523 copy modules\proxy\$(LONG)\mod_proxy_ftp.$(src_so) "$(inst_so)" <.y
524 copy modules\proxy\$(LONG)\mod_proxy_http.$(src_so) "$(inst_so)" <.y
525 !IF EXIST("srclib\openssl")
526 copy modules\ssl\$(LONG)\mod_ssl.$(src_so) "$(inst_so)" <.y
527 $(quiet)copy srclib\openssl\$(SSLBIN)\openssl.$(src_exe) "$(inst_exe)" <.y
528 $(quiet)copy srclib\openssl\$(SSLBIN)\libeay32.$(src_dll) "$(inst_dll)" <.y
529 $(quiet)copy srclib\openssl\$(SSLBIN)\ssleay32.$(src_dll) "$(inst_dll)" <.y
530 copy support\$(LONG)\abs.$(src_exe) "$(inst_exe)\ab.$(src_exe)" <.y
532 copy support\$(LONG)\ab.$(src_exe) "$(inst_exe)" <.y
534 copy support\$(LONG)\htcacheclean.$(src_exe) "$(inst_exe)" <.y
535 copy support\$(LONG)\htdbm.$(src_exe) "$(inst_exe)" <.y
536 copy support\$(LONG)\htdigest.$(src_exe) "$(inst_exe)" <.y
537 copy support\$(LONG)\htpasswd.$(src_exe) "$(inst_exe)" <.y
538 copy support\$(LONG)\httxt2dbm.$(src_exe) "$(inst_exe)" <.y
539 copy support\$(LONG)\logresolve.$(src_exe) "$(inst_exe)" <.y
540 copy support\$(LONG)\rotatelogs.$(src_exe) "$(inst_exe)" <.y
541 copy support\win32\$(LONG)\ApacheMonitor.$(src_exe) "$(inst_exe)" <.y
542 copy support\win32\$(LONG)\wintty.$(src_exe) "$(inst_exe)" <.y
545 # First we create the tree and populate the README so that
546 # whatever happens, all licensing has already propagated.
547 # Then repeatedly invoke the _copybin build to copy the
548 # real binaries, then pdb symbols, anf finally dbg syms.
549 # Then hit docs of various sorts, then includes and libs,
550 # and finally do the .conf magic.
556 -mkdir "$(INSTDIR)\bin"
557 -mkdir "$(INSTDIR)\bin\iconv"
558 -mkdir "$(INSTDIR)\cgi-bin"
559 -mkdir "$(INSTDIR)\conf"
560 -mkdir "$(INSTDIR)\conf\extra"
561 -mkdir "$(INSTDIR)\error"
562 -mkdir "$(INSTDIR)\htdocs"
563 -mkdir "$(INSTDIR)\manual"
564 -mkdir "$(INSTDIR)\icons"
565 -mkdir "$(INSTDIR)\include"
566 -mkdir "$(INSTDIR)\lib"
567 -mkdir "$(INSTDIR)\logs"
568 -mkdir "$(INSTDIR)\modules"
569 -mkdir "$(INSTDIR)\proxy"
570 -mkdir "$(INSTDIR)\symbols"
571 -mkdir "$(INSTDIR)\symbols\exe"
572 -mkdir "$(INSTDIR)\symbols\dll"
573 -mkdir "$(INSTDIR)\symbols\so"
574 copy ABOUT_APACHE "$(INSTDIR)\ABOUT_APACHE.txt" <.y
575 copy CHANGES "$(INSTDIR)\CHANGES.txt" <.y
576 copy INSTALL "$(INSTDIR)\INSTALL.txt" <.y
577 copy LICENSE "$(INSTDIR)\LICENSE.txt" <.y
578 copy NOTICE "$(INSTDIR)\NOTICE.txt" <.y
579 copy README "$(INSTDIR)\README.txt" <.y
580 !IF EXIST("srclib\openssl")
581 copy srclib\openssl\apps\openssl.cnf "$(INSTDIR)\conf\openssl.cnf" <.y
582 type << >> "$(INSTDIR)\NOTICE.txt"
584 This binary distribution includes cryptographic software written by
585 Eric Young (eay@cryptsoft.com), software written by Tim Hudson
586 (tjh@cryptsoft.com), and software developed by the OpenSSL Project
587 for use in the OpenSSL Toolkit <http://www.openssl.org/>.
589 -awk -f <<script.awk < "srclib\openssl\LICENSE" >> "$(INSTDIR)\LICENSE.txt"
592 print "For the libeay32.dll, ssleay32.dll and certtool.exe components:";
594 while ( getline > 0 ) {
599 copy << + srclib\openssl\NEWS "$(INSTDIR)\OPENSSL-NEWS.txt" <.y
601 Apache HTTP Server 2.3 Limited OpenSSL Distribution
603 This binary distribution includes the minimal components of OpenSSL required
604 to support mod_ssl for Apache HTTP Server version 2.3 (details are listed
605 in OPENSSL-README.txt.) For the complete list of CHANGES to this and later
606 versions of OpenSSL, please refer to the definative source,
607 <http://www.openssl.org/news/changelog.html>, or see the CHANGES file in the
608 full binary or source distribution package from <http://www.openssl.org/>.
610 These OpenSSL binaries were built for distribution from the U.S. without
611 support for the patented encryption methods IDEA, MDC-2 or RC5.
613 --------------------------------------------------------------------------------
615 copy << + srclib\openssl\README "$(INSTDIR)\OPENSSL-README.txt" <.y
617 Apache HTTP Server 2.3 Limited OpenSSL Distribution
619 This binary installation of OpenSSL is a limited distribution of the
620 files derived from the OpenSSL project:
630 These are the minimal libraries and tools required to use mod_ssl as
631 distributed with Apache HTTP Server version 2.3. No library link files,
632 headers or sources are distributed with this binary distribution. Please
633 refer to the <http://www.openssl.org/> site for complete source or binary
636 These OpenSSL binaries were built for distribution from the U.S. without
637 support for the patented encryption methods IDEA, MDC-2 or RC5.
639 The Apache HTTP Project only supports the binary distribution of these files
640 and development of the mod_ssl module. We cannot provide support assistance
641 for using or configuring the OpenSSL package or these modules. Please refer
642 all installation and configuration questions to the appropriate forum,
643 such as the user supported lists, <http://httpd.apache.org/userslist.html>
644 the Apache HTTP Server user's list or <http://www.openssl.org/support/> the
645 OpenSSL support page.
647 --------------------------------------------------------------------------------
650 !IF EXIST("srclib\zlib")
651 type << >> "$(INSTDIR)\NOTICE.txt"
653 This binary distribution of mod_deflate.so includes zlib compression code
654 <http://www.gzip.org/zlib/> written by Jean-loup Gailly (jloup@gzip.org)
655 and Mark Adler (madler@alumni.caltech.edu) .
657 -awk -f <<script.awk < "srclib\zlib\README" >> "$(INSTDIR)\LICENSE.txt"
659 while ( getline > 0 ) {
660 if ( $$0 ~ /Copyright notice:/ ) {
662 print "For the mod_deflate zlib compression component:";
663 while ( getline > 0 && $$0 !~ /^[^ ]/ ) {
673 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=$(SHORT) LONG=$(LONG) \
674 _copybin src_exe=exe src_dll=dll src_so=so \
675 inst_exe="$(INSTDIR)\bin" \
676 inst_dll="$(INSTDIR)\bin" \
677 inst_so="$(INSTDIR)\modules"
678 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=$(SHORT) LONG=$(LONG) \
679 _copybin src_exe=pdb src_dll=pdb src_so=pdb quiet="-" \
680 inst_exe="$(INSTDIR)\bin" \
681 inst_dll="$(INSTDIR)\bin" \
682 inst_so="$(INSTDIR)\modules"
684 $(MAKE) $(MAKEOPT) -f build\modules.mk.win install \
685 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=. \
686 INSTALL_DIR="$(INSTDIR)\bin\iconv"
688 copy docs\cgi-examples\printenv "$(INSTDIR)\cgi-bin\printenv.pl" <.y
689 -awk -f <<script.awk "docs/cgi-examples/printenv" > "$(INSTDIR)\cgi-bin\printenv.pl"
691 if ( "perl -e \"print $$^X;\"" | getline perlroot ) {
692 gsub( /\\/, "/", perlroot );
697 if ( $$0 !~ /^#!/ ) {
702 xcopy docs\error "$(INSTDIR)\error" /s /d < .a
703 xcopy docs\docroot "$(INSTDIR)\htdocs" /d < .a
704 xcopy docs\icons "$(INSTDIR)\icons" /s /d < .a
705 xcopy docs\manual "$(INSTDIR)\manual" /s /d < .a
706 xcopy srclib\apr-util\xml\expat\lib\expat.h "$(INSTDIR)\include" /d < .a
707 xcopy srclib\apr\include\*.h "$(INSTDIR)\include" /d < .a
708 xcopy srclib\apr-util\include\*.h "$(INSTDIR)\include" /d < .a
709 xcopy include\*.h "$(INSTDIR)\include" /d < .a
710 copy srclib\apr\Lib$(SHORT)\apr-1.lib "$(INSTDIR)\lib" <.y
711 copy srclib\apr\Lib$(SHORT)\apr_src.pdb "$(INSTDIR)\lib" <.y
712 copy srclib\apr-util\Lib$(SHORT)\aprutil-1.lib "$(INSTDIR)\lib" <.y
713 copy srclib\apr-util\Lib$(SHORT)\aprutil_src.pdb "$(INSTDIR)\lib" <.y
714 copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml.lib "$(INSTDIR)\lib" <.y
715 copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml_src.pdb "$(INSTDIR)\lib" <.y
716 copy srclib\apr\$(LONG)\libapr-1.lib "$(INSTDIR)\lib" <.y
717 copy srclib\apr\$(LONG)\libapr-1.exp "$(INSTDIR)\lib" <.y
718 copy srclib\apr-iconv\$(LONG)\libapriconv-1.lib "$(INSTDIR)\lib" <.y
719 copy srclib\apr-iconv\$(LONG)\libapriconv-1.exp "$(INSTDIR)\lib" <.y
720 copy srclib\apr-util\$(LONG)\libaprutil-1.lib "$(INSTDIR)\lib" <.y
721 copy srclib\apr-util\$(LONG)\libaprutil-1.exp "$(INSTDIR)\lib" <.y
722 copy $(LONG)\libhttpd.exp "$(INSTDIR)\lib" <.y
723 copy $(LONG)\libhttpd.lib "$(INSTDIR)\lib" <.y
724 copy modules\dav\main\$(LONG)\mod_dav.exp "$(INSTDIR)\lib" <.y
725 copy modules\dav\main\$(LONG)\mod_dav.lib "$(INSTDIR)\lib" <.y
727 for %f in ( charset.conv magic mime.types ) do ( \
728 copy docs\conf\%f "$(INSTDIR)\conf\%f.default" <.y && \
729 if not exist "$(INSTDIR)\conf\%f" \
730 copy "$(INSTDIR)\conf\%f.default" "$(INSTDIR)\conf\%f" \
732 copy docs\conf\httpd-win.conf "$(INSTDIR)\conf\httpd.conf.default" <.y
733 -awk -f <<script.awk "docs/conf/httpd-win.conf" "$(INSTDIR)" > "$(INSTDIR)\conf\httpd.conf.default"
735 serverroot = ARGV[2];
737 gsub( /\\/, "/", serverroot );
739 gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
742 gsub( /@@ServerRoot@@/, serverroot );
743 gsub( /@@ServerName@@/, "$(SERVERNAME)" );
744 gsub( /@@Port@@/, "$(PORT)" );
748 if not exist "$(INSTDIR)\conf\httpd.conf" \
749 copy "$(INSTDIR)\conf\httpd.conf.default" "$(INSTDIR)\conf\httpd.conf"
750 for %f in ( docs\conf\extra\*.in ) do ( \
751 copy %f "$(INSTDIR)\conf\extra\%~nf.default" <.y && \
752 awk -f <<script.awk "docs/conf/extra/%~nf.in" "$(INSTDIR)" > "$(INSTDIR)\conf\extra\%~nf.default" )
754 serverroot = ARGV[2];
756 gsub( /\\/, "/", serverroot );
758 gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
761 gsub( /SSLMutex file:@exp_runtimedir@\/ssl_mutex/, "SSLMutex default" );
762 gsub( /@@ServerRoot@@/, serverroot );
763 gsub( /@exp_cgidir@/, serverroot "/cgi-bin" );
764 gsub( /@exp_sysconfdir@/, serverroot "/conf" );
765 gsub( /@exp_errordir@/, serverroot "/error" );
766 gsub( /@exp_htdocsdir@/, serverroot "/htdocs" );
767 gsub( /@exp_iconsdir@/, serverroot "/icons" );
768 gsub( /@exp_logfiledir@/, serverroot "/logs" );
769 gsub( /@exp_runtimedir@/, serverroot "/logs" );
770 gsub( /@exp_manualdir@/, serverroot "/manual" );
771 gsub( /@rel_runtimedir@/, "logs" );
772 gsub( /@rel_logfiledir@/, "logs" );
773 gsub( /\/home\/\*\/public_html/, "\"C:/Documents and Settings/*/My Documents/My Website\"" );
774 gsub( /UserDir public_html/, "UserDir \"My Documents/My Website\"" );
775 gsub( /@@ServerName@@/, "$(SERVERNAME)" );
776 gsub( /@@Port@@/, "$(PORT)" );
777 gsub( /443/, "$(SSLPORT)" );
781 for %f in ( docs\conf\extra\*.in ) do ( \
782 if not exist "$(INSTDIR)\conf\extra\%~nf" \
783 copy "$(INSTDIR)\conf\extra\%~nf.default" "$(INSTDIR)\conf\extra\%~nf" \
785 copy "support\dbmmanage.in" "$(INSTDIR)\bin\dbmmanage.pl"
786 -awk -f <<script.awk "support/dbmmanage.in" >"$(INSTDIR)\bin\dbmmanage.pl"
787 { if ( $$0 ~ /^BEGIN \{ @AnyDBM_File::/ ) {
788 sub( /ISA = qw\(.*\)/, "ISA = qw(SDBM_File)" );
790 if ( $$0 !~ /^#!@perlbin@/ )