1 # Makefile for Windows NT and Windows 95/98/2000
4 # _apacher - build Apache in Release mode
5 # _apached - build Apache in Debug mode
6 # installr - build and install a Release build
7 # installd - build and install a Debug build
8 # clean - remove (most) generated files
9 # _cleanr - remove (most) files generated by a Release build
10 # _cleand - remove (most) files generated by a Debug build
11 # _browse - build the browse info file
13 # The following install defaults may be customized;
19 # SERVERNAME localhost
23 # nmake -f Makefile.win PORT=80 INSTDIR="d:\Program Files\Apache" installr
25 # Be aware that certain awk's will not accept backslahed names,
26 # so the server root should be given in forward slashes (quoted),
27 # preferably with the drive designation!
31 !IF ("$(CTARGET)" == "") && !EXIST("httpd.mak") && EXIST("Apache.sln")
35 !IF !EXIST("srclib\apr") || !EXIST("srclib\apr-util") || !EXIST("srclib\apr-iconv")
36 !MESSAGE Please check out or download and unpack the Apache Portability Runtime
37 !MESSAGE sources (apr, apr-iconv and apr-util) into your srclib dir.
38 !MESSAGE Apache cannot build without these libraries!
40 !ERROR Need srclib\ apr, apr-iconv and apr-util
43 # Note; _tryssl: is only used by the msvc developer studio environment to 'fix up'
44 # the build, since conditional dependencies aren't supported.
46 !IF EXIST("srclib\openssl")
47 !IF "$(LONG)" == "Debug" && EXIST("srclib\openssl\out32dll.dbg\openssl.exe")
54 !IF EXIST("modules\ssl\mod_ssl.mak")
56 $(MAKE) $(MAKEOPT) -f mod_ssl.mak CFG="mod_ssl - Win32 $(LONG)" RECURSE=0 $(CTARGET)
59 $(MAKE) $(MAKEOPT) -f abs.mak CFG="abs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
61 !ELSEIF EXIST("Apache.sln")
62 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_ssl
63 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project abs
65 @msdev Apache.dsw /USEENV /MAKE \
66 "mod_ssl - Win32 $(LONG)" \
67 "abs - Win32 $(LONG)" /NORECURSE $(CTARGET)
71 # NOT EXIST("srclib\openssl")
75 @echo mod_ssl and ab/ssl will not build unless openssl is installed
76 @echo in srclib\openssl. They must be precompiled using the
77 @echo ms/ntdll.mak file, see srclib\openssl\INSTALL.W32. The most
78 @echo recent version confirmed to build with mod_ssl and ab is 0.9.6h.
79 @echo Available from http://www.openssl.org/
82 !IF EXIST("srclib\zlib")
85 !IF EXIST("modules\filters\mod_deflate.mak")
87 $(MAKE) $(MAKEOPT) -f mod_deflate.mak CFG="mod_deflate - Win32 $(LONG)" RECURSE=0 $(CTARGET)
89 !ELSEIF EXIST("Apache.sln")
90 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_deflate
92 @msdev Apache.dsw /USEENV /MAKE \
93 "mod_deflate - Win32 $(LONG)" /NORECURSE $(CTARGET)
97 # NOT EXIST("srclib\zlib")
101 @echo mod_deflate will not build unless zlib is installed in srclib\zlib.
102 @echo Version 1.2.1 and later available from http://www.gzip.org/zlib/
103 @echo built w/ nmake -f win32/Makefile.msc will satisfy this requirement.
107 !IF "$(INSTDIR)" == ""
110 !IF "$(SERVERNAME)" == ""
116 !IF "$(SSLPORT)" == ""
122 !MESSAGE INSTDIR = $(INSTDIR)
123 !MESSAGE SERVERNAME = $(SERVERNAME)
124 !MESSAGE PORT = $(PORT)
125 !IF EXIST("srclib\openssl")
126 !MESSAGE SSLPORT = $(SSLPORT)
129 !MESSAGE To change these options use 'nmake -f Makefile.win [option=value]'
130 !MESSAGE Example: nmake -f Makefile.win PORT=8080
136 # Only default the behavior if MAKEOPT= is omitted
138 # Microsoft NMake options
140 !ELSEIF "$(MAKE)" == "make"
141 # Borland make options? Not really supported (yet)
150 bscmake.exe -nologo -Iu -o Apache.bsc *.sbr
154 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release _build
157 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug _build
160 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release _build _install
163 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug _build _install
165 clean: _cleanr _cleand
166 -if exist Browse\. rd /s Browse < << > nul
170 !IF EXIST("httpd.mak")
173 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET=CLEAN _build
176 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug CTARGET=CLEAN _build
179 echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
181 $(MAKE) $(MAKEOPT) -f apr.mak CFG="apr - Win32 $(LONG)" RECURSE=0 $(CTARGET)
182 $(MAKE) $(MAKEOPT) -f libapr.mak CFG="libapr - Win32 $(LONG)" RECURSE=0 $(CTARGET)
185 $(MAKE) $(MAKEOPT) -f apriconv.mak CFG="apriconv - Win32 $(LONG)" RECURSE=0 $(CTARGET)
186 $(MAKE) $(MAKEOPT) -f libapriconv.mak CFG="libapriconv - Win32 $(LONG)" RECURSE=0 $(CTARGET)
187 !IF "$(CTARGET)" == "CLEAN"
188 $(MAKE) $(MAKEOPT) -f build\modules.mk.win clean \
189 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=.
192 $(MAKE) $(MAKEOPT) -f Makefile.win all \
193 BUILD_MODE=$(LONG) BIND_MODE=shared
195 $(MAKE) $(MAKEOPT) -f Makefile.win all \
196 BUILD_MODE=$(LONG) BIND_MODE=shared
200 cd srclib\apr-util\xml\expat\lib
201 $(MAKE) $(MAKEOPT) -f xml.mak CFG="xml - Win32 $(LONG)" RECURSE=0 $(CTARGET)
203 $(MAKE) $(MAKEOPT) -f aprutil.mak CFG="aprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET)
204 $(MAKE) $(MAKEOPT) -f libaprutil.mak CFG="libaprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET)
207 $(MAKE) $(MAKEOPT) -f dftables.mak CFG="dftables - Win32 $(LONG)" RECURSE=0 $(CTARGET)
208 $(MAKE) $(MAKEOPT) -f pcre.mak CFG="pcre - Win32 $(LONG)" RECURSE=0 $(CTARGET)
211 $(MAKE) $(MAKEOPT) -f gen_test_char.mak CFG="gen_test_char - Win32 $(LONG)" RECURSE=0 $(CTARGET)
213 $(MAKE) $(MAKEOPT) -f libhttpd.mak CFG="libhttpd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
214 $(MAKE) $(MAKEOPT) -f httpd.mak CFG="httpd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
215 # build ldap prior to authnz_ldap
217 $(MAKE) $(MAKEOPT) -f mod_ldap.mak CFG="mod_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
220 $(MAKE) $(MAKEOPT) -f mod_dbd.mak CFG="mod_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
223 $(MAKE) $(MAKEOPT) -f mod_access_compat.mak CFG="mod_access_compat - Win32 $(LONG)" RECURSE=0 $(CTARGET)
224 $(MAKE) $(MAKEOPT) -f mod_auth_basic.mak CFG="mod_auth_basic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
225 $(MAKE) $(MAKEOPT) -f mod_auth_digest.mak CFG="mod_auth_digest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
226 $(MAKE) $(MAKEOPT) -f mod_authn_anon.mak CFG="mod_authn_anon - Win32 $(LONG)" RECURSE=0 $(CTARGET)
227 $(MAKE) $(MAKEOPT) -f mod_authn_dbd.mak CFG="mod_authn_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
228 $(MAKE) $(MAKEOPT) -f mod_authn_dbm.mak CFG="mod_authn_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
229 $(MAKE) $(MAKEOPT) -f mod_authn_default.mak CFG="mod_authn_default - Win32 $(LONG)" RECURSE=0 $(CTARGET)
230 $(MAKE) $(MAKEOPT) -f mod_authn_file.mak CFG="mod_authn_file - Win32 $(LONG)" RECURSE=0 $(CTARGET)
231 $(MAKE) $(MAKEOPT) -f mod_authz_dbm.mak CFG="mod_authz_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
232 $(MAKE) $(MAKEOPT) -f mod_authz_core.mak CFG="mod_authz_core - Win32 $(LONG)" RECURSE=0 $(CTARGET)
233 $(MAKE) $(MAKEOPT) -f mod_authz_default.mak CFG="mod_authz_default - Win32 $(LONG)" RECURSE=0 $(CTARGET)
234 $(MAKE) $(MAKEOPT) -f mod_authz_groupfile.mak CFG="mod_authz_groupfile - Win32 $(LONG)" RECURSE=0 $(CTARGET)
235 $(MAKE) $(MAKEOPT) -f mod_authz_host.mak CFG="mod_authz_host - Win32 $(LONG)" RECURSE=0 $(CTARGET)
236 $(MAKE) $(MAKEOPT) -f mod_authz_user.mak CFG="mod_authz_user - Win32 $(LONG)" RECURSE=0 $(CTARGET)
237 $(MAKE) $(MAKEOPT) -f mod_authnz_ldap.mak CFG="mod_authnz_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
239 cd modules\arch\win32
240 $(MAKE) $(MAKEOPT) -f mod_isapi.mak CFG="mod_isapi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
243 $(MAKE) $(MAKEOPT) -f mod_cache.mak CFG="mod_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
244 $(MAKE) $(MAKEOPT) -f mod_file_cache.mak CFG="mod_file_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
245 $(MAKE) $(MAKEOPT) -f mod_mem_cache.mak CFG="mod_mem_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
246 $(MAKE) $(MAKEOPT) -f mod_disk_cache.mak CFG="mod_disk_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
249 $(MAKE) $(MAKEOPT) -f mod_dav.mak CFG="mod_dav - Win32 $(LONG)" RECURSE=0 $(CTARGET)
252 $(MAKE) $(MAKEOPT) -f mod_dav_fs.mak CFG="mod_dav_fs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
255 $(MAKE) $(MAKEOPT) -f mod_bucketeer.mak CFG="mod_bucketeer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
256 $(MAKE) $(MAKEOPT) -f mod_dumpio.mak CFG="mod_dumpio - Win32 $(LONG)" RECURSE=0 $(CTARGET)
258 cd modules\experimental
261 $(MAKE) $(MAKEOPT) -f mod_charset_lite.mak CFG="mod_charset_lite - Win32 $(LONG)" RECURSE=0 $(CTARGET)
262 !IF EXIST("srclib\zlib")
263 $(MAKE) $(MAKEOPT) -f mod_deflate.mak CFG="mod_deflate - Win32 $(LONG)" RECURSE=0 $(CTARGET)
265 $(MAKE) $(MAKEOPT) -f mod_ext_filter.mak CFG="mod_ext_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
266 $(MAKE) $(MAKEOPT) -f mod_include.mak CFG="mod_include - Win32 $(LONG)" RECURSE=0 $(CTARGET)
268 cd modules\generators
269 $(MAKE) $(MAKEOPT) -f mod_asis.mak CFG="mod_asis - Win32 $(LONG)" RECURSE=0 $(CTARGET)
270 $(MAKE) $(MAKEOPT) -f mod_autoindex.mak CFG="mod_autoindex - Win32 $(LONG)" RECURSE=0 $(CTARGET)
271 $(MAKE) $(MAKEOPT) -f mod_cgi.mak CFG="mod_cgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
272 $(MAKE) $(MAKEOPT) -f mod_info.mak CFG="mod_info - Win32 $(LONG)" RECURSE=0 $(CTARGET)
273 $(MAKE) $(MAKEOPT) -f mod_status.mak CFG="mod_status - Win32 $(LONG)" RECURSE=0 $(CTARGET)
276 $(MAKE) $(MAKEOPT) -f mod_mime.mak CFG="mod_mime - Win32 $(LONG)" RECURSE=0 $(CTARGET)
279 $(MAKE) $(MAKEOPT) -f mod_log_config.mak CFG="mod_log_config - Win32 $(LONG)" RECURSE=0 $(CTARGET)
280 $(MAKE) $(MAKEOPT) -f mod_log_forensic.mak CFG="mod_log_forensic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
281 $(MAKE) $(MAKEOPT) -f mod_logio.mak CFG="mod_logio - Win32 $(LONG)" RECURSE=0 $(CTARGET)
284 $(MAKE) $(MAKEOPT) -f mod_actions.mak CFG="mod_actions - Win32 $(LONG)" RECURSE=0 $(CTARGET)
285 $(MAKE) $(MAKEOPT) -f mod_alias.mak CFG="mod_alias - Win32 $(LONG)" RECURSE=0 $(CTARGET)
286 $(MAKE) $(MAKEOPT) -f mod_dir.mak CFG="mod_dir - Win32 $(LONG)" RECURSE=0 $(CTARGET)
287 $(MAKE) $(MAKEOPT) -f mod_imagemap.mak CFG="mod_imagemap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
288 $(MAKE) $(MAKEOPT) -f mod_negotiation.mak CFG="mod_negotiation - Win32 $(LONG)" RECURSE=0 $(CTARGET)
289 $(MAKE) $(MAKEOPT) -f mod_rewrite.mak CFG="mod_rewrite - Win32 $(LONG)" RECURSE=0 $(CTARGET)
290 $(MAKE) $(MAKEOPT) -f mod_speling.mak CFG="mod_speling - Win32 $(LONG)" RECURSE=0 $(CTARGET)
291 $(MAKE) $(MAKEOPT) -f mod_userdir.mak CFG="mod_userdir - Win32 $(LONG)" RECURSE=0 $(CTARGET)
292 $(MAKE) $(MAKEOPT) -f mod_vhost_alias.mak CFG="mod_vhost_alias - Win32 $(LONG)" RECURSE=0 $(CTARGET)
295 $(MAKE) $(MAKEOPT) -f mod_cern_meta.mak CFG="mod_cern_meta - Win32 $(LONG)" RECURSE=0 $(CTARGET)
296 $(MAKE) $(MAKEOPT) -f mod_env.mak CFG="mod_env - Win32 $(LONG)" RECURSE=0 $(CTARGET)
297 $(MAKE) $(MAKEOPT) -f mod_expires.mak CFG="mod_expires - Win32 $(LONG)" RECURSE=0 $(CTARGET)
298 $(MAKE) $(MAKEOPT) -f mod_headers.mak CFG="mod_headers - Win32 $(LONG)" RECURSE=0 $(CTARGET)
299 $(MAKE) $(MAKEOPT) -f mod_ident.mak CFG="mod_ident - Win32 $(LONG)" RECURSE=0 $(CTARGET)
300 $(MAKE) $(MAKEOPT) -f mod_mime_magic.mak CFG="mod_mime_magic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
301 $(MAKE) $(MAKEOPT) -f mod_setenvif.mak CFG="mod_setenvif - Win32 $(LONG)" RECURSE=0 $(CTARGET)
302 $(MAKE) $(MAKEOPT) -f mod_unique_id.mak CFG="mod_unique_id - Win32 $(LONG)" RECURSE=0 $(CTARGET)
303 $(MAKE) $(MAKEOPT) -f mod_usertrack.mak CFG="mod_usertrack - Win32 $(LONG)" RECURSE=0 $(CTARGET)
304 $(MAKE) $(MAKEOPT) -f mod_version.mak CFG="mod_version - Win32 $(LONG)" RECURSE=0 $(CTARGET)
307 $(MAKE) $(MAKEOPT) -f mod_proxy.mak CFG="mod_proxy - Win32 $(LONG)" RECURSE=0 $(CTARGET)
308 $(MAKE) $(MAKEOPT) -f mod_proxy_ajp.mak CFG="mod_proxy_ajp - Win32 $(LONG)" RECURSE=0 $(CTARGET)
309 $(MAKE) $(MAKEOPT) -f mod_proxy_balancer.mak CFG="mod_proxy_balancer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
310 $(MAKE) $(MAKEOPT) -f mod_proxy_connect.mak CFG="mod_proxy_connect - Win32 $(LONG)" RECURSE=0 $(CTARGET)
311 $(MAKE) $(MAKEOPT) -f mod_proxy_fcgi.mak CFG="mod_proxy_fcgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
312 $(MAKE) $(MAKEOPT) -f mod_proxy_ftp.mak CFG="mod_proxy_ftp - Win32 $(LONG)" RECURSE=0 $(CTARGET)
313 $(MAKE) $(MAKEOPT) -f mod_proxy_http.mak CFG="mod_proxy_http - Win32 $(LONG)" RECURSE=0 $(CTARGET)
315 !IF EXIST("srclib\openssl")
317 $(MAKE) $(MAKEOPT) -f mod_ssl.mak CFG="mod_ssl - Win32 $(LONG)" RECURSE=0 $(CTARGET)
320 $(MAKE) $(MAKEOPT) -f abs.mak CFG="abs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
324 $(MAKE) $(MAKEOPT) -f ab.mak CFG="ab - Win32 $(LONG)" RECURSE=0 $(CTARGET)
325 $(MAKE) $(MAKEOPT) -f htcacheclean.mak CFG="htcacheclean - Win32 $(LONG)" RECURSE=0 $(CTARGET)
326 $(MAKE) $(MAKEOPT) -f htdbm.mak CFG="htdbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
327 $(MAKE) $(MAKEOPT) -f htdigest.mak CFG="htdigest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
328 $(MAKE) $(MAKEOPT) -f htpasswd.mak CFG="htpasswd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
329 $(MAKE) $(MAKEOPT) -f logresolve.mak CFG="logresolve - Win32 $(LONG)" RECURSE=0 $(CTARGET)
330 $(MAKE) $(MAKEOPT) -f rotatelogs.mak CFG="rotatelogs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
333 $(MAKE) $(MAKEOPT) -f ApacheMonitor.mak CFG="ApacheMonitor - Win32 $(LONG)" RECURSE=0 $(CTARGET)
334 $(MAKE) $(MAKEOPT) -f wintty.mak CFG="wintty - Win32 $(LONG)" RECURSE=0 $(CTARGET)
337 !ELSEIF EXIST("Apache.sln")
340 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/clean" _build
343 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug CTARGET="/clean" _build
346 echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
347 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project BuildBin
348 !IF EXIST("srclib\openssl")
349 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_ssl
350 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project abs
352 !IF EXIST("srclib\zlib")
353 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_deflate
359 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/CLEAN" _build
362 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug CTARGET="/CLEAN" _build
365 @echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
366 @msdev Apache.dsw /USEENV /MAKE \
367 "BuildBin - Win32 $(LONG)" $(CTARGET)
368 !IF "$(CTARGET)" == "/CLEAN"
370 @$(MAKE) $(MAKEOPT) -f build\modules.mk.win clean \
371 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=.
374 !IF EXIST("srclib\openssl")
375 @msdev Apache.dsw /USEENV /MAKE \
376 "mod_ssl - Win32 $(LONG)" \
377 "abs - Win32 $(LONG)" /NORECURSE $(CTARGET)
379 !IF EXIST("srclib\zlib")
380 @msdev Apache.dsw /USEENV /MAKE \
381 "mod_deflate - Win32 $(LONG)" /NORECURSE $(CTARGET)
388 copy $(LONG)\httpd.$(src_exe) "$(inst_exe)" <.y
389 copy $(LONG)\libhttpd.$(src_dll) "$(inst_dll)" <.y
390 copy srclib\apr\$(LONG)\libapr-1.$(src_dll) "$(inst_dll)" <.y
391 copy srclib\apr-iconv\$(LONG)\libapriconv-1.$(src_dll) "$(inst_dll)" <.y
392 copy srclib\apr-util\$(LONG)\libaprutil-1.$(src_dll) "$(inst_dll)" <.y
393 copy modules\aaa\$(LONG)\mod_access_compat.$(src_so) "$(inst_so)" <.y
394 copy modules\aaa\$(LONG)\mod_auth_basic.$(src_so) "$(inst_so)" <.y
395 copy modules\aaa\$(LONG)\mod_auth_digest.$(src_so) "$(inst_so)" <.y
396 copy modules\aaa\$(LONG)\mod_authn_anon.$(src_so) "$(inst_so)" <.y
397 copy modules\aaa\$(LONG)\mod_authn_dbd.$(src_so) "$(inst_so)" <.y
398 copy modules\aaa\$(LONG)\mod_authn_dbm.$(src_so) "$(inst_so)" <.y
399 copy modules\aaa\$(LONG)\mod_authn_default.$(src_so) "$(inst_so)" <.y
400 copy modules\aaa\$(LONG)\mod_authn_file.$(src_so) "$(inst_so)" <.y
401 copy modules\aaa\$(LONG)\mod_authz_dbm.$(src_so) "$(inst_so)" <.y
402 copy modules\aaa\$(LONG)\mod_authz_core.$(src_so) "$(inst_so)" <.y
403 copy modules\aaa\$(LONG)\mod_authz_default.$(src_so) "$(inst_so)" <.y
404 copy modules\aaa\$(LONG)\mod_authz_groupfile.$(src_so) "$(inst_so)" <.y
405 copy modules\aaa\$(LONG)\mod_authz_host.$(src_so) "$(inst_so)" <.y
406 copy modules\aaa\$(LONG)\mod_authz_user.$(src_so) "$(inst_so)" <.y
407 copy modules\aaa\$(LONG)\mod_authnz_ldap.$(src_so) "$(inst_so)" <.y
408 copy modules\arch\win32\$(LONG)\mod_isapi.$(src_so) "$(inst_so)" <.y
409 copy modules\cache\$(LONG)\mod_cache.$(src_so) "$(inst_so)" <.y
410 copy modules\cache\$(LONG)\mod_file_cache.$(src_so) "$(inst_so)" <.y
411 copy modules\cache\$(LONG)\mod_mem_cache.$(src_so) "$(inst_so)" <.y
412 copy modules\cache\$(LONG)\mod_disk_cache.$(src_so) "$(inst_so)" <.y
413 copy modules\database\$(LONG)\mod_dbd.$(src_so) "$(inst_so)" <.y
414 copy modules\dav\fs\$(LONG)\mod_dav_fs.$(src_so) "$(inst_so)" <.y
415 copy modules\dav\main\$(LONG)\mod_dav.$(src_so) "$(inst_so)" <.y
416 copy modules\debugging\$(LONG)\mod_bucketeer.$(src_so) "$(inst_so)" <.y
417 copy modules\debugging\$(LONG)\mod_dumpio.$(src_so) "$(inst_so)" <.y
418 copy modules\filters\$(LONG)\mod_charset_lite.$(src_so) "$(inst_so)" <.y
419 !IF EXIST("srclib\zlib")
420 copy modules\filters\$(LONG)\mod_deflate.$(src_so) "$(inst_so)" <.y
421 !IF EXIST("srclib\zlib\zlib1.$(src_dll)")
422 copy srclib\zlib\zlib1.$(src_dll) "$(inst_dll)" <.y
425 copy modules\filters\$(LONG)\mod_ext_filter.$(src_so) "$(inst_so)" <.y
426 copy modules\filters\$(LONG)\mod_include.$(src_so) "$(inst_so)" <.y
427 copy modules\generators\$(LONG)\mod_asis.$(src_so) "$(inst_so)" <.y
428 copy modules\generators\$(LONG)\mod_autoindex.$(src_so) "$(inst_so)" <.y
429 copy modules\generators\$(LONG)\mod_cgi.$(src_so) "$(inst_so)" <.y
430 copy modules\generators\$(LONG)\mod_info.$(src_so) "$(inst_so)" <.y
431 copy modules\generators\$(LONG)\mod_status.$(src_so) "$(inst_so)" <.y
432 copy modules\http\$(LONG)\mod_mime.$(src_so) "$(inst_so)" <.y
433 copy modules\ldap\$(LONG)\mod_ldap.$(src_so) "$(inst_so)" <.y
434 copy modules\loggers\$(LONG)\mod_log_config.$(src_so) "$(inst_so)" <.y
435 copy modules\loggers\$(LONG)\mod_log_forensic.$(src_so) "$(inst_so)" <.y
436 copy modules\loggers\$(LONG)\mod_logio.$(src_so) "$(inst_so)" <.y
437 copy modules\mappers\$(LONG)\mod_actions.$(src_so) "$(inst_so)" <.y
438 copy modules\mappers\$(LONG)\mod_alias.$(src_so) "$(inst_so)" <.y
439 copy modules\mappers\$(LONG)\mod_dir.$(src_so) "$(inst_so)" <.y
440 copy modules\mappers\$(LONG)\mod_imagemap.$(src_so) "$(inst_so)" <.y
441 copy modules\mappers\$(LONG)\mod_negotiation.$(src_so) "$(inst_so)" <.y
442 copy modules\mappers\$(LONG)\mod_rewrite.$(src_so) "$(inst_so)" <.y
443 copy modules\mappers\$(LONG)\mod_speling.$(src_so) "$(inst_so)" <.y
444 copy modules\mappers\$(LONG)\mod_userdir.$(src_so) "$(inst_so)" <.y
445 copy modules\mappers\$(LONG)\mod_vhost_alias.$(src_so) "$(inst_so)" <.y
446 copy modules\metadata\$(LONG)\mod_cern_meta.$(src_so) "$(inst_so)" <.y
447 copy modules\metadata\$(LONG)\mod_env.$(src_so) "$(inst_so)" <.y
448 copy modules\metadata\$(LONG)\mod_expires.$(src_so) "$(inst_so)" <.y
449 copy modules\metadata\$(LONG)\mod_headers.$(src_so) "$(inst_so)" <.y
450 copy modules\metadata\$(LONG)\mod_ident.$(src_so) "$(inst_so)" <.y
451 copy modules\metadata\$(LONG)\mod_mime_magic.$(src_so) "$(inst_so)" <.y
452 copy modules\metadata\$(LONG)\mod_setenvif.$(src_so) "$(inst_so)" <.y
453 copy modules\metadata\$(LONG)\mod_unique_id.$(src_so) "$(inst_so)" <.y
454 copy modules\metadata\$(LONG)\mod_usertrack.$(src_so) "$(inst_so)" <.y
455 copy modules\metadata\$(LONG)\mod_version.$(src_so) "$(inst_so)" <.y
456 copy modules\proxy\$(LONG)\mod_proxy.$(src_so) "$(inst_so)" <.y
457 copy modules\proxy\$(LONG)\mod_proxy_ajp.$(src_so) "$(inst_so)" <.y
458 copy modules\proxy\$(LONG)\mod_proxy_balancer.$(src_so) "$(inst_so)" <.y
459 copy modules\proxy\$(LONG)\mod_proxy_connect.$(src_so) "$(inst_so)" <.y
460 copy modules\proxy\$(LONG)\mod_proxy_fcgi.$(src_so) "$(inst_so)" <.y
461 copy modules\proxy\$(LONG)\mod_proxy_ftp.$(src_so) "$(inst_so)" <.y
462 copy modules\proxy\$(LONG)\mod_proxy_http.$(src_so) "$(inst_so)" <.y
463 !IF EXIST("srclib\openssl")
464 copy modules\ssl\$(LONG)\mod_ssl.$(src_so) "$(inst_so)" <.y
465 $(quiet)copy srclib\openssl\$(SSLBIN)\openssl.$(src_exe) "$(inst_exe)" <.y
466 $(quiet)copy srclib\openssl\$(SSLBIN)\libeay32.$(src_dll) "$(inst_dll)" <.y
467 $(quiet)copy srclib\openssl\$(SSLBIN)\ssleay32.$(src_dll) "$(inst_dll)" <.y
468 copy support\$(LONG)\abs.$(src_exe) "$(inst_exe)\ab.$(src_exe)" <.y
470 copy support\$(LONG)\ab.$(src_exe) "$(inst_exe)" <.y
472 copy support\$(LONG)\htcacheclean.$(src_exe) "$(inst_exe)" <.y
473 copy support\$(LONG)\htdbm.$(src_exe) "$(inst_exe)" <.y
474 copy support\$(LONG)\htdigest.$(src_exe) "$(inst_exe)" <.y
475 copy support\$(LONG)\htpasswd.$(src_exe) "$(inst_exe)" <.y
476 copy support\$(LONG)\logresolve.$(src_exe) "$(inst_exe)" <.y
477 copy support\$(LONG)\rotatelogs.$(src_exe) "$(inst_exe)" <.y
478 copy support\win32\$(LONG)\ApacheMonitor.$(src_exe) "$(inst_exe)" <.y
479 copy support\win32\$(LONG)\wintty.$(src_exe) "$(inst_exe)" <.y
482 # First we create the tree and populate the README so that
483 # whatever happens, all licensing has already propagated.
484 # Then repeatedly invoke the _copybin build to copy the
485 # real binaries, then pdb symbols, anf finally dbg syms.
486 # Then hit docs of various sorts, then includes and libs,
487 # and finally do the .conf magic.
493 -mkdir "$(INSTDIR)\bin"
494 -mkdir "$(INSTDIR)\bin\iconv"
495 -mkdir "$(INSTDIR)\cgi-bin"
496 -mkdir "$(INSTDIR)\conf"
497 -mkdir "$(INSTDIR)\conf\extra"
498 -mkdir "$(INSTDIR)\error"
499 -mkdir "$(INSTDIR)\htdocs"
500 -mkdir "$(INSTDIR)\manual"
501 -mkdir "$(INSTDIR)\icons"
502 -mkdir "$(INSTDIR)\include"
503 -mkdir "$(INSTDIR)\lib"
504 -mkdir "$(INSTDIR)\logs"
505 -mkdir "$(INSTDIR)\modules"
506 -mkdir "$(INSTDIR)\proxy"
507 -mkdir "$(INSTDIR)\symbols"
508 -mkdir "$(INSTDIR)\symbols\exe"
509 -mkdir "$(INSTDIR)\symbols\dll"
510 -mkdir "$(INSTDIR)\symbols\so"
511 copy ABOUT_APACHE "$(INSTDIR)\ABOUT_APACHE.txt" <.y
512 copy CHANGES "$(INSTDIR)\CHANGES.txt" <.y
513 copy INSTALL "$(INSTDIR)\INSTALL.txt" <.y
514 copy LICENSE "$(INSTDIR)\LICENSE.txt" <.y
515 copy NOTICE "$(INSTDIR)\NOTICE.txt" <.y
516 copy README "$(INSTDIR)\README.txt" <.y
517 !IF EXIST("srclib\openssl")
518 type << >> "$(INSTDIR)\NOTICE.txt"
520 This binary distribution includes cryptographic software written by
521 Eric Young (eay@cryptsoft.com), software written by Tim Hudson
522 (tjh@cryptsoft.com), and software developed by the OpenSSL Project
523 for use in the OpenSSL Toolkit <http://www.openssl.org/>.
525 -awk -f <<script.awk < "srclib\openssl\LICENSE" >> "$(INSTDIR)\LICENSE.txt"
528 print "For the libeay32.dll, ssleay32.dll and certtool.exe components:";
530 while ( getline > 0 ) {
535 copy << + srclib\openssl\NEWS "$(INSTDIR)\OPENSSL-NEWS.txt" <.y
537 Apache HTTP Server 2.0 Limited OpenSSL Distribution
539 This binary distribution includes the minimal components of OpenSSL required
540 to support mod_ssl for Apache HTTP Server version 2.0 (details are listed
541 in OPENSSL-README.txt.) For the complete list of CHANGES to this and later
542 versions of OpenSSL, please refer to the definative source,
543 <http://www.openssl.org/news/changelog.html>, or see the CHANGES file in the
544 full binary or source distribution package from <http://www.openssl.org/>.
546 These OpenSSL binaries were built for distribution from the U.S. without
547 support for the patented encryption methods IDEA, MDC-2 or RC5.
549 --------------------------------------------------------------------------------
551 copy << + srclib\openssl\README "$(INSTDIR)\OPENSSL-README.txt" <.y
553 Apache HTTP Server 2.0 Limited OpenSSL Distribution
555 This binary installation of OpenSSL is a limited distribution of the documents
556 OPENSSL-LICENSE.txt, OPENSSL-NEWS.txt and OPENSSL-README.txt, and the binaries
562 These are the minimal libraries and tools required to use mod_ssl as
563 distributed with Apache HTTP Server version 2.0. No library link files,
564 headers or sources are distributed with this binary distribution. Please
565 refer to the <http://www.openssl.org/> site for complete source or binary
568 These OpenSSL binaries were built for distribution from the U.S. without
569 support for the patented encryption methods IDEA, MDC-2 or RC5.
571 The Apache HTTP Project only supports the binary distribution of these files
572 and development of the mod_ssl module. We cannot provide support assistance
573 for using or configuring the OpenSSL package or these modules. Please refer
574 all installation and configuration questions to the appropriate forum,
575 such as the user supported lists, <http://httpd.apache.org/userslist.html>
576 the Apache HTTP Server user's list or <http://www.openssl.org/support/> the
577 OpenSSL support page.
579 --------------------------------------------------------------------------------
582 !IF EXIST("srclib\zlib")
583 type << >> "$(INSTDIR)\NOTICE.txt"
585 This binary distribution of mod_deflate.so includes zlib compression code
586 <http://www.gzip.org/zlib/> written by Jean-loup Gailly (jloup@gzip.org)
587 and Mark Adler (madler@alumni.caltech.edu) .
589 -awk -f <<script.awk < "srclib\zlib\README" >> "$(INSTDIR)\LICENSE.txt"
591 while ( getline > 0 ) {
592 if ( $$0 ~ /Copyright notice:/ ) {
594 print "For the mod_deflate zlib compression component:";
595 while ( getline > 0 && $$0 !~ /^[^ ]/ ) {
605 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=$(SHORT) LONG=$(LONG) \
606 _copybin src_exe=exe src_dll=dll src_so=so \
607 inst_exe="$(INSTDIR)\bin" \
608 inst_dll="$(INSTDIR)\bin" \
609 inst_so="$(INSTDIR)\modules"
610 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=$(SHORT) LONG=$(LONG) \
611 _copybin src_exe=pdb src_dll=pdb src_so=pdb quiet="-" \
612 inst_exe="$(INSTDIR)\bin" \
613 inst_dll="$(INSTDIR)\bin" \
614 inst_so="$(INSTDIR)\modules"
616 $(MAKE) $(MAKEOPT) -f build\modules.mk.win install \
617 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=. \
618 INSTALL_DIR="$(INSTDIR)\bin\iconv"
620 copy docs\cgi-examples\printenv "$(INSTDIR)\cgi-bin\printenv.pl" <.y
621 -awk -f <<script.awk "docs/cgi-examples/printenv" > "$(INSTDIR)\cgi-bin\printenv.pl"
623 if ( "perl -e \"print $$^X;\"" | getline perlroot ) {
624 gsub( /\\/, "/", perlroot );
629 if ( $$0 !~ /^#!/ ) {
634 xcopy docs\error "$(INSTDIR)\error" /s /d < .a
635 xcopy docs\docroot "$(INSTDIR)\htdocs" /d < .a
636 xcopy docs\icons "$(INSTDIR)\icons" /s /d < .a
637 xcopy docs\manual "$(INSTDIR)\manual" /s /d < .a
638 xcopy srclib\apr-util\xml\expat\lib\expat.h "$(INSTDIR)\include" /d < .a
639 xcopy srclib\apr\include\*.h "$(INSTDIR)\include" /d < .a
640 xcopy srclib\apr-util\include\*.h "$(INSTDIR)\include" /d < .a
641 xcopy include\*.h "$(INSTDIR)\include" /d < .a
642 copy srclib\apr\Lib$(SHORT)\apr-1.lib "$(INSTDIR)\lib" <.y
643 copy srclib\apr\Lib$(SHORT)\apr_src.pdb "$(INSTDIR)\lib" <.y
644 copy srclib\apr-util\Lib$(SHORT)\aprutil-1.lib "$(INSTDIR)\lib" <.y
645 copy srclib\apr-util\Lib$(SHORT)\aprutil_src.pdb "$(INSTDIR)\lib" <.y
646 copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml.lib "$(INSTDIR)\lib" <.y
647 copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml_src.pdb "$(INSTDIR)\lib" <.y
648 copy srclib\apr\$(LONG)\libapr-1.lib "$(INSTDIR)\lib" <.y
649 copy srclib\apr\$(LONG)\libapr-1.exp "$(INSTDIR)\lib" <.y
650 copy srclib\apr-iconv\$(LONG)\libapriconv-1.lib "$(INSTDIR)\lib" <.y
651 copy srclib\apr-iconv\$(LONG)\libapriconv-1.exp "$(INSTDIR)\lib" <.y
652 copy srclib\apr-util\$(LONG)\libaprutil-1.lib "$(INSTDIR)\lib" <.y
653 copy srclib\apr-util\$(LONG)\libaprutil-1.exp "$(INSTDIR)\lib" <.y
654 copy $(LONG)\libhttpd.exp "$(INSTDIR)\lib" <.y
655 copy $(LONG)\libhttpd.lib "$(INSTDIR)\lib" <.y
656 copy modules\dav\main\$(LONG)\mod_dav.exp "$(INSTDIR)\lib" <.y
657 copy modules\dav\main\$(LONG)\mod_dav.lib "$(INSTDIR)\lib" <.y
659 for %f in ( charset.conv magic mime.types ) do ( \
660 copy docs\conf\%f "$(INSTDIR)\conf\%f.default" <.y && \
661 if not exist "$(INSTDIR)\conf\%f" \
662 copy "$(INSTDIR)\conf\%f.default" "$(INSTDIR)\conf\%f" \
664 copy docs\conf\httpd-win.conf "$(INSTDIR)\conf\httpd.conf.default" <.y
665 -awk -f <<script.awk "docs/conf/httpd-win.conf" "$(INSTDIR)" > "$(INSTDIR)\conf\httpd.conf.default"
667 serverroot = ARGV[2];
669 gsub( /\\/, "/", serverroot );
671 gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
674 gsub( /@@ServerRoot@@/, serverroot );
675 gsub( /@@ServerName@@/, "$(SERVERNAME)" );
676 gsub( /@@Port@@/, "$(PORT)" );
680 if not exist "$(INSTDIR)\conf\httpd.conf" \
681 copy "$(INSTDIR)\conf\httpd.conf.default" "$(INSTDIR)\conf\httpd.conf"
682 for %f in ( docs\conf\extra\*.in ) do ( \
683 copy %f "$(INSTDIR)\conf\extra\%~nf.default" <.y && \
684 awk -f <<script.awk "docs/conf/extra/%~nf.in" "$(INSTDIR)" > "$(INSTDIR)\conf\extra\%~nf.default" )
686 serverroot = ARGV[2];
688 gsub( /\\/, "/", serverroot );
690 gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
693 gsub( /SSLMutex file:@exp_runtimedir@\/ssl_mutex/, "SSLMutex default" );
694 gsub( /@@ServerRoot@@/, serverroot );
695 gsub( /@exp_cgidir@/, serverroot "/cgi-bin" );
696 gsub( /@exp_sysconfdir@/, serverroot "/conf" );
697 gsub( /@exp_errordir@/, serverroot "/error" );
698 gsub( /@exp_htdocsdir@/, serverroot "/htdocs" );
699 gsub( /@exp_iconsdir@/, serverroot "/icons" );
700 gsub( /@exp_logfiledir@/, serverroot "/logs" );
701 gsub( /@exp_runtimedir@/, serverroot "/logs" );
702 gsub( /@exp_manualdir@/, serverroot "/manual" );
703 gsub( /@rel_runtimedir@/, "logs" );
704 gsub( /@rel_logfiledir@/, "logs" );
705 gsub( /\/home\/\*\/public_html/, "\"C:/Documents and Settings/*/My Documents/My Website\"" );
706 gsub( /UserDir public_html/, "UserDir \"My Documents/My Website\"" );
707 gsub( /@@ServerName@@/, "$(SERVERNAME)" );
708 gsub( /@@Port@@/, "$(PORT)" );
709 gsub( /443/, "$(SSLPORT)" );
713 for %f in ( docs\conf\extra\*.in ) do ( \
714 if not exist "$(INSTDIR)\conf\extra\%~nf" \
715 copy "$(INSTDIR)\conf\extra\%~nf.default" "$(INSTDIR)\conf\extra\%~nf" \
717 copy "support\dbmmanage.in" "$(INSTDIR)\bin\dbmmanage.pl"
718 -awk -f <<script.awk "support/dbmmanage.in" >"$(INSTDIR)\bin\dbmmanage.pl"
719 { if ( $$0 ~ /^BEGIN \{ @AnyDBM_File::/ ) {
720 sub( /ISA = qw\(.*\)/, "ISA = qw(SDBM_File)" );
722 if ( $$0 !~ /^#!@perlbin@/ )