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;
18 # SERVERNAME localhost
22 # nmake -f Makefile.win PORT=80 INSTDIR="d:\Program Files\Apache" installr
24 # Be aware that certain awk's will not accept backslahed names,
25 # so the server root should be given in forward slashes (quoted),
26 # preferably with the drive designation!
30 !IF ("$(CTARGET)" == "") && EXIST("Apache.sln")
34 !IF !EXIST("srclib\apr") || !EXIST("srclib\apr-util") || !EXIST("srclib\apr-iconv")
35 !MESSAGE Please check out or download and unpack the Apache Portability Runtime
36 !MESSAGE sources (apr, apr-iconv and apr-util) into your srclib dir.
37 !MESSAGE Apache cannot build without these libraries!
39 !ERROR Need srclib\ apr, apr-iconv and apr-util
42 # Note; _tryssl: is only used by the msvc developer studio environment to 'fix up'
43 # the build, since conditional dependencies aren't supported.
45 !IF EXIST("srclib\openssl")
46 !IF "$(LONG)" == "Debug"
53 !IF EXIST("modules\ssl\mod_ssl.mak")
55 $(MAKE) $(MAKEOPT) -f mod_ssl.mak CFG="mod_ssl - Win32 $(LONG)" RECURSE=0 .\$(LONG)\mod_ssl.so
58 $(MAKE) $(MAKEOPT) -f abs.mak CFG="abs - Win32 $(LONG)" RECURSE=0 .\$(LONG)\abs.exe
60 !ELSEIF EXIST("Apache.sln")
61 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_ssl
62 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project abs
64 @msdev Apache.dsw /USEENV /MAKE \
65 "mod_ssl - Win32 $(LONG)" \
66 "abs - Win32 $(LONG)" /NORECURSE $(CTARGET)
70 # NOT EXIST("srclib\openssl")
74 @echo mod_ssl and ab/ssl will not build unless openssl is installed
75 @echo in srclib\openssl. They must be precompiled using the
76 @echo ms/ntdll.mak file, see srclib\openssl\INSTALL.W32. The most
77 @echo recent version confirmed to build with mod_ssl and ab is 0.9.6h.
78 @echo Available from http://www.openssl.org/
81 !IF EXIST("srclib\zlib")
84 !IF EXIST("modules\filters\mod_deflate.mak")
86 $(MAKE) $(MAKEOPT) -f mod_deflate.mak CFG="mod_deflate - Win32 $(LONG)" RECURSE=0 .\$(LONG)\mod_deflate.so
88 !ELSEIF EXIST("Apache.sln")
89 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_deflate
91 @msdev Apache.dsw /USEENV /MAKE \
92 "mod_deflate - Win32 $(LONG)" /NORECURSE $(CTARGET)
96 # NOT EXIST("srclib\zlib")
100 @echo mod_deflate will not build unless zlib is installed in srclib\zlib.
101 @echo Version 1.2.1 and later available from http://www.gzip.org/zlib/
102 @echo built w/ nmake -f win32/Makefile.msc will satisfy this requirement.
106 !IF "$(INSTDIR)" == ""
109 !IF "$(SERVERNAME)" == ""
118 !MESSAGE INSTDIR = $(INSTDIR)
119 !MESSAGE SERVERNAME = $(SERVERNAME)
120 !MESSAGE PORT = $(PORT)
122 !MESSAGE To change these options use 'nmake -f Makefile.win [option=value]'
123 !MESSAGE Example: nmake -f Makefile.win PORT=8080
129 # Only default the behavior if MAKEOPT= is omitted
131 # Microsoft NMake options
133 !ELSEIF "$(MAKE)" == "make"
134 # Borland make options? Not really supported (yet)
143 bscmake.exe -nologo -Iu -o Apache.bsc *.sbr
147 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release _build
150 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug _build
153 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release _build _install
156 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug _build _install
158 clean: _cleanr _cleand
159 -if exist Browse\. rd /s Browse < << > nul
163 !IF EXIST("httpd.mak")
166 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET=CLEAN _build
169 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug CTARGET=CLEAN _build
172 echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
174 $(MAKE) $(MAKEOPT) -f apr.mak CFG="apr - Win32 $(LONG)" RECURSE=0 $(CTARGET)
175 $(MAKE) $(MAKEOPT) -f libapr.mak CFG="libapr - Win32 $(LONG)" RECURSE=0 $(CTARGET)
178 $(MAKE) $(MAKEOPT) -f apriconv.mak CFG="apriconv - Win32 $(LONG)" RECURSE=0 $(CTARGET)
179 $(MAKE) $(MAKEOPT) -f libapriconv.mak CFG="libapriconv - Win32 $(LONG)" RECURSE=0 $(CTARGET)
180 !IF "$(CTARGET)" == "CLEAN"
181 $(MAKE) $(MAKEOPT) -f build\modules.mk.win clean \
182 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=.
185 $(MAKE) $(MAKEOPT) -f Makefile.win all \
186 BUILD_MODE=$(LONG) BIND_MODE=shared
188 $(MAKE) $(MAKEOPT) -f Makefile.win all \
189 BUILD_MODE=$(LONG) BIND_MODE=shared
193 cd srclib\apr-util\xml\expat\lib
194 $(MAKE) $(MAKEOPT) -f xml.mak CFG="xml - Win32 $(LONG)" RECURSE=0 $(CTARGET)
196 $(MAKE) $(MAKEOPT) -f aprutil.mak CFG="aprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET)
197 $(MAKE) $(MAKEOPT) -f libaprutil.mak CFG="libaprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET)
200 $(MAKE) $(MAKEOPT) -f dftables.mak CFG="dftables - Win32 $(LONG)" RECURSE=0 $(CTARGET)
201 $(MAKE) $(MAKEOPT) -f pcre.mak CFG="pcre - Win32 $(LONG)" RECURSE=0 $(CTARGET)
204 $(MAKE) $(MAKEOPT) -f gen_test_char.mak CFG="gen_test_char - Win32 $(LONG)" RECURSE=0 $(CTARGET)
206 $(MAKE) $(MAKEOPT) -f libhttpd.mak CFG="libhttpd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
207 $(MAKE) $(MAKEOPT) -f httpd.mak CFG="httpd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
208 # build ldap prior to authnz_ldap
210 $(MAKE) $(MAKEOPT) -f mod_ldap.mak CFG="mod_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
213 $(MAKE) $(MAKEOPT) -f mod_dbd.mak CFG="mod_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
216 $(MAKE) $(MAKEOPT) -f mod_auth_basic.mak CFG="mod_auth_basic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
217 $(MAKE) $(MAKEOPT) -f mod_auth_digest.mak CFG="mod_auth_digest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
218 $(MAKE) $(MAKEOPT) -f mod_authn_anon.mak CFG="mod_authn_anon - Win32 $(LONG)" RECURSE=0 $(CTARGET)
219 $(MAKE) $(MAKEOPT) -f mod_authn_dbd.mak CFG="mod_authn_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
220 $(MAKE) $(MAKEOPT) -f mod_authn_dbm.mak CFG="mod_authn_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
221 $(MAKE) $(MAKEOPT) -f mod_authn_default.mak CFG="mod_authn_default - Win32 $(LONG)" RECURSE=0 $(CTARGET)
222 $(MAKE) $(MAKEOPT) -f mod_authn_file.mak CFG="mod_authn_file - Win32 $(LONG)" RECURSE=0 $(CTARGET)
223 $(MAKE) $(MAKEOPT) -f mod_authz_dbm.mak CFG="mod_authz_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
224 $(MAKE) $(MAKEOPT) -f mod_authz_default.mak CFG="mod_authz_default - Win32 $(LONG)" RECURSE=0 $(CTARGET)
225 $(MAKE) $(MAKEOPT) -f mod_authz_groupfile.mak CFG="mod_authz_groupfile - Win32 $(LONG)" RECURSE=0 $(CTARGET)
226 $(MAKE) $(MAKEOPT) -f mod_authz_host.mak CFG="mod_authz_host - Win32 $(LONG)" RECURSE=0 $(CTARGET)
227 $(MAKE) $(MAKEOPT) -f mod_authz_user.mak CFG="mod_authz_user - Win32 $(LONG)" RECURSE=0 $(CTARGET)
228 $(MAKE) $(MAKEOPT) -f mod_authnz_ldap.mak CFG="mod_authnz_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
230 cd modules\arch\win32
231 $(MAKE) $(MAKEOPT) -f mod_isapi.mak CFG="mod_isapi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
234 $(MAKE) $(MAKEOPT) -f mod_cache.mak CFG="mod_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
235 $(MAKE) $(MAKEOPT) -f mod_file_cache.mak CFG="mod_file_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
236 $(MAKE) $(MAKEOPT) -f mod_mem_cache.mak CFG="mod_mem_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
237 $(MAKE) $(MAKEOPT) -f mod_disk_cache.mak CFG="mod_disk_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
240 $(MAKE) $(MAKEOPT) -f mod_dav.mak CFG="mod_dav - Win32 $(LONG)" RECURSE=0 $(CTARGET)
243 $(MAKE) $(MAKEOPT) -f mod_dav_fs.mak CFG="mod_dav_fs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
246 $(MAKE) $(MAKEOPT) -f mod_bucketeer.mak CFG="mod_bucketeer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
247 $(MAKE) $(MAKEOPT) -f mod_dumpio.mak CFG="mod_dumpio - Win32 $(LONG)" RECURSE=0 $(CTARGET)
249 cd modules\experimental
252 $(MAKE) $(MAKEOPT) -f mod_charset_lite.mak CFG="mod_charset_lite - Win32 $(LONG)" RECURSE=0 $(CTARGET)
253 !IF EXIST("srclib\zlib")
254 $(MAKE) $(MAKEOPT) -f mod_deflate.mak CFG="mod_deflate - Win32 $(LONG)" RECURSE=0 $(CTARGET)
256 $(MAKE) $(MAKEOPT) -f mod_ext_filter.mak CFG="mod_ext_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
257 $(MAKE) $(MAKEOPT) -f mod_include.mak CFG="mod_include - Win32 $(LONG)" RECURSE=0 $(CTARGET)
259 cd modules\generators
260 $(MAKE) $(MAKEOPT) -f mod_asis.mak CFG="mod_asis - Win32 $(LONG)" RECURSE=0 $(CTARGET)
261 $(MAKE) $(MAKEOPT) -f mod_autoindex.mak CFG="mod_autoindex - Win32 $(LONG)" RECURSE=0 $(CTARGET)
262 $(MAKE) $(MAKEOPT) -f mod_cgi.mak CFG="mod_cgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
263 $(MAKE) $(MAKEOPT) -f mod_info.mak CFG="mod_info - Win32 $(LONG)" RECURSE=0 $(CTARGET)
264 $(MAKE) $(MAKEOPT) -f mod_status.mak CFG="mod_status - Win32 $(LONG)" RECURSE=0 $(CTARGET)
267 $(MAKE) $(MAKEOPT) -f mod_mime.mak CFG="mod_mime - Win32 $(LONG)" RECURSE=0 $(CTARGET)
270 $(MAKE) $(MAKEOPT) -f mod_log_config.mak CFG="mod_log_config - Win32 $(LONG)" RECURSE=0 $(CTARGET)
271 $(MAKE) $(MAKEOPT) -f mod_log_forensic.mak CFG="mod_log_forensic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
272 $(MAKE) $(MAKEOPT) -f mod_logio.mak CFG="mod_logio - Win32 $(LONG)" RECURSE=0 $(CTARGET)
275 $(MAKE) $(MAKEOPT) -f mod_actions.mak CFG="mod_actions - Win32 $(LONG)" RECURSE=0 $(CTARGET)
276 $(MAKE) $(MAKEOPT) -f mod_alias.mak CFG="mod_alias - Win32 $(LONG)" RECURSE=0 $(CTARGET)
277 $(MAKE) $(MAKEOPT) -f mod_dir.mak CFG="mod_dir - Win32 $(LONG)" RECURSE=0 $(CTARGET)
278 $(MAKE) $(MAKEOPT) -f mod_imagemap.mak CFG="mod_imagemap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
279 $(MAKE) $(MAKEOPT) -f mod_negotiation.mak CFG="mod_negotiation - Win32 $(LONG)" RECURSE=0 $(CTARGET)
280 $(MAKE) $(MAKEOPT) -f mod_rewrite.mak CFG="mod_rewrite - Win32 $(LONG)" RECURSE=0 $(CTARGET)
281 $(MAKE) $(MAKEOPT) -f mod_speling.mak CFG="mod_speling - Win32 $(LONG)" RECURSE=0 $(CTARGET)
282 $(MAKE) $(MAKEOPT) -f mod_userdir.mak CFG="mod_userdir - Win32 $(LONG)" RECURSE=0 $(CTARGET)
283 $(MAKE) $(MAKEOPT) -f mod_vhost_alias.mak CFG="mod_vhost_alias - Win32 $(LONG)" RECURSE=0 $(CTARGET)
286 $(MAKE) $(MAKEOPT) -f mod_cern_meta.mak CFG="mod_cern_meta - Win32 $(LONG)" RECURSE=0 $(CTARGET)
287 $(MAKE) $(MAKEOPT) -f mod_env.mak CFG="mod_env - Win32 $(LONG)" RECURSE=0 $(CTARGET)
288 $(MAKE) $(MAKEOPT) -f mod_expires.mak CFG="mod_expires - Win32 $(LONG)" RECURSE=0 $(CTARGET)
289 $(MAKE) $(MAKEOPT) -f mod_headers.mak CFG="mod_headers - Win32 $(LONG)" RECURSE=0 $(CTARGET)
290 $(MAKE) $(MAKEOPT) -f mod_ident.mak CFG="mod_ident - Win32 $(LONG)" RECURSE=0 $(CTARGET)
291 $(MAKE) $(MAKEOPT) -f mod_mime_magic.mak CFG="mod_mime_magic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
292 $(MAKE) $(MAKEOPT) -f mod_setenvif.mak CFG="mod_setenvif - Win32 $(LONG)" RECURSE=0 $(CTARGET)
293 $(MAKE) $(MAKEOPT) -f mod_unique_id.mak CFG="mod_unique_id - Win32 $(LONG)" RECURSE=0 $(CTARGET)
294 $(MAKE) $(MAKEOPT) -f mod_usertrack.mak CFG="mod_usertrack - Win32 $(LONG)" RECURSE=0 $(CTARGET)
295 $(MAKE) $(MAKEOPT) -f mod_version.mak CFG="mod_version - Win32 $(LONG)" RECURSE=0 $(CTARGET)
298 $(MAKE) $(MAKEOPT) -f mod_proxy.mak CFG="mod_proxy - Win32 $(LONG)" RECURSE=0 $(CTARGET)
299 $(MAKE) $(MAKEOPT) -f mod_proxy_ajp.mak CFG="mod_proxy_ajp - Win32 $(LONG)" RECURSE=0 $(CTARGET)
300 $(MAKE) $(MAKEOPT) -f mod_proxy_balancer.mak CFG="mod_proxy_balancer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
301 $(MAKE) $(MAKEOPT) -f mod_proxy_connect.mak CFG="mod_proxy_connect - Win32 $(LONG)" RECURSE=0 $(CTARGET)
302 $(MAKE) $(MAKEOPT) -f mod_proxy_ftp.mak CFG="mod_proxy_ftp - Win32 $(LONG)" RECURSE=0 $(CTARGET)
303 $(MAKE) $(MAKEOPT) -f mod_proxy_http.mak CFG="mod_proxy_http - Win32 $(LONG)" RECURSE=0 $(CTARGET)
305 !IF EXIST("srclib\openssl")
307 $(MAKE) $(MAKEOPT) -f mod_ssl.mak CFG="mod_ssl - Win32 $(LONG)" RECURSE=0 $(CTARGET) .\$(LONG)\mod_ssl.so
310 $(MAKE) $(MAKEOPT) -f abs.mak CFG="abs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
314 $(MAKE) $(MAKEOPT) -f ab.mak CFG="ab - Win32 $(LONG)" RECURSE=0 $(CTARGET)
315 $(MAKE) $(MAKEOPT) -f htcacheclean.mak CFG="htcacheclean - Win32 $(LONG)" RECURSE=0 $(CTARGET)
316 $(MAKE) $(MAKEOPT) -f htdbm.mak CFG="htdbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
317 $(MAKE) $(MAKEOPT) -f htdigest.mak CFG="htdigest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
318 $(MAKE) $(MAKEOPT) -f htpasswd.mak CFG="htpasswd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
319 $(MAKE) $(MAKEOPT) -f logresolve.mak CFG="logresolve - Win32 $(LONG)" RECURSE=0 $(CTARGET)
320 $(MAKE) $(MAKEOPT) -f rotatelogs.mak CFG="rotatelogs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
323 $(MAKE) $(MAKEOPT) -f ApacheMonitor.mak CFG="ApacheMonitor - Win32 $(LONG)" RECURSE=0 $(CTARGET)
324 $(MAKE) $(MAKEOPT) -f wintty.mak CFG="wintty - Win32 $(LONG)" RECURSE=0 $(CTARGET)
327 !ELSEIF EXIST("Apache.sln")
330 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/clean" _build
333 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug CTARGET="/clean" _build
336 echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
337 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project BuildBin
338 !IF EXIST("srclib\openssl")
339 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_ssl
340 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project abs
342 !IF EXIST("srclib\zlib")
343 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_deflate
349 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/CLEAN" _build
352 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug CTARGET="/CLEAN" _build
355 @echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
356 @msdev Apache.dsw /USEENV /MAKE \
357 "BuildBin - Win32 $(LONG)" $(CTARGET)
358 !IF "$(CTARGET)" == "/CLEAN"
360 @$(MAKE) $(MAKEOPT) -f build\modules.mk.win clean \
361 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=.
364 !IF EXIST("srclib\openssl")
365 @msdev Apache.dsw /USEENV /MAKE \
366 "mod_ssl - Win32 $(LONG)" \
367 "abs - Win32 $(LONG)" /NORECURSE $(CTARGET)
369 !IF EXIST("srclib\zlib")
370 @msdev Apache.dsw /USEENV /MAKE \
371 "mod_deflate - Win32 $(LONG)" /NORECURSE $(CTARGET)
378 copy $(LONG)\httpd.$(src_exe) "$(inst_exe)" <.y
379 copy $(LONG)\libhttpd.$(src_dll) "$(inst_dll)" <.y
380 copy srclib\apr\$(LONG)\libapr-1.$(src_dll) "$(inst_dll)" <.y
381 copy srclib\apr-iconv\$(LONG)\libapriconv-1.$(src_dll) "$(inst_dll)" <.y
382 copy srclib\apr-util\$(LONG)\libaprutil-1.$(src_dll) "$(inst_dll)" <.y
383 copy modules\aaa\$(LONG)\mod_auth_basic.$(src_so) "$(inst_so)" <.y
384 copy modules\aaa\$(LONG)\mod_auth_digest.$(src_so) "$(inst_so)" <.y
385 copy modules\aaa\$(LONG)\mod_authn_anon.$(src_so) "$(inst_so)" <.y
386 copy modules\aaa\$(LONG)\mod_authn_dbd.$(src_so) "$(inst_so)" <.y
387 copy modules\aaa\$(LONG)\mod_authn_dbm.$(src_so) "$(inst_so)" <.y
388 copy modules\aaa\$(LONG)\mod_authn_default.$(src_so) "$(inst_so)" <.y
389 copy modules\aaa\$(LONG)\mod_authn_file.$(src_so) "$(inst_so)" <.y
390 copy modules\aaa\$(LONG)\mod_authz_dbm.$(src_so) "$(inst_so)" <.y
391 copy modules\aaa\$(LONG)\mod_authz_default.$(src_so) "$(inst_so)" <.y
392 copy modules\aaa\$(LONG)\mod_authz_groupfile.$(src_so) "$(inst_so)" <.y
393 copy modules\aaa\$(LONG)\mod_authz_host.$(src_so) "$(inst_so)" <.y
394 copy modules\aaa\$(LONG)\mod_authz_user.$(src_so) "$(inst_so)" <.y
395 copy modules\aaa\$(LONG)\mod_authnz_ldap.$(src_so) "$(inst_so)" <.y
396 copy modules\arch\win32\$(LONG)\mod_isapi.$(src_so) "$(inst_so)" <.y
397 copy modules\cache\$(LONG)\mod_cache.$(src_so) "$(inst_so)" <.y
398 copy modules\cache\$(LONG)\mod_file_cache.$(src_so) "$(inst_so)" <.y
399 copy modules\cache\$(LONG)\mod_mem_cache.$(src_so) "$(inst_so)" <.y
400 copy modules\cache\$(LONG)\mod_disk_cache.$(src_so) "$(inst_so)" <.y
401 copy modules\database\$(LONG)\mod_dbd.$(src_so) "$(inst_so)" <.y
402 copy modules\dav\fs\$(LONG)\mod_dav_fs.$(src_so) "$(inst_so)" <.y
403 copy modules\dav\main\$(LONG)\mod_dav.$(src_so) "$(inst_so)" <.y
404 copy modules\debug\$(LONG)\mod_bucketeer.$(src_so) "$(inst_so)" <.y
405 copy modules\debug\$(LONG)\mod_dumpio.$(src_so) "$(inst_so)" <.y
406 copy modules\filters\$(LONG)\mod_charset_lite.$(src_so) "$(inst_so)" <.y
407 !IF EXIST("srclib\zlib")
408 copy modules\filters\$(LONG)\mod_deflate.$(src_so) "$(inst_so)" <.y
409 !IF EXIST("srclib\zlib\zlib1.$(src_dll)")
410 copy srclib\zlib\zlib1.$(src_dll) "$(inst_dll)" <.y
413 copy modules\filters\$(LONG)\mod_ext_filter.$(src_so) "$(inst_so)" <.y
414 copy modules\filters\$(LONG)\mod_include.$(src_so) "$(inst_so)" <.y
415 copy modules\generators\$(LONG)\mod_asis.$(src_so) "$(inst_so)" <.y
416 copy modules\generators\$(LONG)\mod_autoindex.$(src_so) "$(inst_so)" <.y
417 copy modules\generators\$(LONG)\mod_cgi.$(src_so) "$(inst_so)" <.y
418 copy modules\generators\$(LONG)\mod_info.$(src_so) "$(inst_so)" <.y
419 copy modules\generators\$(LONG)\mod_status.$(src_so) "$(inst_so)" <.y
420 copy modules\http\$(LONG)\mod_mime.$(src_so) "$(inst_so)" <.y
421 copy modules\ldap\$(LONG)\mod_ldap.$(src_so) "$(inst_so)" <.y
422 copy modules\loggers\$(LONG)\mod_log_config.$(src_so) "$(inst_so)" <.y
423 copy modules\loggers\$(LONG)\mod_log_forensic.$(src_so) "$(inst_so)" <.y
424 copy modules\loggers\$(LONG)\mod_logio.$(src_so) "$(inst_so)" <.y
425 copy modules\mappers\$(LONG)\mod_actions.$(src_so) "$(inst_so)" <.y
426 copy modules\mappers\$(LONG)\mod_alias.$(src_so) "$(inst_so)" <.y
427 copy modules\mappers\$(LONG)\mod_dir.$(src_so) "$(inst_so)" <.y
428 copy modules\mappers\$(LONG)\mod_imagemap.$(src_so) "$(inst_so)" <.y
429 copy modules\mappers\$(LONG)\mod_negotiation.$(src_so) "$(inst_so)" <.y
430 copy modules\mappers\$(LONG)\mod_rewrite.$(src_so) "$(inst_so)" <.y
431 copy modules\mappers\$(LONG)\mod_speling.$(src_so) "$(inst_so)" <.y
432 copy modules\mappers\$(LONG)\mod_userdir.$(src_so) "$(inst_so)" <.y
433 copy modules\mappers\$(LONG)\mod_vhost_alias.$(src_so) "$(inst_so)" <.y
434 copy modules\metadata\$(LONG)\mod_cern_meta.$(src_so) "$(inst_so)" <.y
435 copy modules\metadata\$(LONG)\mod_env.$(src_so) "$(inst_so)" <.y
436 copy modules\metadata\$(LONG)\mod_expires.$(src_so) "$(inst_so)" <.y
437 copy modules\metadata\$(LONG)\mod_headers.$(src_so) "$(inst_so)" <.y
438 copy modules\metadata\$(LONG)\mod_ident.$(src_so) "$(inst_so)" <.y
439 copy modules\metadata\$(LONG)\mod_mime_magic.$(src_so) "$(inst_so)" <.y
440 copy modules\metadata\$(LONG)\mod_setenvif.$(src_so) "$(inst_so)" <.y
441 copy modules\metadata\$(LONG)\mod_unique_id.$(src_so) "$(inst_so)" <.y
442 copy modules\metadata\$(LONG)\mod_usertrack.$(src_so) "$(inst_so)" <.y
443 copy modules\metadata\$(LONG)\mod_version.$(src_so) "$(inst_so)" <.y
444 copy modules\proxy\$(LONG)\mod_proxy.$(src_so) "$(inst_so)" <.y
445 copy modules\proxy\$(LONG)\mod_proxy_ajp.$(src_so) "$(inst_so)" <.y
446 copy modules\proxy\$(LONG)\mod_proxy_balancer.$(src_so) "$(inst_so)" <.y
447 copy modules\proxy\$(LONG)\mod_proxy_connect.$(src_so) "$(inst_so)" <.y
448 copy modules\proxy\$(LONG)\mod_proxy_ftp.$(src_so) "$(inst_so)" <.y
449 copy modules\proxy\$(LONG)\mod_proxy_http.$(src_so) "$(inst_so)" <.y
450 !IF EXIST("srclib\openssl")
451 copy modules\ssl\$(LONG)\mod_ssl.$(src_so) "$(inst_so)" <.y
452 $(quiet)copy srclib\openssl\$(SSLBIN)\openssl.$(src_exe) "$(inst_exe)" <.y
453 $(quiet)copy srclib\openssl\$(SSLBIN)\libeay32.$(src_dll) "$(inst_dll)" <.y
454 $(quiet)copy srclib\openssl\$(SSLBIN)\ssleay32.$(src_dll) "$(inst_dll)" <.y
455 copy support\$(LONG)\abs.$(src_exe) "$(inst_exe)\ab.$(src_exe)" <.y
457 copy support\$(LONG)\ab.$(src_exe) "$(inst_exe)" <.y
459 copy support\$(LONG)\htcacheclean.$(src_exe) "$(inst_exe)" <.y
460 copy support\$(LONG)\htdbm.$(src_exe) "$(inst_exe)" <.y
461 copy support\$(LONG)\htdigest.$(src_exe) "$(inst_exe)" <.y
462 copy support\$(LONG)\htpasswd.$(src_exe) "$(inst_exe)" <.y
463 copy support\$(LONG)\logresolve.$(src_exe) "$(inst_exe)" <.y
464 copy support\$(LONG)\rotatelogs.$(src_exe) "$(inst_exe)" <.y
465 copy support\win32\$(LONG)\ApacheMonitor.$(src_exe) "$(inst_exe)" <.y
466 copy support\win32\$(LONG)\wintty.$(src_exe) "$(inst_exe)" <.y
468 # First we create the tree and populate the README so that
469 # whatever happens, all licensing has already propagated.
470 # Then repeatedly invoke the _copybin build to copy the
471 # real binaries, then pdb symbols, anf finally dbg syms.
472 # Then hit docs of various sorts, then includes and libs,
473 # and finally do the .conf magic.
479 -mkdir "$(INSTDIR)\bin"
480 -mkdir "$(INSTDIR)\bin\iconv"
481 -mkdir "$(INSTDIR)\cgi-bin"
482 -mkdir "$(INSTDIR)\conf"
483 -mkdir "$(INSTDIR)\conf\extra"
484 -mkdir "$(INSTDIR)\conf\original"
485 -mkdir "$(INSTDIR)\conf\original\extra"
486 -mkdir "$(INSTDIR)\error"
487 -mkdir "$(INSTDIR)\htdocs"
488 -mkdir "$(INSTDIR)\manual"
489 -mkdir "$(INSTDIR)\icons"
490 -mkdir "$(INSTDIR)\include"
491 -mkdir "$(INSTDIR)\lib"
492 -mkdir "$(INSTDIR)\logs"
493 -mkdir "$(INSTDIR)\modules"
494 -mkdir "$(INSTDIR)\proxy"
495 -mkdir "$(INSTDIR)\symbols"
496 -mkdir "$(INSTDIR)\symbols\exe"
497 -mkdir "$(INSTDIR)\symbols\dll"
498 -mkdir "$(INSTDIR)\symbols\so"
499 copy ABOUT_APACHE "$(INSTDIR)\ABOUT_APACHE.txt" <.y
500 copy CHANGES "$(INSTDIR)\CHANGES.txt" <.y
501 copy INSTALL "$(INSTDIR)\INSTALL.txt" <.y
502 copy LICENSE "$(INSTDIR)\LICENSE.txt" <.y
503 copy README "$(INSTDIR)\README.txt" <.y
504 !IF EXIST("srclib\openssl")
505 type << >> "$(INSTDIR)\README.txt"
507 This binary distribution includes cryptographic software written by
508 Eric Young (eay@cryptsoft.com), software written by Tim Hudson
509 (tjh@cryptsoft.com), and software developed by the OpenSSL Project
510 for use in the OpenSSL Toolkit <http://www.openssl.org/>.
512 -awk -f <<script.awk < "srclib\openssl\LICENSE" >> "$(INSTDIR)\LICENSE.txt"
515 print "For the libeay32.dll, ssleay32.dll and certtool.exe components:";
517 while ( getline > 0 ) {
522 copy << + srclib\openssl\NEWS "$(INSTDIR)\OPENSSL-NEWS.txt" <.y
524 Apache HTTP Server 2.0 Limited OpenSSL Distribution
526 This binary distribution includes the minimal components of OpenSSL required
527 to support mod_ssl for Apache HTTP Server version 2.0 (details are listed
528 in OPENSSL-README.txt.) For the complete list of CHANGES to this and later
529 versions of OpenSSL, please refer to the definative source,
530 <http://www.openssl.org/news/changelog.html>, or see the CHANGES file in the
531 full binary or source distribution package from <http://www.openssl.org/>.
533 These OpenSSL binaries were built for distribution from the U.S. without
534 support for the patented encryption methods IDEA, MDC-2 or RC5.
536 --------------------------------------------------------------------------------
538 copy << + srclib\openssl\README "$(INSTDIR)\OPENSSL-README.txt" <.y
540 Apache HTTP Server 2.0 Limited OpenSSL Distribution
542 This binary installation of OpenSSL is a limited distribution of the documents
543 OPENSSL-LICENSE.txt, OPENSSL-NEWS.txt and OPENSSL-README.txt, and the binaries
549 These are the minimal libraries and tools required to use mod_ssl as
550 distributed with Apache HTTP Server version 2.0. No library link files,
551 headers or sources are distributed with this binary distribution. Please
552 refer to the <http://www.openssl.org/> site for complete source or binary
555 These OpenSSL binaries were built for distribution from the U.S. without
556 support for the patented encryption methods IDEA, MDC-2 or RC5.
558 The Apache HTTP Project only supports the binary distribution of these files
559 and development of the mod_ssl module. We cannot provide support assistance
560 for using or configuring the OpenSSL package or these modules. Please refer
561 all installation and configuration questions to the appropriate forum,
562 such as the user supported lists, <http://httpd.apache.org/userslist.html>
563 the Apache HTTP Server user's list or <http://www.openssl.org/support/> the
564 OpenSSL support page.
566 --------------------------------------------------------------------------------
569 !IF EXIST("srclib\zlib")
570 type << >> "$(INSTDIR)\README.txt"
572 This binary distribution of mod_deflate.so includes zlib compression code
573 <http://www.gzip.org/zlib/> written by Jean-loup Gailly (jloup@gzip.org)
574 and Mark Adler (madler@alumni.caltech.edu) .
576 -awk -f <<script.awk < "srclib\zlib\README" >> "$(INSTDIR)\LICENSE.txt"
578 while ( getline > 0 ) {
579 if ( $$0 ~ /Copyright notice:/ ) {
581 print "For the mod_deflate zlib compression component:";
582 while ( getline > 0 && $$0 !~ /^[^ ]/ ) {
592 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=$(SHORT) LONG=$(LONG) \
593 _copybin src_exe=exe src_dll=dll src_so=so \
594 inst_exe="$(INSTDIR)\bin" \
595 inst_dll="$(INSTDIR)\bin" \
596 inst_so="$(INSTDIR)\modules"
597 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=$(SHORT) LONG=$(LONG) \
598 _copybin src_exe=pdb src_dll=pdb src_so=pdb quiet="-" \
599 inst_exe="$(INSTDIR)\bin" \
600 inst_dll="$(INSTDIR)\bin" \
601 inst_so="$(INSTDIR)\modules"
603 $(MAKE) $(MAKEOPT) -f build\modules.mk.win install \
604 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=. \
605 INSTALL_DIR="$(INSTDIR)\bin\iconv"
607 copy docs\cgi-examples\printenv "$(INSTDIR)\cgi-bin\printenv.pl" <.y
608 -awk -f <<script.awk "docs/cgi-examples/printenv" > "$(INSTDIR)\cgi-bin\printenv.pl"
610 if ( "perl -e \"print $$^X;\"" | getline perlroot ) {
611 gsub( /\\/, "/", perlroot );
616 if ( $$0 !~ /^#!/ ) {
621 xcopy docs\error "$(INSTDIR)\error" /s /d < .a
622 xcopy docs\docroot "$(INSTDIR)\htdocs" /d < .a
623 xcopy docs\icons "$(INSTDIR)\icons" /s /d < .a
624 xcopy docs\manual "$(INSTDIR)\manual" /s /d < .a
625 xcopy srclib\apr-util\xml\expat\lib\expat.h "$(INSTDIR)\include" /d < .a
626 xcopy srclib\apr\include\*.h "$(INSTDIR)\include" /d < .a
627 xcopy srclib\apr-util\include\*.h "$(INSTDIR)\include" /d < .a
628 xcopy include\*.h "$(INSTDIR)\include" /d < .a
629 copy srclib\apr\Lib$(SHORT)\apr-1.lib "$(INSTDIR)\lib" <.y
630 copy srclib\apr\Lib$(SHORT)\apr_src.pdb "$(INSTDIR)\lib" <.y
631 copy srclib\apr-util\Lib$(SHORT)\aprutil-1.lib "$(INSTDIR)\lib" <.y
632 copy srclib\apr-util\Lib$(SHORT)\aprutil_src.pdb "$(INSTDIR)\lib" <.y
633 copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml.lib "$(INSTDIR)\lib" <.y
634 copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml_src.pdb "$(INSTDIR)\lib" <.y
635 copy srclib\apr\$(LONG)\libapr-1.lib "$(INSTDIR)\lib" <.y
636 copy srclib\apr\$(LONG)\libapr-1.exp "$(INSTDIR)\lib" <.y
637 copy srclib\apr-iconv\$(LONG)\libapriconv-1.lib "$(INSTDIR)\lib" <.y
638 copy srclib\apr-iconv\$(LONG)\libapriconv-1.exp "$(INSTDIR)\lib" <.y
639 copy srclib\apr-util\$(LONG)\libaprutil-1.lib "$(INSTDIR)\lib" <.y
640 copy srclib\apr-util\$(LONG)\libaprutil-1.exp "$(INSTDIR)\lib" <.y
641 copy $(LONG)\libhttpd.exp "$(INSTDIR)\lib" <.y
642 copy $(LONG)\libhttpd.lib "$(INSTDIR)\lib" <.y
643 copy modules\dav\main\$(LONG)\mod_dav.exp "$(INSTDIR)\lib" <.y
644 copy modules\dav\main\$(LONG)\mod_dav.lib "$(INSTDIR)\lib" <.y
645 copy docs\conf\magic "$(INSTDIR)\conf\original\magic" <.y
646 if not exist "$(INSTDIR)\conf\magic" \
647 copy "$(INSTDIR)\conf\original\magic" "$(INSTDIR)\conf\magic"
648 copy docs\conf\mime.types "$(INSTDIR)\conf\original\mime.types" <.y
649 if not exist "$(INSTDIR)\conf\mime.types" \
650 copy "$(INSTDIR)\conf\original\mime.types" "$(INSTDIR)\conf\mime.types"
651 copy docs\conf\httpd-win.conf "$(INSTDIR)\conf\original\httpd.conf" <.y
652 -awk -f <<script.awk "docs/conf/httpd-win.conf" "$(INSTDIR)" > "$(INSTDIR)\conf\original\httpd.conf"
654 serverroot = ARGV[2];
656 gsub( /\\/, "/", serverroot );
658 gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
661 gsub( /@@ServerRoot@@/, serverroot );
662 gsub( /@@ServerName@@/, "$(SERVERNAME)" );
663 gsub( /@@Port@@/, "$(PORT)" );
667 if not exist "$(INSTDIR)\conf\httpd.conf" \
668 copy "$(INSTDIR)\conf\original\httpd.conf" "$(INSTDIR)\conf\httpd.conf"
669 copy docs\conf\extra\httpd-autoindex.conf.in "$(INSTDIR)\conf\original\httpd-autoindex.conf" <.y
670 -awk -f <<script.awk "docs/conf/extra/httpd-autoindex.conf.in" "$(INSTDIR)" > "$(INSTDIR)\conf\original\extra\httpd-autoindex.conf"
672 serverroot = ARGV[2];
674 gsub( /\\/, "/", serverroot );
676 gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
679 gsub( /@exp_iconsdir@/, serverroot "/icons" );
683 if not exist "$(INSTDIR)\conf\extra\httpd-autoindex.conf" \
684 copy "$(INSTDIR)\conf\original\extra\httpd-autoindex.conf" "$(INSTDIR)\conf\extra\httpd-autoindex.conf"
685 copy docs\conf\extra\httpd-dav.conf.in "$(INSTDIR)\conf\original\httpd-dav.conf" <.y
686 -awk -f <<script.awk "docs/conf/extra/httpd-dav.conf.in" "$(INSTDIR)" > "$(INSTDIR)\conf\original\extra\httpd-dav.conf"
688 serverroot = ARGV[2];
690 gsub( /\\/, "/", serverroot );
692 gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
695 gsub( /@@ServerRoot@@/, serverroot );
699 if not exist "$(INSTDIR)\conf\extra\httpd-dav.conf" \
700 copy "$(INSTDIR)\conf\original\extra\httpd-dav.conf" "$(INSTDIR)\conf\extra\httpd-dav.conf"
701 copy docs\conf\extra\httpd-manual.conf.in "$(INSTDIR)\conf\original\httpd-manual.conf" <.y
702 -awk -f <<script.awk "docs/conf/extra/httpd-manual.conf.in" "$(INSTDIR)" > "$(INSTDIR)\conf\original\extra\httpd-manual.conf"
704 serverroot = ARGV[2];
706 gsub( /\\/, "/", serverroot );
708 gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
711 gsub( /@exp_manualdir@/, serverroot "/manual" );
715 if not exist "$(INSTDIR)\conf\extra\httpd-manual.conf" \
716 copy "$(INSTDIR)\conf\original\extra\httpd-manual.conf" "$(INSTDIR)\conf\extra\httpd-manual.conf"
717 copy docs\conf\extra\httpd-multilang-errordoc.conf.in "$(INSTDIR)\conf\original\httpd-multilang-errordoc.conf" <.y
718 -awk -f <<script.awk "docs/conf/extra/httpd-multilang-errordoc.conf.in" "$(INSTDIR)" > "$(INSTDIR)\conf\original\extra\httpd-multilang-errordoc.conf"
720 serverroot = ARGV[2];
722 gsub( /\\/, "/", serverroot );
724 gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
727 gsub( /@exp_errordir@/, serverroot "/error" );
731 if not exist "$(INSTDIR)\conf\extra\httpd-multilang-errordoc.conf" \
732 copy "$(INSTDIR)\conf\original\extra\httpd-multilang-errordoc.conf" "$(INSTDIR)\conf\extra\httpd-multilang-errordoc.conf"
733 copy docs\conf\extra\httpd-ssl.conf.in "$(INSTDIR)\conf\original\httpd-ssl.conf" <.y
734 -awk -f <<script.awk "docs/conf/extra/httpd-ssl.conf.in" "$(INSTDIR)" > "$(INSTDIR)\conf\original\extra\httpd-ssl.conf"
736 serverroot = ARGV[2];
738 gsub( /\\/, "/", serverroot );
740 gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
743 gsub( /@@ServerRoot@@/, serverroot );
744 gsub( /@exp_runtimedir@/, "logs" );
745 gsub( /@exp_htdocsdir@/, serverroot "/htdocs" );
746 gsub( /@exp_logfiledir@/, "logs" );
747 gsub( /@exp_sysconfdir@/, "conf" );
748 gsub( /@exp_cgidir@/, serverroot "/cgi-bin" );
752 if not exist "$(INSTDIR)\conf\extra\httpd-ssl.conf" \
753 copy "$(INSTDIR)\conf\original\extra\httpd-ssl.conf" "$(INSTDIR)\conf\extra\httpd-ssl.conf"
754 copy docs\conf\extra\httpd-userdir.conf.in "$(INSTDIR)\conf\original\httpd-userdir.conf" <.y
755 -awk -f <<script.awk "docs/conf/extra/httpd-userdir.conf.in" "$(INSTDIR)" > "$(INSTDIR)\conf\original\extra\httpd-userdir.conf"
757 serverroot = ARGV[2];
759 gsub( /\\/, "/", serverroot );
761 gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
764 gsub( /public_html/, "\"My Documents/My Website\"" );
765 gsub( /\/home/, "C:/WinNT/profiles" );
769 if not exist "$(INSTDIR)\conf\extra\httpd-userdir.conf" \
770 copy "$(INSTDIR)\conf\original\extra\httpd-userdir.conf" "$(INSTDIR)\conf\extra\httpd-userdir.conf"
771 copy docs\conf\extra\httpd-mpm.conf.in "$(INSTDIR)\conf\original\httpd-mpm.conf" <.y
772 -awk -f <<script.awk "docs/conf/extra/httpd-mpm.conf.in" "$(INSTDIR)" > "$(INSTDIR)\conf\original\extra\httpd-mpm.conf"
774 serverroot = ARGV[2];
776 gsub( /\\/, "/", serverroot );
778 gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
781 gsub( /@rel_runtimedir@/, "logs/" );
782 gsub( /\/home/, "C:/WinNT/profiles" );
786 if not exist "$(INSTDIR)\conf\extra\httpd-mpm.conf" \
787 copy "$(INSTDIR)\conf\original\extra\httpd-mpm.conf" "$(INSTDIR)\conf\extra\httpd-mpm.conf"
788 copy docs\conf\extra\httpd-default.conf.in "$(INSTDIR)\conf\original\extra\httpd-default.conf" <.y
789 if not exist "$(INSTDIR)\conf\extra\httpd-default.conf" \
790 copy "$(INSTDIR)\conf\original\extra\httpd-default.conf" "$(INSTDIR)\conf\extra\httpd-default.conf"
791 copy docs\conf\extra\httpd-info.conf.in "$(INSTDIR)\conf\original\extra\httpd-info.conf" <.y
792 if not exist "$(INSTDIR)\conf\extra\httpd-info.conf" \
793 copy "$(INSTDIR)\conf\original\extra\httpd-info.conf" "$(INSTDIR)\conf\extra\httpd-info.conf"
794 copy docs\conf\extra\httpd-languages.conf.in "$(INSTDIR)\conf\original\extra\httpd-languages.conf" <.y
795 if not exist "$(INSTDIR)\conf\extra\httpd-languages.conf" \
796 copy "$(INSTDIR)\conf\original\extra\httpd-languages.conf" "$(INSTDIR)\conf\extra\httpd-languages.conf"
797 copy docs\conf\extra\httpd-vhosts.conf.in "$(INSTDIR)\conf\original\extra\httpd-vhosts.conf" <.y
798 if not exist "$(INSTDIR)\conf\extra\httpd-vhosts.conf" \
799 copy "$(INSTDIR)\conf\original\extra\httpd-vhosts.conf" "$(INSTDIR)\conf\extra\httpd-vhosts.conf"
800 -awk -f <<script.awk "support/dbmmanage.in" >"$(INSTDIR)\bin\dbmmanage.pl"
801 { if ( $$0 ~ /^BEGIN \{ @AnyDBM_File::/ ) {
802 sub( /ISA = qw\(.*\)/, "ISA = qw(SDBM_File)" );
804 if ( $$0 !~ /^#!@perlbin@/ )