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
249 $(MAKE) $(MAKEOPT) -f mod_charset_lite.mak CFG="mod_charset_lite - Win32 $(LONG)" RECURSE=0 $(CTARGET)
252 !IF EXIST("srclib\zlib")
253 $(MAKE) $(MAKEOPT) -f mod_deflate.mak CFG="mod_deflate - 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 htdbm.mak CFG="htdbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
315 $(MAKE) $(MAKEOPT) -f htdigest.mak CFG="htdigest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
316 $(MAKE) $(MAKEOPT) -f htpasswd.mak CFG="htpasswd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
317 $(MAKE) $(MAKEOPT) -f logresolve.mak CFG="logresolve - Win32 $(LONG)" RECURSE=0 $(CTARGET)
318 $(MAKE) $(MAKEOPT) -f rotatelogs.mak CFG="rotatelogs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
321 $(MAKE) $(MAKEOPT) -f ApacheMonitor.mak CFG="ApacheMonitor - Win32 $(LONG)" RECURSE=0 $(CTARGET)
322 $(MAKE) $(MAKEOPT) -f wintty.mak CFG="wintty - Win32 $(LONG)" RECURSE=0 $(CTARGET)
325 !ELSEIF EXIST("Apache.sln")
328 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/clean" _build
331 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug CTARGET="/clean" _build
334 echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
335 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project BuildBin
336 !IF EXIST("srclib\openssl")
337 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_ssl
338 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project abs
340 !IF EXIST("srclib\zlib")
341 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_deflate
347 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/CLEAN" _build
350 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug CTARGET="/CLEAN" _build
353 @echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
354 @msdev Apache.dsw /USEENV /MAKE \
355 "BuildBin - Win32 $(LONG)" $(CTARGET)
356 !IF "$(CTARGET)" == "/CLEAN"
358 @$(MAKE) $(MAKEOPT) /f build\modules.mk.win clean \
359 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=.
362 !IF EXIST("srclib\openssl")
363 @msdev Apache.dsw /USEENV /MAKE \
364 "mod_ssl - Win32 $(LONG)" \
365 "abs - Win32 $(LONG)" /NORECURSE $(CTARGET)
367 !IF EXIST("srclib\zlib")
368 @msdev Apache.dsw /USEENV /MAKE \
369 "mod_deflate - Win32 $(LONG)" /NORECURSE $(CTARGET)
376 copy $(LONG)\httpd.$(src_exe) "$(inst_exe)" <.y
377 copy $(LONG)\libhttpd.$(src_dll) "$(inst_dll)" <.y
378 copy srclib\apr\$(LONG)\libapr-1.$(src_dll) "$(inst_dll)" <.y
379 copy srclib\apr-iconv\$(LONG)\libapriconv-1.$(src_dll) "$(inst_dll)" <.y
380 copy srclib\apr-util\$(LONG)\libaprutil-1.$(src_dll) "$(inst_dll)" <.y
381 copy modules\aaa\$(LONG)\mod_auth_basic.$(src_so) "$(inst_so)" <.y
382 copy modules\aaa\$(LONG)\mod_auth_digest.$(src_so) "$(inst_so)" <.y
383 copy modules\aaa\$(LONG)\mod_authn_anon.$(src_so) "$(inst_so)" <.y
384 copy modules\aaa\$(LONG)\mod_authn_dbm.$(src_so) "$(inst_so)" <.y
385 copy modules\aaa\$(LONG)\mod_authn_default.$(src_so) "$(inst_so)" <.y
386 copy modules\aaa\$(LONG)\mod_authn_file.$(src_so) "$(inst_so)" <.y
387 copy modules\aaa\$(LONG)\mod_authz_dbm.$(src_so) "$(inst_so)" <.y
388 copy modules\aaa\$(LONG)\mod_authz_default.$(src_so) "$(inst_so)" <.y
389 copy modules\aaa\$(LONG)\mod_authz_groupfile.$(src_so) "$(inst_so)" <.y
390 copy modules\aaa\$(LONG)\mod_authz_host.$(src_so) "$(inst_so)" <.y
391 copy modules\aaa\$(LONG)\mod_authz_user.$(src_so) "$(inst_so)" <.y
392 copy modules\aaa\$(LONG)\mod_authnz_ldap.$(src_so) "$(inst_so)" <.y
393 copy modules\arch\win32\$(LONG)\mod_isapi.$(src_so) "$(inst_so)" <.y
394 copy modules\cache\$(LONG)\mod_cache.$(src_so) "$(inst_so)" <.y
395 copy modules\cache\$(LONG)\mod_file_cache.$(src_so) "$(inst_so)" <.y
396 copy modules\cache\$(LONG)\mod_mem_cache.$(src_so) "$(inst_so)" <.y
397 copy modules\cache\$(LONG)\mod_disk_cache.$(src_so) "$(inst_so)" <.y
398 copy modules\dav\fs\$(LONG)\mod_dav_fs.$(src_so) "$(inst_so)" <.y
399 copy modules\dav\main\$(LONG)\mod_dav.$(src_so) "$(inst_so)" <.y
400 copy modules\debug\$(LONG)\mod_bucketeer.$(src_so) "$(inst_so)" <.y
401 copy modules\debug\$(LONG)\mod_dumpio.$(src_so) "$(inst_so)" <.y
402 copy modules\experimental\$(LONG)\mod_charset_lite.$(src_so) "$(inst_so)" <.y
403 !IF EXIST("srclib\zlib")
404 copy modules\filters\$(LONG)\mod_deflate.$(src_so) "$(inst_so)" <.y
405 !IF EXIST("srclib\zlib\zlib1.$(src_dll)")
406 copy srclib\zlib\zlib1.$(src_dll) "$(inst_dll)" <.y
409 copy modules\filters\$(LONG)\mod_ext_filter.$(src_so) "$(inst_so)" <.y
410 copy modules\filters\$(LONG)\mod_include.$(src_so) "$(inst_so)" <.y
411 copy modules\generators\$(LONG)\mod_asis.$(src_so) "$(inst_so)" <.y
412 copy modules\generators\$(LONG)\mod_autoindex.$(src_so) "$(inst_so)" <.y
413 copy modules\generators\$(LONG)\mod_cgi.$(src_so) "$(inst_so)" <.y
414 copy modules\generators\$(LONG)\mod_info.$(src_so) "$(inst_so)" <.y
415 copy modules\generators\$(LONG)\mod_status.$(src_so) "$(inst_so)" <.y
416 copy modules\http\$(LONG)\mod_mime.$(src_so) "$(inst_so)" <.y
417 copy modules\ldap\$(LONG)\mod_ldap.$(src_so) "$(inst_so)" <.y
418 copy modules\loggers\$(LONG)\mod_log_config.$(src_so) "$(inst_so)" <.y
419 copy modules\loggers\$(LONG)\mod_log_forensic.$(src_so) "$(inst_so)" <.y
420 copy modules\loggers\$(LONG)\mod_logio.$(src_so) "$(inst_so)" <.y
421 copy modules\mappers\$(LONG)\mod_actions.$(src_so) "$(inst_so)" <.y
422 copy modules\mappers\$(LONG)\mod_alias.$(src_so) "$(inst_so)" <.y
423 copy modules\mappers\$(LONG)\mod_dir.$(src_so) "$(inst_so)" <.y
424 copy modules\mappers\$(LONG)\mod_imagemap.$(src_so) "$(inst_so)" <.y
425 copy modules\mappers\$(LONG)\mod_negotiation.$(src_so) "$(inst_so)" <.y
426 copy modules\mappers\$(LONG)\mod_rewrite.$(src_so) "$(inst_so)" <.y
427 copy modules\mappers\$(LONG)\mod_speling.$(src_so) "$(inst_so)" <.y
428 copy modules\mappers\$(LONG)\mod_userdir.$(src_so) "$(inst_so)" <.y
429 copy modules\mappers\$(LONG)\mod_vhost_alias.$(src_so) "$(inst_so)" <.y
430 copy modules\metadata\$(LONG)\mod_cern_meta.$(src_so) "$(inst_so)" <.y
431 copy modules\metadata\$(LONG)\mod_env.$(src_so) "$(inst_so)" <.y
432 copy modules\metadata\$(LONG)\mod_expires.$(src_so) "$(inst_so)" <.y
433 copy modules\metadata\$(LONG)\mod_headers.$(src_so) "$(inst_so)" <.y
434 copy modules\metadata\$(LONG)\mod_ident.$(src_so) "$(inst_so)" <.y
435 copy modules\metadata\$(LONG)\mod_mime_magic.$(src_so) "$(inst_so)" <.y
436 copy modules\metadata\$(LONG)\mod_setenvif.$(src_so) "$(inst_so)" <.y
437 copy modules\metadata\$(LONG)\mod_unique_id.$(src_so) "$(inst_so)" <.y
438 copy modules\metadata\$(LONG)\mod_usertrack.$(src_so) "$(inst_so)" <.y
439 copy modules\metadata\$(LONG)\mod_version.$(src_so) "$(inst_so)" <.y
440 copy modules\proxy\$(LONG)\mod_proxy.$(src_so) "$(inst_so)" <.y
441 copy modules\proxy\$(LONG)\mod_proxy_ajp.$(src_so) "$(inst_so)" <.y
442 copy modules\proxy\$(LONG)\mod_proxy_balancer.$(src_so) "$(inst_so)" <.y
443 copy modules\proxy\$(LONG)\mod_proxy_connect.$(src_so) "$(inst_so)" <.y
444 copy modules\proxy\$(LONG)\mod_proxy_ftp.$(src_so) "$(inst_so)" <.y
445 copy modules\proxy\$(LONG)\mod_proxy_http.$(src_so) "$(inst_so)" <.y
446 !IF EXIST("srclib\openssl")
447 copy modules\ssl\$(LONG)\mod_ssl.$(src_so) "$(inst_so)" <.y
448 $(quiet)copy srclib\openssl\$(SSLBIN)\openssl.$(src_exe) "$(inst_exe)" <.y
449 $(quiet)copy srclib\openssl\$(SSLBIN)\libeay32.$(src_dll) "$(inst_dll)" <.y
450 $(quiet)copy srclib\openssl\$(SSLBIN)\ssleay32.$(src_dll) "$(inst_dll)" <.y
451 copy support\$(LONG)\abs.$(src_exe) "$(inst_exe)\ab.$(src_exe)" <.y
453 copy support\$(LONG)\ab.$(src_exe) "$(inst_exe)" <.y
455 copy support\$(LONG)\htdbm.$(src_exe) "$(inst_exe)" <.y
456 copy support\$(LONG)\htdigest.$(src_exe) "$(inst_exe)" <.y
457 copy support\$(LONG)\htpasswd.$(src_exe) "$(inst_exe)" <.y
458 copy support\$(LONG)\logresolve.$(src_exe) "$(inst_exe)" <.y
459 copy support\$(LONG)\rotatelogs.$(src_exe) "$(inst_exe)" <.y
460 copy support\win32\$(LONG)\ApacheMonitor.$(src_exe) "$(inst_exe)" <.y
461 copy support\win32\$(LONG)\wintty.$(src_exe) "$(inst_exe)" <.y
463 # First we create the tree and populate the README so that
464 # whatever happens, all licensing has already propagated.
465 # Then repeatedly invoke the _copybin build to copy the
466 # real binaries, then pdb symbols, anf finally dbg syms.
467 # Then hit docs of various sorts, then includes and libs,
468 # and finally do the .conf magic.
474 -mkdir "$(INSTDIR)\bin"
475 -mkdir "$(INSTDIR)\bin\iconv"
476 -mkdir "$(INSTDIR)\cgi-bin"
477 -mkdir "$(INSTDIR)\conf"
478 -mkdir "$(INSTDIR)\error"
479 -mkdir "$(INSTDIR)\htdocs"
480 -mkdir "$(INSTDIR)\manual"
481 -mkdir "$(INSTDIR)\icons"
482 -mkdir "$(INSTDIR)\include"
483 -mkdir "$(INSTDIR)\lib"
484 -mkdir "$(INSTDIR)\logs"
485 -mkdir "$(INSTDIR)\modules"
486 -mkdir "$(INSTDIR)\proxy"
487 -mkdir "$(INSTDIR)\symbols"
488 -mkdir "$(INSTDIR)\symbols\exe"
489 -mkdir "$(INSTDIR)\symbols\dll"
490 -mkdir "$(INSTDIR)\symbols\so"
491 copy ABOUT_APACHE "$(INSTDIR)\ABOUT_APACHE.txt" <.y
492 copy CHANGES "$(INSTDIR)\CHANGES.txt" <.y
493 copy INSTALL "$(INSTDIR)\INSTALL.txt" <.y
494 copy LICENSE "$(INSTDIR)\LICENSE.txt" <.y
495 copy README "$(INSTDIR)\README.txt" <.y
496 !IF EXIST("srclib\openssl")
497 type << >> "$(INSTDIR)\README.txt"
499 This binary distribution includes cryptographic software written by
500 Eric Young (eay@cryptsoft.com), software written by Tim Hudson
501 (tjh@cryptsoft.com), and software developed by the OpenSSL Project
502 for use in the OpenSSL Toolkit <http://www.openssl.org/>.
504 -awk -f <<script.awk < "srclib\openssl\LICENSE" >> "$(INSTDIR)\LICENSE.txt"
507 print "For the libeay32.dll, ssleay32.dll and certtool.exe components:";
509 while ( getline > 0 ) {
514 copy << + srclib\openssl\NEWS "$(INSTDIR)\OPENSSL-NEWS.txt" <.y
516 Apache HTTP Server 2.0 Limited OpenSSL Distribution
518 This binary distribution includes the minimal components of OpenSSL required
519 to support mod_ssl for Apache HTTP Server version 2.0 (details are listed
520 in OPENSSL-README.txt.) For the complete list of CHANGES to this and later
521 versions of OpenSSL, please refer to the definative source,
522 <http://www.openssl.org/news/changelog.html>, or see the CHANGES file in the
523 full binary or source distribution package from <http://www.openssl.org/>.
525 These OpenSSL binaries were built for distribution from the U.S. without
526 support for the patented encryption methods IDEA, MDC-2 or RC5.
528 --------------------------------------------------------------------------------
530 copy << + srclib\openssl\README "$(INSTDIR)\OPENSSL-README.txt" <.y
532 Apache HTTP Server 2.0 Limited OpenSSL Distribution
534 This binary installation of OpenSSL is a limited distribution of the documents
535 OPENSSL-LICENSE.txt, OPENSSL-NEWS.txt and OPENSSL-README.txt, and the binaries
541 These are the minimal libraries and tools required to use mod_ssl as
542 distributed with Apache HTTP Server version 2.0. No library link files,
543 headers or sources are distributed with this binary distribution. Please
544 refer to the <http://www.openssl.org/> site for complete source or binary
547 These OpenSSL binaries were built for distribution from the U.S. without
548 support for the patented encryption methods IDEA, MDC-2 or RC5.
550 The Apache HTTP Project only supports the binary distribution of these files
551 and development of the mod_ssl module. We cannot provide support assistance
552 for using or configuring the OpenSSL package or these modules. Please refer
553 all installation and configuration questions to the appropriate forum,
554 such as the user supported lists, <http://httpd.apache.org/userslist.html>
555 the Apache HTTP Server user's list or <http://www.openssl.org/support/> the
556 OpenSSL support page.
558 --------------------------------------------------------------------------------
561 !IF EXIST("srclib\zlib")
562 type << >> "$(INSTDIR)\README.txt"
564 This binary distribution of mod_deflate.so includes zlib compression code
565 <http://www.gzip.org/zlib/> written by Jean-loup Gailly (jloup@gzip.org)
566 and Mark Adler (madler@alumni.caltech.edu) .
568 -awk -f <<script.awk < "srclib\zlib\README" >> "$(INSTDIR)\LICENSE.txt"
570 while ( getline > 0 ) {
571 if ( $$0 ~ /Copyright notice:/ ) {
573 print "For the mod_deflate zlib compression component:";
574 while ( getline > 0 && $$0 !~ /^[^ ]/ ) {
584 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=$(SHORT) LONG=$(LONG) \
585 _copybin src_exe=exe src_dll=dll src_so=so \
586 inst_exe="$(INSTDIR)\bin" \
587 inst_dll="$(INSTDIR)\bin" \
588 inst_so="$(INSTDIR)\modules"
589 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=$(SHORT) LONG=$(LONG) \
590 _copybin src_exe=pdb src_dll=pdb src_so=pdb quiet="-" \
591 inst_exe="$(INSTDIR)\bin" \
592 inst_dll="$(INSTDIR)\bin" \
593 inst_so="$(INSTDIR)\modules"
595 $(MAKE) $(MAKEOPT) -f build\modules.mk.win install \
596 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=. \
597 INSTALL_DIR="$(INSTDIR)\bin\iconv"
599 copy docs\cgi-examples\printenv "$(INSTDIR)\cgi-bin\printenv.pl" <.y
600 -awk -f <<script.awk "docs/cgi-examples/printenv" > "$(INSTDIR)\cgi-bin\printenv.pl"
602 if ( "perl -e \"print $$^X;\"" | getline perlroot ) {
603 gsub( /\\/, "/", perlroot );
608 if ( $$0 !~ /^#!/ ) {
613 xcopy docs\error "$(INSTDIR)\error" /s /d < .a
614 xcopy docs\docroot "$(INSTDIR)\htdocs" /d < .a
615 xcopy docs\icons "$(INSTDIR)\icons" /s /d < .a
616 xcopy docs\manual "$(INSTDIR)\manual" /s /d < .a
617 xcopy srclib\apr-util\xml\expat\lib\expat.h "$(INSTDIR)\include" /d < .a
618 xcopy srclib\apr\include\*.h "$(INSTDIR)\include" /d < .a
619 xcopy srclib\apr-util\include\*.h "$(INSTDIR)\include" /d < .a
620 xcopy include\*.h "$(INSTDIR)\include" /d < .a
621 copy srclib\apr\Lib$(SHORT)\apr-1.lib "$(INSTDIR)\lib" <.y
622 copy srclib\apr\Lib$(SHORT)\apr_src.pdb "$(INSTDIR)\lib" <.y
623 copy srclib\apr-util\Lib$(SHORT)\aprutil-1.lib "$(INSTDIR)\lib" <.y
624 copy srclib\apr-util\Lib$(SHORT)\aprutil_src.pdb "$(INSTDIR)\lib" <.y
625 copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml.lib "$(INSTDIR)\lib" <.y
626 copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml_src.pdb "$(INSTDIR)\lib" <.y
627 copy srclib\apr\$(LONG)\libapr-1.lib "$(INSTDIR)\lib" <.y
628 copy srclib\apr\$(LONG)\libapr-1.exp "$(INSTDIR)\lib" <.y
629 copy srclib\apr-iconv\$(LONG)\libapriconv-1.lib "$(INSTDIR)\lib" <.y
630 copy srclib\apr-iconv\$(LONG)\libapriconv-1.exp "$(INSTDIR)\lib" <.y
631 copy srclib\apr-util\$(LONG)\libaprutil-1.lib "$(INSTDIR)\lib" <.y
632 copy srclib\apr-util\$(LONG)\libaprutil-1.exp "$(INSTDIR)\lib" <.y
633 copy $(LONG)\libhttpd.exp "$(INSTDIR)\lib" <.y
634 copy $(LONG)\libhttpd.lib "$(INSTDIR)\lib" <.y
635 copy modules\dav\main\$(LONG)\mod_dav.exp "$(INSTDIR)\lib" <.y
636 copy modules\dav\main\$(LONG)\mod_dav.lib "$(INSTDIR)\lib" <.y
637 copy docs\conf\magic "$(INSTDIR)\conf\magic.default" <.y
638 if not exist "$(INSTDIR)\conf\magic" \
639 copy "$(INSTDIR)\conf\magic.default" "$(INSTDIR)\conf\magic"
640 copy docs\conf\mime.types "$(INSTDIR)\conf\mime.types.default" <.y
641 if not exist "$(INSTDIR)\conf\mime.types" \
642 copy "$(INSTDIR)\conf\mime.types.default" "$(INSTDIR)\conf\mime.types"
643 copy docs\conf\httpd-win.conf "$(INSTDIR)\conf\httpd.default.conf" <.y
644 -awk -f <<script.awk "docs/conf/httpd-win.conf" "$(INSTDIR)" > "$(INSTDIR)\conf\httpd.default.conf"
646 serverroot = ARGV[2];
648 gsub( /\\/, "/", serverroot );
650 gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
653 gsub( /@@ServerRoot@@/, serverroot );
654 gsub( /@@ServerName@@/, "$(SERVERNAME)" );
655 gsub( /@@Port@@/, "$(PORT)" );
659 if not exist "$(INSTDIR)\conf\httpd.conf" \
660 copy "$(INSTDIR)\conf\httpd.default.conf" "$(INSTDIR)\conf\httpd.conf"
661 !IF EXIST("srclib\openssl")
662 copy docs\conf\ssl-std.conf.in "$(INSTDIR)\conf\ssl.default.conf" <.y
663 -awk -f <<script.awk "docs/conf/ssl-std.conf.in" "$(INSTDIR)" > "$(INSTDIR)\conf\ssl.default.conf"
665 serverroot = ARGV[2];
667 gsub( /\\/, "/", serverroot );
669 gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
672 gsub( /@@ServerRoot@@/, serverroot );
673 gsub( /@exp_runtimedir@/, "logs" );
674 gsub( /@exp_htdocsdir@/, serverroot "/htdocs" );
675 gsub( /@exp_logfiledir@/, "logs" );
676 gsub( /@exp_sysconfdir@/, "conf" );
677 gsub( /@exp_cgidir@/, serverroot "/cgi" );
681 if not exist "$(INSTDIR)\conf\ssl.conf" \
682 copy "$(INSTDIR)\conf\ssl.default.conf" "$(INSTDIR)\conf\ssl.conf"
684 -awk -f <<script.awk "support/dbmmanage.in" >"$(INSTDIR)\bin\dbmmanage.pl"
685 { if ( $$0 ~ /^BEGIN \{ @AnyDBM_File::/ ) {
686 sub( /ISA = qw\(.*\)/, "ISA = qw(SDBM_File)" );
688 if ( $$0 !~ /^#!@perlbin@/ )