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 $(INSTDIR)\srclib dir.
37 !MESSAGE Apache cannot build without these libraries!
39 !ERROR Need $(INSTDIR)\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
130 !IF "$(MAKE)" == "NMAKE"
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) /nologo /f Makefile.win all \
186 BUILD_MODE=$(LONG) BIND_MODE=shared
188 $(MAKE) /nologo /f Makefile.win all \
189 BUILD_MODE=$(LONG) BIND_MODE=shared
193 cd srclib\apr-util\uri
194 $(MAKE) $(MAKEOPT) -f gen_uri_delims.mak CFG="gen_uri_delims - Win32 $(LONG)" RECURSE=0 $(CTARGET)
196 cd srclib\apr-util\xml\expat\lib
197 $(MAKE) $(MAKEOPT) -f xml.mak CFG="xml - Win32 $(LONG)" RECURSE=0 $(CTARGET)
199 $(MAKE) $(MAKEOPT) -f aprutil.mak CFG="aprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET)
200 $(MAKE) $(MAKEOPT) -f libaprutil.mak CFG="libaprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET)
203 $(MAKE) $(MAKEOPT) -f dftables.mak CFG="dftables - Win32 $(LONG)" RECURSE=0 $(CTARGET)
204 $(MAKE) $(MAKEOPT) -f pcre.mak CFG="pcre - Win32 $(LONG)" RECURSE=0 $(CTARGET)
207 $(MAKE) $(MAKEOPT) -f gen_test_char.mak CFG="gen_test_char - Win32 $(LONG)" RECURSE=0 $(CTARGET)
209 $(MAKE) $(MAKEOPT) -f libhttpd.mak CFG="libhttpd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
210 $(MAKE) $(MAKEOPT) -f httpd.mak CFG="httpd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
211 # build ldap prior to authnz_ldap
213 $(MAKE) $(MAKEOPT) -f mod_ldap.mak CFG="mod_ldap - 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_dbm.mak CFG="mod_authn_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
220 $(MAKE) $(MAKEOPT) -f mod_authn_default.mak CFG="mod_authn_default - Win32 $(LONG)" RECURSE=0 $(CTARGET)
221 $(MAKE) $(MAKEOPT) -f mod_authn_file.mak CFG="mod_authn_file - Win32 $(LONG)" RECURSE=0 $(CTARGET)
222 $(MAKE) $(MAKEOPT) -f mod_authz_dbm.mak CFG="mod_authz_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
223 $(MAKE) $(MAKEOPT) -f mod_authz_default.mak CFG="mod_authz_default - Win32 $(LONG)" RECURSE=0 $(CTARGET)
224 $(MAKE) $(MAKEOPT) -f mod_authz_groupfile.mak CFG="mod_authz_groupfile - Win32 $(LONG)" RECURSE=0 $(CTARGET)
225 $(MAKE) $(MAKEOPT) -f mod_authz_host.mak CFG="mod_authz_host - Win32 $(LONG)" RECURSE=0 $(CTARGET)
226 $(MAKE) $(MAKEOPT) -f mod_authz_user.mak CFG="mod_authz_user - Win32 $(LONG)" RECURSE=0 $(CTARGET)
227 $(MAKE) $(MAKEOPT) -f mod_authnz_ldap.mak CFG="mod_authnz_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
229 cd modules\arch\win32
230 $(MAKE) $(MAKEOPT) -f mod_isapi.mak CFG="mod_isapi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
233 $(MAKE) $(MAKEOPT) -f mod_cache.mak CFG="mod_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
234 $(MAKE) $(MAKEOPT) -f mod_file_cache.mak CFG="mod_file_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
235 $(MAKE) $(MAKEOPT) -f mod_mem_cache.mak CFG="mod_mem_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
236 $(MAKE) $(MAKEOPT) -f mod_disk_cache.mak CFG="mod_disk_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
239 $(MAKE) $(MAKEOPT) -f mod_dav.mak CFG="mod_dav - Win32 $(LONG)" RECURSE=0 $(CTARGET)
242 $(MAKE) $(MAKEOPT) -f mod_dav_fs.mak CFG="mod_dav_fs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
245 $(MAKE) $(MAKEOPT) -f mod_bucketeer.mak CFG="mod_bucketeer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
246 $(MAKE) $(MAKEOPT) -f mod_dumpio.mak CFG="mod_dumpio - Win32 $(LONG)" RECURSE=0 $(CTARGET)
248 cd modules\experimental
251 !IF EXIST("srclib\zlib")
252 $(MAKE) $(MAKEOPT) -f mod_deflate.mak CFG="mod_deflate - Win32 $(LONG)" RECURSE=0 $(CTARGET)
254 $(MAKE) $(MAKEOPT) -f mod_charset_lite.mak CFG="mod_charset_lite - Win32 $(LONG)" RECURSE=0 $(CTARGET)
255 $(MAKE) $(MAKEOPT) -f mod_ext_filter.mak CFG="mod_ext_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
256 $(MAKE) $(MAKEOPT) -f mod_include.mak CFG="mod_include - Win32 $(LONG)" RECURSE=0 $(CTARGET)
258 cd modules\generators
259 $(MAKE) $(MAKEOPT) -f mod_asis.mak CFG="mod_asis - Win32 $(LONG)" RECURSE=0 $(CTARGET)
260 $(MAKE) $(MAKEOPT) -f mod_autoindex.mak CFG="mod_autoindex - Win32 $(LONG)" RECURSE=0 $(CTARGET)
261 $(MAKE) $(MAKEOPT) -f mod_cgi.mak CFG="mod_cgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
262 $(MAKE) $(MAKEOPT) -f mod_info.mak CFG="mod_info - Win32 $(LONG)" RECURSE=0 $(CTARGET)
263 $(MAKE) $(MAKEOPT) -f mod_status.mak CFG="mod_status - Win32 $(LONG)" RECURSE=0 $(CTARGET)
266 $(MAKE) $(MAKEOPT) -f mod_mime.mak CFG="mod_mime - Win32 $(LONG)" RECURSE=0 $(CTARGET)
269 $(MAKE) $(MAKEOPT) -f mod_log_config.mak CFG="mod_log_config - Win32 $(LONG)" RECURSE=0 $(CTARGET)
270 $(MAKE) $(MAKEOPT) -f mod_log_forensic.mak CFG="mod_log_forensic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
271 $(MAKE) $(MAKEOPT) -f mod_logio.mak CFG="mod_logio - Win32 $(LONG)" RECURSE=0 $(CTARGET)
274 $(MAKE) $(MAKEOPT) -f mod_actions.mak CFG="mod_actions - Win32 $(LONG)" RECURSE=0 $(CTARGET)
275 $(MAKE) $(MAKEOPT) -f mod_alias.mak CFG="mod_alias - Win32 $(LONG)" RECURSE=0 $(CTARGET)
276 $(MAKE) $(MAKEOPT) -f mod_dir.mak CFG="mod_dir - Win32 $(LONG)" RECURSE=0 $(CTARGET)
277 $(MAKE) $(MAKEOPT) -f mod_imagemap.mak CFG="mod_imagemap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
278 $(MAKE) $(MAKEOPT) -f mod_negotiation.mak CFG="mod_negotiation - Win32 $(LONG)" RECURSE=0 $(CTARGET)
279 $(MAKE) $(MAKEOPT) -f mod_rewrite.mak CFG="mod_rewrite - Win32 $(LONG)" RECURSE=0 $(CTARGET)
280 $(MAKE) $(MAKEOPT) -f mod_speling.mak CFG="mod_speling - Win32 $(LONG)" RECURSE=0 $(CTARGET)
281 $(MAKE) $(MAKEOPT) -f mod_userdir.mak CFG="mod_userdir - Win32 $(LONG)" RECURSE=0 $(CTARGET)
282 $(MAKE) $(MAKEOPT) -f mod_vhost_alias.mak CFG="mod_vhost_alias - Win32 $(LONG)" RECURSE=0 $(CTARGET)
285 $(MAKE) $(MAKEOPT) -f mod_cern_meta.mak CFG="mod_cern_meta - Win32 $(LONG)" RECURSE=0 $(CTARGET)
286 $(MAKE) $(MAKEOPT) -f mod_env.mak CFG="mod_env - Win32 $(LONG)" RECURSE=0 $(CTARGET)
287 $(MAKE) $(MAKEOPT) -f mod_expires.mak CFG="mod_expires - Win32 $(LONG)" RECURSE=0 $(CTARGET)
288 $(MAKE) $(MAKEOPT) -f mod_headers.mak CFG="mod_headers - Win32 $(LONG)" RECURSE=0 $(CTARGET)
289 $(MAKE) $(MAKEOPT) -f mod_ident.mak CFG="mod_ident - Win32 $(LONG)" RECURSE=0 $(CTARGET)
290 $(MAKE) $(MAKEOPT) -f mod_mime_magic.mak CFG="mod_mime_magic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
291 $(MAKE) $(MAKEOPT) -f mod_setenvif.mak CFG="mod_setenvif - Win32 $(LONG)" RECURSE=0 $(CTARGET)
292 $(MAKE) $(MAKEOPT) -f mod_unique_id.mak CFG="mod_unique_id - Win32 $(LONG)" RECURSE=0 $(CTARGET)
293 $(MAKE) $(MAKEOPT) -f mod_usertrack.mak CFG="mod_usertrack - Win32 $(LONG)" RECURSE=0 $(CTARGET)
294 $(MAKE) $(MAKEOPT) -f mod_version.mak CFG="mod_version - Win32 $(LONG)" RECURSE=0 $(CTARGET)
297 $(MAKE) $(MAKEOPT) -f mod_proxy.mak CFG="mod_proxy - Win32 $(LONG)" RECURSE=0 $(CTARGET)
298 $(MAKE) $(MAKEOPT) -f mod_proxy_ajp.mak CFG="mod_proxy_ajp - Win32 $(LONG)" RECURSE=0 $(CTARGET)
299 $(MAKE) $(MAKEOPT) -f mod_proxy_balancer.mak CFG="mod_proxy_balancer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
300 $(MAKE) $(MAKEOPT) -f mod_proxy_connect.mak CFG="mod_proxy_connect - Win32 $(LONG)" RECURSE=0 $(CTARGET)
301 $(MAKE) $(MAKEOPT) -f mod_proxy_ftp.mak CFG="mod_proxy_ftp - Win32 $(LONG)" RECURSE=0 $(CTARGET)
302 $(MAKE) $(MAKEOPT) -f mod_proxy_http.mak CFG="mod_proxy_http - Win32 $(LONG)" RECURSE=0 $(CTARGET)
304 !IF EXIST("srclib\openssl")
306 $(MAKE) $(MAKEOPT) -f mod_ssl.mak CFG="mod_ssl - Win32 $(LONG)" RECURSE=0 $(CTARGET) .\$(LONG)\mod_ssl.so
309 $(MAKE) $(MAKEOPT) -f abs.mak CFG="abs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
313 $(MAKE) $(MAKEOPT) -f ab.mak CFG="ab - Win32 $(LONG)" RECURSE=0 $(CTARGET)
314 $(MAKE) $(MAKEOPT) -f htcacheclean.mak CFG="htcacheclean - Win32 $(LONG)" RECURSE=0 $(CTARGET)
315 $(MAKE) $(MAKEOPT) -f htdbm.mak CFG="htdbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
316 $(MAKE) $(MAKEOPT) -f htdigest.mak CFG="htdigest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
317 $(MAKE) $(MAKEOPT) -f htpasswd.mak CFG="htpasswd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
318 $(MAKE) $(MAKEOPT) -f logresolve.mak CFG="logresolve - Win32 $(LONG)" RECURSE=0 $(CTARGET)
319 $(MAKE) $(MAKEOPT) -f rotatelogs.mak CFG="rotatelogs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
322 $(MAKE) $(MAKEOPT) -f ApacheMonitor.mak CFG="ApacheMonitor - Win32 $(LONG)" RECURSE=0 $(CTARGET)
323 $(MAKE) $(MAKEOPT) -f wintty.mak CFG="wintty - Win32 $(LONG)" RECURSE=0 $(CTARGET)
326 !ELSEIF EXIST("Apache.sln")
329 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/clean" _build
332 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug CTARGET="/clean" _build
335 echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
336 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project BuildBin
337 !IF EXIST("srclib\openssl")
338 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_ssl
339 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project abs
341 !IF EXIST("srclib\zlib")
342 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_deflate
348 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/CLEAN" _build
351 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug CTARGET="/CLEAN" _build
354 @echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
355 @msdev Apache.dsw /USEENV /MAKE \
356 "BuildBin - Win32 $(LONG)" $(CTARGET)
357 !IF "$(CTARGET)" == "/CLEAN"
359 @$(MAKE) $(MAKEOPT) /f build\modules.mk.win clean \
360 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=.
363 !IF EXIST("srclib\openssl")
364 @msdev Apache.dsw /USEENV /MAKE \
365 "mod_ssl - Win32 $(LONG)" \
366 "abs - Win32 $(LONG)" /NORECURSE $(CTARGET)
368 !IF EXIST("srclib\zlib")
369 @msdev Apache.dsw /USEENV /MAKE \
370 "mod_deflate - Win32 $(LONG)" /NORECURSE $(CTARGET)
377 copy $(LONG)\httpd.$(src_exe) "$(inst_exe)" <.y
378 copy $(LONG)\libhttpd.$(src_dll) "$(inst_dll)" <.y
379 copy srclib\apr\$(LONG)\libapr-1.$(src_dll) "$(inst_dll)" <.y
380 copy srclib\apr-iconv\$(LONG)\libapriconv-1.$(src_dll) "$(inst_dll)" <.y
381 copy srclib\apr-util\$(LONG)\libaprutil-1.$(src_dll) "$(inst_dll)" <.y
382 copy modules\aaa\$(LONG)\mod_auth_basic.$(src_so) "$(inst_so)" <.y
383 copy modules\aaa\$(LONG)\mod_auth_digest.$(src_so) "$(inst_so)" <.y
384 copy modules\aaa\$(LONG)\mod_authn_anon.$(src_so) "$(inst_so)" <.y
385 copy modules\aaa\$(LONG)\mod_authn_dbm.$(src_so) "$(inst_so)" <.y
386 copy modules\aaa\$(LONG)\mod_authn_default.$(src_so) "$(inst_so)" <.y
387 copy modules\aaa\$(LONG)\mod_authn_file.$(src_so) "$(inst_so)" <.y
388 copy modules\aaa\$(LONG)\mod_authz_dbm.$(src_so) "$(inst_so)" <.y
389 copy modules\aaa\$(LONG)\mod_authz_default.$(src_so) "$(inst_so)" <.y
390 copy modules\aaa\$(LONG)\mod_authz_groupfile.$(src_so) "$(inst_so)" <.y
391 copy modules\aaa\$(LONG)\mod_authz_host.$(src_so) "$(inst_so)" <.y
392 copy modules\aaa\$(LONG)\mod_authz_user.$(src_so) "$(inst_so)" <.y
393 copy modules\aaa\$(LONG)\mod_authnz_ldap.$(src_so) "$(inst_so)" <.y
394 copy modules\arch\win32\$(LONG)\mod_isapi.$(src_so) "$(inst_so)" <.y
395 copy modules\cache\$(LONG)\mod_cache.$(src_so) "$(inst_so)" <.y
396 copy modules\cache\$(LONG)\mod_file_cache.$(src_so) "$(inst_so)" <.y
397 copy modules\cache\$(LONG)\mod_mem_cache.$(src_so) "$(inst_so)" <.y
398 copy modules\cache\$(LONG)\mod_disk_cache.$(src_so) "$(inst_so)" <.y
399 copy modules\dav\fs\$(LONG)\mod_dav_fs.$(src_so) "$(inst_so)" <.y
400 copy modules\dav\main\$(LONG)\mod_dav.$(src_so) "$(inst_so)" <.y
401 copy modules\debug\$(LONG)\mod_bucketeer.$(src_so) "$(inst_so)" <.y
402 copy modules\debug\$(LONG)\mod_dumpio.$(src_so) "$(inst_so)" <.y
403 copy modules\filters\$(LONG)\mod_charset_lite.$(src_so) "$(inst_so)" <.y
404 !IF EXIST("srclib\zlib")
405 copy modules\filters\$(LONG)\mod_deflate.$(src_so) "$(inst_so)" <.y
406 !IF EXIST("srclib\zlib\zlib1.$(src_dll)")
407 copy srclib\zlib\zlib1.$(src_dll) "$(inst_dll)" <.y
410 copy modules\filters\$(LONG)\mod_ext_filter.$(src_so) "$(inst_so)" <.y
411 copy modules\filters\$(LONG)\mod_include.$(src_so) "$(inst_so)" <.y
412 copy modules\generators\$(LONG)\mod_asis.$(src_so) "$(inst_so)" <.y
413 copy modules\generators\$(LONG)\mod_autoindex.$(src_so) "$(inst_so)" <.y
414 copy modules\generators\$(LONG)\mod_cgi.$(src_so) "$(inst_so)" <.y
415 copy modules\generators\$(LONG)\mod_info.$(src_so) "$(inst_so)" <.y
416 copy modules\generators\$(LONG)\mod_status.$(src_so) "$(inst_so)" <.y
417 copy modules\http\$(LONG)\mod_mime.$(src_so) "$(inst_so)" <.y
418 copy modules\ldap\$(LONG)\mod_ldap.$(src_so) "$(inst_so)" <.y
419 copy modules\loggers\$(LONG)\mod_log_config.$(src_so) "$(inst_so)" <.y
420 copy modules\loggers\$(LONG)\mod_log_forensic.$(src_so) "$(inst_so)" <.y
421 copy modules\loggers\$(LONG)\mod_logio.$(src_so) "$(inst_so)" <.y
422 copy modules\mappers\$(LONG)\mod_actions.$(src_so) "$(inst_so)" <.y
423 copy modules\mappers\$(LONG)\mod_alias.$(src_so) "$(inst_so)" <.y
424 copy modules\mappers\$(LONG)\mod_dir.$(src_so) "$(inst_so)" <.y
425 copy modules\mappers\$(LONG)\mod_imagemap.$(src_so) "$(inst_so)" <.y
426 copy modules\mappers\$(LONG)\mod_negotiation.$(src_so) "$(inst_so)" <.y
427 copy modules\mappers\$(LONG)\mod_rewrite.$(src_so) "$(inst_so)" <.y
428 copy modules\mappers\$(LONG)\mod_speling.$(src_so) "$(inst_so)" <.y
429 copy modules\mappers\$(LONG)\mod_userdir.$(src_so) "$(inst_so)" <.y
430 copy modules\mappers\$(LONG)\mod_vhost_alias.$(src_so) "$(inst_so)" <.y
431 copy modules\metadata\$(LONG)\mod_cern_meta.$(src_so) "$(inst_so)" <.y
432 copy modules\metadata\$(LONG)\mod_env.$(src_so) "$(inst_so)" <.y
433 copy modules\metadata\$(LONG)\mod_expires.$(src_so) "$(inst_so)" <.y
434 copy modules\metadata\$(LONG)\mod_headers.$(src_so) "$(inst_so)" <.y
435 copy modules\metadata\$(LONG)\mod_ident.$(src_so) "$(inst_so)" <.y
436 copy modules\metadata\$(LONG)\mod_mime_magic.$(src_so) "$(inst_so)" <.y
437 copy modules\metadata\$(LONG)\mod_setenvif.$(src_so) "$(inst_so)" <.y
438 copy modules\metadata\$(LONG)\mod_unique_id.$(src_so) "$(inst_so)" <.y
439 copy modules\metadata\$(LONG)\mod_usertrack.$(src_so) "$(inst_so)" <.y
440 copy modules\metadata\$(LONG)\mod_version.$(src_so) "$(inst_so)" <.y
441 copy modules\proxy\$(LONG)\mod_proxy.$(src_so) "$(inst_so)" <.y
442 copy modules\proxy\$(LONG)\mod_proxy_ajp.$(src_so) "$(inst_so)" <.y
443 copy modules\proxy\$(LONG)\mod_proxy_balancer.$(src_so) "$(inst_so)" <.y
444 copy modules\proxy\$(LONG)\mod_proxy_connect.$(src_so) "$(inst_so)" <.y
445 copy modules\proxy\$(LONG)\mod_proxy_ftp.$(src_so) "$(inst_so)" <.y
446 copy modules\proxy\$(LONG)\mod_proxy_http.$(src_so) "$(inst_so)" <.y
447 !IF EXIST("srclib\openssl")
448 copy modules\ssl\$(LONG)\mod_ssl.$(src_so) "$(inst_so)" <.y
449 $(quiet)copy srclib\openssl\$(SSLBIN)\openssl.$(src_exe) "$(inst_exe)" <.y
450 $(quiet)copy srclib\openssl\$(SSLBIN)\libeay32.$(src_dll) "$(inst_dll)" <.y
451 $(quiet)copy srclib\openssl\$(SSLBIN)\ssleay32.$(src_dll) "$(inst_dll)" <.y
452 copy support\$(LONG)\abs.$(src_exe) "$(inst_exe)\ab.$(src_exe)" <.y
454 copy support\$(LONG)\ab.$(src_exe) "$(inst_exe)" <.y
456 copy support\$(LONG)\htcacheclean.$(src_exe) "$(inst_exe)" <.y
457 copy support\$(LONG)\htdbm.$(src_exe) "$(inst_exe)" <.y
458 copy support\$(LONG)\htdigest.$(src_exe) "$(inst_exe)" <.y
459 copy support\$(LONG)\htpasswd.$(src_exe) "$(inst_exe)" <.y
460 copy support\$(LONG)\logresolve.$(src_exe) "$(inst_exe)" <.y
461 copy support\$(LONG)\rotatelogs.$(src_exe) "$(inst_exe)" <.y
462 copy support\win32\$(LONG)\ApacheMonitor.$(src_exe) "$(inst_exe)" <.y
463 copy support\win32\$(LONG)\wintty.$(src_exe) "$(inst_exe)" <.y
465 # First we create the tree and populate the README so that
466 # whatever happens, all licensing has already propagated.
467 # Then repeatedly invoke the _copybin build to copy the
468 # real binaries, then pdb symbols, anf finally dbg syms.
469 # Then hit docs of various sorts, then includes and libs,
470 # and finally do the .conf magic.
476 -mkdir "$(INSTDIR)\bin"
477 -mkdir "$(INSTDIR)\bin\iconv"
478 -mkdir "$(INSTDIR)\cgi-bin"
479 -mkdir "$(INSTDIR)\conf"
480 -mkdir "$(INSTDIR)\conf\extra"
481 -mkdir "$(INSTDIR)\conf\original"
482 -mkdir "$(INSTDIR)\conf\original\extra"
483 -mkdir "$(INSTDIR)\error"
484 -mkdir "$(INSTDIR)\htdocs"
485 -mkdir "$(INSTDIR)\manual"
486 -mkdir "$(INSTDIR)\icons"
487 -mkdir "$(INSTDIR)\include"
488 -mkdir "$(INSTDIR)\lib"
489 -mkdir "$(INSTDIR)\logs"
490 -mkdir "$(INSTDIR)\modules"
491 -mkdir "$(INSTDIR)\proxy"
492 -mkdir "$(INSTDIR)\symbols"
493 -mkdir "$(INSTDIR)\symbols\exe"
494 -mkdir "$(INSTDIR)\symbols\dll"
495 -mkdir "$(INSTDIR)\symbols\so"
496 copy ABOUT_APACHE "$(INSTDIR)\ABOUT_APACHE.txt" <.y
497 copy CHANGES "$(INSTDIR)\CHANGES.txt" <.y
498 copy INSTALL "$(INSTDIR)\INSTALL.txt" <.y
499 copy LICENSE "$(INSTDIR)\LICENSE.txt" <.y
500 copy README "$(INSTDIR)\README.txt" <.y
501 !IF EXIST("srclib\openssl")
502 type << >> "$(INSTDIR)\README.txt"
504 This binary distribution includes cryptographic software written by
505 Eric Young (eay@cryptsoft.com), software written by Tim Hudson
506 (tjh@cryptsoft.com), and software developed by the OpenSSL Project
507 for use in the OpenSSL Toolkit <http://www.openssl.org/>.
509 -awk -f <<script.awk < "srclib\openssl\LICENSE" >> "$(INSTDIR)\LICENSE.txt"
512 print "For the libeay32.dll, ssleay32.dll and certtool.exe components:";
514 while ( getline > 0 ) {
519 copy << + srclib\openssl\NEWS "$(INSTDIR)\OPENSSL-NEWS.txt" <.y
521 Apache HTTP Server 2.0 Limited OpenSSL Distribution
523 This binary distribution includes the minimal components of OpenSSL required
524 to support mod_ssl for Apache HTTP Server version 2.0 (details are listed
525 in OPENSSL-README.txt.) For the complete list of CHANGES to this and later
526 versions of OpenSSL, please refer to the definative source,
527 <http://www.openssl.org/news/changelog.html>, or see the CHANGES file in the
528 full binary or source distribution package from <http://www.openssl.org/>.
530 These OpenSSL binaries were built for distribution from the U.S. without
531 support for the patented encryption methods IDEA, MDC-2 or RC5.
533 --------------------------------------------------------------------------------
535 copy << + srclib\openssl\README "$(INSTDIR)\OPENSSL-README.txt" <.y
537 Apache HTTP Server 2.0 Limited OpenSSL Distribution
539 This binary installation of OpenSSL is a limited distribution of the documents
540 OPENSSL-LICENSE.txt, OPENSSL-NEWS.txt and OPENSSL-README.txt, and the binaries
546 These are the minimal libraries and tools required to use mod_ssl as
547 distributed with Apache HTTP Server version 2.0. No library link files,
548 headers or sources are distributed with this binary distribution. Please
549 refer to the <http://www.openssl.org/> site for complete source or binary
552 These OpenSSL binaries were built for distribution from the U.S. without
553 support for the patented encryption methods IDEA, MDC-2 or RC5.
555 The Apache HTTP Project only supports the binary distribution of these files
556 and development of the mod_ssl module. We cannot provide support assistance
557 for using or configuring the OpenSSL package or these modules. Please refer
558 all installation and configuration questions to the appropriate forum,
559 such as the user supported lists, <http://httpd.apache.org/userslist.html>
560 the Apache HTTP Server user's list or <http://www.openssl.org/support/> the
561 OpenSSL support page.
563 --------------------------------------------------------------------------------
566 !IF EXIST("srclib\zlib")
567 type << >> "$(INSTDIR)\README.txt"
569 This binary distribution of mod_deflate.so includes zlib compression code
570 <http://www.gzip.org/zlib/> written by Jean-loup Gailly (jloup@gzip.org)
571 and Mark Adler (madler@alumni.caltech.edu) .
573 -awk -f <<script.awk < "srclib\zlib\README" >> "$(INSTDIR)\LICENSE.txt"
575 while ( getline > 0 ) {
576 if ( $$0 ~ /Copyright notice:/ ) {
578 print "For the mod_deflate zlib compression component:";
579 while ( getline > 0 && $$0 !~ /^[^ ]/ ) {
589 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=$(SHORT) LONG=$(LONG) \
590 _copybin src_exe=exe src_dll=dll src_so=so \
591 inst_exe="$(INSTDIR)\bin" \
592 inst_dll="$(INSTDIR)\bin" \
593 inst_so="$(INSTDIR)\modules"
594 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=$(SHORT) LONG=$(LONG) \
595 _copybin src_exe=pdb src_dll=pdb src_so=pdb quiet="-" \
596 inst_exe="$(INSTDIR)\bin" \
597 inst_dll="$(INSTDIR)\bin" \
598 inst_so="$(INSTDIR)\modules"
600 $(MAKE) $(MAKEOPT) -f build\modules.mk.win install \
601 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=. \
602 INSTALL_DIR="$(INSTDIR)\bin\iconv"
604 copy docs\cgi-examples\printenv "$(INSTDIR)\cgi-bin\printenv.pl" <.y
605 -awk -f <<script.awk "docs/cgi-examples/printenv" > "$(INSTDIR)\cgi-bin\printenv.pl"
607 if ( "perl -e \"print $$^X;\"" | getline perlroot ) {
608 gsub( /\\/, "/", perlroot );
613 if ( $$0 !~ /^#!/ ) {
618 xcopy docs\error "$(INSTDIR)\error" /s /d < .a
619 xcopy docs\docroot "$(INSTDIR)\htdocs" /d < .a
620 xcopy docs\icons "$(INSTDIR)\icons" /s /d < .a
621 xcopy docs\manual "$(INSTDIR)\manual" /s /d < .a
622 xcopy srclib\apr-util\xml\expat\lib\expat.h "$(INSTDIR)\include" /d < .a
623 xcopy srclib\apr\include\*.h "$(INSTDIR)\include" /d < .a
624 xcopy srclib\apr-util\include\*.h "$(INSTDIR)\include" /d < .a
625 xcopy include\*.h "$(INSTDIR)\include" /d < .a
626 copy srclib\apr\Lib$(SHORT)\apr-1.lib "$(INSTDIR)\lib" <.y
627 copy srclib\apr\Lib$(SHORT)\apr_src.pdb "$(INSTDIR)\lib" <.y
628 copy srclib\apr-util\Lib$(SHORT)\aprutil-1.lib "$(INSTDIR)\lib" <.y
629 copy srclib\apr-util\Lib$(SHORT)\aprutil_src.pdb "$(INSTDIR)\lib" <.y
630 copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml.lib "$(INSTDIR)\lib" <.y
631 copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml_src.pdb "$(INSTDIR)\lib" <.y
632 copy srclib\apr\$(LONG)\libapr-1.lib "$(INSTDIR)\lib" <.y
633 copy srclib\apr\$(LONG)\libapr-1.exp "$(INSTDIR)\lib" <.y
634 copy srclib\apr-iconv\$(LONG)\libapriconv-1.lib "$(INSTDIR)\lib" <.y
635 copy srclib\apr-iconv\$(LONG)\libapriconv-1.exp "$(INSTDIR)\lib" <.y
636 copy srclib\apr-util\$(LONG)\libaprutil-1.lib "$(INSTDIR)\lib" <.y
637 copy srclib\apr-util\$(LONG)\libaprutil-1.exp "$(INSTDIR)\lib" <.y
638 copy $(LONG)\libhttpd.exp "$(INSTDIR)\lib" <.y
639 copy $(LONG)\libhttpd.lib "$(INSTDIR)\lib" <.y
640 copy modules\dav\main\$(LONG)\mod_dav.exp "$(INSTDIR)\lib" <.y
641 copy modules\dav\main\$(LONG)\mod_dav.lib "$(INSTDIR)\lib" <.y
642 copy docs\conf\magic "$(INSTDIR)\conf\original\magic" <.y
643 if not exist "$(INSTDIR)\conf\magic" \
644 copy "$(INSTDIR)\conf\original\magic" "$(INSTDIR)\conf\magic"
645 copy docs\conf\mime.types "$(INSTDIR)\conf\original\mime.types" <.y
646 if not exist "$(INSTDIR)\conf\mime.types" \
647 copy "$(INSTDIR)\conf\original\mime.types" "$(INSTDIR)\conf\mime.types"
648 copy docs\conf\httpd-win.conf "$(INSTDIR)\conf\original\httpd.conf" <.y
649 -awk -f <<script.awk "docs/conf/httpd-win.conf" "$(INSTDIR)" > "$(INSTDIR)\conf\original\httpd.conf"
651 serverroot = ARGV[2];
653 gsub( /\\/, "/", serverroot );
655 gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
658 gsub( /@@ServerRoot@@/, serverroot );
659 gsub( /@@ServerName@@/, "$(SERVERNAME)" );
660 gsub( /@@Port@@/, "$(PORT)" );
664 if not exist "$(INSTDIR)\conf\httpd.conf" \
665 copy "$(INSTDIR)\conf\original\httpd.conf" "$(INSTDIR)\conf\httpd.conf"
666 copy docs\conf\extra\httpd-autoindex.conf.in "$(INSTDIR)\conf\original\httpd-autoindex.conf" <.y
667 -awk -f <<script.awk "docs/conf/extra/httpd-autoindex.conf.in" "$(INSTDIR)" > "$(INSTDIR)\conf\original\extra\httpd-autoindex.conf"
669 serverroot = ARGV[2];
671 gsub( /\\/, "/", serverroot );
673 gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
676 gsub( /@exp_iconsdir@/, serverroot "/icons" );
680 if not exist "$(INSTDIR)\conf\extra\httpd-autoindex.conf" \
681 copy "$(INSTDIR)\conf\original\extra\httpd-autoindex.conf" "$(INSTDIR)\conf\extra\httpd-autoindex.conf"
682 copy docs\conf\extra\httpd-dav.conf.in "$(INSTDIR)\conf\original\httpd-dav.conf" <.y
683 -awk -f <<script.awk "docs/conf/extra/httpd-dav.conf.in" "$(INSTDIR)" > "$(INSTDIR)\conf\original\extra\httpd-dav.conf"
685 serverroot = ARGV[2];
687 gsub( /\\/, "/", serverroot );
689 gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
692 gsub( /@@ServerRoot@@/, serverroot );
696 if not exist "$(INSTDIR)\conf\extra\httpd-dav.conf" \
697 copy "$(INSTDIR)\conf\original\extra\httpd-dav.conf" "$(INSTDIR)\conf\extra\httpd-dav.conf"
698 copy docs\conf\extra\httpd-manual.conf.in "$(INSTDIR)\conf\original\httpd-manual.conf" <.y
699 -awk -f <<script.awk "docs/conf/extra/httpd-manual.conf.in" "$(INSTDIR)" > "$(INSTDIR)\conf\original\extra\httpd-manual.conf"
701 serverroot = ARGV[2];
703 gsub( /\\/, "/", serverroot );
705 gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
708 gsub( /@exp_manualdir@/, serverroot "/manual" );
712 if not exist "$(INSTDIR)\conf\extra\httpd-manual.conf" \
713 copy "$(INSTDIR)\conf\original\extra\httpd-manual.conf" "$(INSTDIR)\conf\extra\httpd-manual.conf"
714 copy docs\conf\extra\httpd-multilang-errordoc.conf.in "$(INSTDIR)\conf\original\httpd-multilang-errordoc.conf" <.y
715 -awk -f <<script.awk "docs/conf/extra/httpd-multilang-errordoc.conf.in" "$(INSTDIR)" > "$(INSTDIR)\conf\original\extra\httpd-multilang-errordoc.conf"
717 serverroot = ARGV[2];
719 gsub( /\\/, "/", serverroot );
721 gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
724 gsub( /@exp_errordir@/, serverroot "/error" );
728 if not exist "$(INSTDIR)\conf\extra\httpd-multilang-errordoc.conf" \
729 copy "$(INSTDIR)\conf\original\extra\httpd-multilang-errordoc.conf" "$(INSTDIR)\conf\extra\httpd-multilang-errordoc.conf"
730 copy docs\conf\extra\httpd-ssl.conf.in "$(INSTDIR)\conf\original\httpd-ssl.conf" <.y
731 -awk -f <<script.awk "docs/conf/extra/httpd-ssl.conf.in" "$(INSTDIR)" > "$(INSTDIR)\conf\original\extra\httpd-ssl.conf"
733 serverroot = ARGV[2];
735 gsub( /\\/, "/", serverroot );
737 gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
740 gsub( /@@ServerRoot@@/, serverroot );
741 gsub( /@exp_runtimedir@/, "logs" );
742 gsub( /@exp_htdocsdir@/, serverroot "/htdocs" );
743 gsub( /@exp_logfiledir@/, "logs" );
744 gsub( /@exp_sysconfdir@/, "conf" );
745 gsub( /@exp_cgidir@/, serverroot "/cgi-bin" );
749 if not exist "$(INSTDIR)\conf\extra\httpd-ssl.conf" \
750 copy "$(INSTDIR)\conf\original\extra\httpd-ssl.conf" "$(INSTDIR)\conf\extra\httpd-ssl.conf"
751 copy docs\conf\extra\httpd-userdir.conf.in "$(INSTDIR)\conf\original\httpd-userdir.conf" <.y
752 -awk -f <<script.awk "docs/conf/extra/httpd-userdir.conf.in" "$(INSTDIR)" > "$(INSTDIR)\conf\original\extra\httpd-userdir.conf"
754 serverroot = ARGV[2];
756 gsub( /\\/, "/", serverroot );
758 gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
761 gsub( /public_html/, "\"My Documents/My Website\"" );
762 gsub( /\/home/, "C:/WinNT/profiles" );
766 if not exist "$(INSTDIR)\conf\extra\httpd-userdir.conf" \
767 copy "$(INSTDIR)\conf\original\extra\httpd-userdir.conf" "$(INSTDIR)\conf\extra\httpd-userdir.conf"
768 copy docs\conf\extra\httpd-mpm.conf.in "$(INSTDIR)\conf\original\httpd-mpm.conf" <.y
769 -awk -f <<script.awk "docs/conf/extra/httpd-mpm.conf.in" "$(INSTDIR)" > "$(INSTDIR)\conf\original\extra\httpd-mpm.conf"
771 serverroot = ARGV[2];
773 gsub( /\\/, "/", serverroot );
775 gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
778 gsub( /@rel_runtimedir@/, "logs/" );
779 gsub( /\/home/, "C:/WinNT/profiles" );
783 if not exist "$(INSTDIR)\conf\extra\httpd-mpm.conf" \
784 copy "$(INSTDIR)\conf\original\extra\httpd-mpm.conf" "$(INSTDIR)\conf\extra\httpd-mpm.conf"
785 copy docs\conf\extra\httpd-default.conf.in "$(INSTDIR)\conf\original\extra\httpd-default.conf" <.y
786 if not exist "$(INSTDIR)\conf\extra\httpd-default.conf" \
787 copy "$(INSTDIR)\conf\original\extra\httpd-default.conf" "$(INSTDIR)\conf\extra\httpd-default.conf"
788 copy docs\conf\extra\httpd-info.conf.in "$(INSTDIR)\conf\original\extra\httpd-info.conf" <.y
789 if not exist "$(INSTDIR)\conf\extra\httpd-info.conf" \
790 copy "$(INSTDIR)\conf\original\extra\httpd-info.conf" "$(INSTDIR)\conf\extra\httpd-info.conf"
791 copy docs\conf\extra\httpd-languages.conf.in "$(INSTDIR)\conf\original\extra\httpd-languages.conf" <.y
792 if not exist "$(INSTDIR)\conf\extra\httpd-languages.conf" \
793 copy "$(INSTDIR)\conf\original\extra\httpd-languages.conf" "$(INSTDIR)\conf\extra\httpd-languages.conf"
794 copy docs\conf\extra\httpd-vhosts.conf.in "$(INSTDIR)\conf\original\extra\httpd-vhosts.conf" <.y
795 if not exist "$(INSTDIR)\conf\extra\httpd-vhosts.conf" \
796 copy "$(INSTDIR)\conf\original\extra\httpd-vhosts.conf" "$(INSTDIR)\conf\extra\httpd-vhosts.conf"
797 -awk -f <<script.awk "support/dbmmanage.in" >"$(INSTDIR)\bin\dbmmanage.pl"
798 { if ( $$0 ~ /^BEGIN \{ @AnyDBM_File::/ ) {
799 sub( /ISA = qw\(.*\)/, "ISA = qw(SDBM_File)" );
801 if ( $$0 !~ /^#!@perlbin@/ )