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_auth_basic.mak CFG="mod_auth_basic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
224 $(MAKE) $(MAKEOPT) -f mod_auth_digest.mak CFG="mod_auth_digest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
225 $(MAKE) $(MAKEOPT) -f mod_authn_anon.mak CFG="mod_authn_anon - Win32 $(LONG)" RECURSE=0 $(CTARGET)
226 $(MAKE) $(MAKEOPT) -f mod_authn_dbd.mak CFG="mod_authn_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
227 $(MAKE) $(MAKEOPT) -f mod_authn_dbm.mak CFG="mod_authn_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
228 $(MAKE) $(MAKEOPT) -f mod_authn_default.mak CFG="mod_authn_default - Win32 $(LONG)" RECURSE=0 $(CTARGET)
229 $(MAKE) $(MAKEOPT) -f mod_authn_file.mak CFG="mod_authn_file - Win32 $(LONG)" RECURSE=0 $(CTARGET)
230 $(MAKE) $(MAKEOPT) -f mod_authz_dbm.mak CFG="mod_authz_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
231 $(MAKE) $(MAKEOPT) -f mod_authz_default.mak CFG="mod_authz_default - Win32 $(LONG)" RECURSE=0 $(CTARGET)
232 $(MAKE) $(MAKEOPT) -f mod_authz_groupfile.mak CFG="mod_authz_groupfile - Win32 $(LONG)" RECURSE=0 $(CTARGET)
233 $(MAKE) $(MAKEOPT) -f mod_authz_host.mak CFG="mod_authz_host - Win32 $(LONG)" RECURSE=0 $(CTARGET)
234 $(MAKE) $(MAKEOPT) -f mod_authz_user.mak CFG="mod_authz_user - Win32 $(LONG)" RECURSE=0 $(CTARGET)
235 $(MAKE) $(MAKEOPT) -f mod_authnz_ldap.mak CFG="mod_authnz_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
237 cd modules\arch\win32
238 $(MAKE) $(MAKEOPT) -f mod_isapi.mak CFG="mod_isapi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
241 $(MAKE) $(MAKEOPT) -f mod_cache.mak CFG="mod_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
242 $(MAKE) $(MAKEOPT) -f mod_file_cache.mak CFG="mod_file_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
243 $(MAKE) $(MAKEOPT) -f mod_mem_cache.mak CFG="mod_mem_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
244 $(MAKE) $(MAKEOPT) -f mod_disk_cache.mak CFG="mod_disk_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
247 $(MAKE) $(MAKEOPT) -f mod_dav.mak CFG="mod_dav - Win32 $(LONG)" RECURSE=0 $(CTARGET)
250 $(MAKE) $(MAKEOPT) -f mod_dav_fs.mak CFG="mod_dav_fs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
253 $(MAKE) $(MAKEOPT) -f mod_bucketeer.mak CFG="mod_bucketeer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
254 $(MAKE) $(MAKEOPT) -f mod_dumpio.mak CFG="mod_dumpio - Win32 $(LONG)" RECURSE=0 $(CTARGET)
256 cd modules\experimental
259 $(MAKE) $(MAKEOPT) -f mod_charset_lite.mak CFG="mod_charset_lite - Win32 $(LONG)" RECURSE=0 $(CTARGET)
260 !IF EXIST("srclib\zlib")
261 $(MAKE) $(MAKEOPT) -f mod_deflate.mak CFG="mod_deflate - Win32 $(LONG)" RECURSE=0 $(CTARGET)
263 $(MAKE) $(MAKEOPT) -f mod_ext_filter.mak CFG="mod_ext_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
264 $(MAKE) $(MAKEOPT) -f mod_include.mak CFG="mod_include - Win32 $(LONG)" RECURSE=0 $(CTARGET)
266 cd modules\generators
267 $(MAKE) $(MAKEOPT) -f mod_asis.mak CFG="mod_asis - Win32 $(LONG)" RECURSE=0 $(CTARGET)
268 $(MAKE) $(MAKEOPT) -f mod_autoindex.mak CFG="mod_autoindex - Win32 $(LONG)" RECURSE=0 $(CTARGET)
269 $(MAKE) $(MAKEOPT) -f mod_cgi.mak CFG="mod_cgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
270 $(MAKE) $(MAKEOPT) -f mod_info.mak CFG="mod_info - Win32 $(LONG)" RECURSE=0 $(CTARGET)
271 $(MAKE) $(MAKEOPT) -f mod_status.mak CFG="mod_status - Win32 $(LONG)" RECURSE=0 $(CTARGET)
274 $(MAKE) $(MAKEOPT) -f mod_mime.mak CFG="mod_mime - Win32 $(LONG)" RECURSE=0 $(CTARGET)
277 $(MAKE) $(MAKEOPT) -f mod_log_config.mak CFG="mod_log_config - Win32 $(LONG)" RECURSE=0 $(CTARGET)
278 $(MAKE) $(MAKEOPT) -f mod_log_forensic.mak CFG="mod_log_forensic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
279 $(MAKE) $(MAKEOPT) -f mod_logio.mak CFG="mod_logio - Win32 $(LONG)" RECURSE=0 $(CTARGET)
282 $(MAKE) $(MAKEOPT) -f mod_actions.mak CFG="mod_actions - Win32 $(LONG)" RECURSE=0 $(CTARGET)
283 $(MAKE) $(MAKEOPT) -f mod_alias.mak CFG="mod_alias - Win32 $(LONG)" RECURSE=0 $(CTARGET)
284 $(MAKE) $(MAKEOPT) -f mod_dir.mak CFG="mod_dir - Win32 $(LONG)" RECURSE=0 $(CTARGET)
285 $(MAKE) $(MAKEOPT) -f mod_imagemap.mak CFG="mod_imagemap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
286 $(MAKE) $(MAKEOPT) -f mod_negotiation.mak CFG="mod_negotiation - Win32 $(LONG)" RECURSE=0 $(CTARGET)
287 $(MAKE) $(MAKEOPT) -f mod_rewrite.mak CFG="mod_rewrite - Win32 $(LONG)" RECURSE=0 $(CTARGET)
288 $(MAKE) $(MAKEOPT) -f mod_speling.mak CFG="mod_speling - Win32 $(LONG)" RECURSE=0 $(CTARGET)
289 $(MAKE) $(MAKEOPT) -f mod_userdir.mak CFG="mod_userdir - Win32 $(LONG)" RECURSE=0 $(CTARGET)
290 $(MAKE) $(MAKEOPT) -f mod_vhost_alias.mak CFG="mod_vhost_alias - Win32 $(LONG)" RECURSE=0 $(CTARGET)
293 $(MAKE) $(MAKEOPT) -f mod_cern_meta.mak CFG="mod_cern_meta - Win32 $(LONG)" RECURSE=0 $(CTARGET)
294 $(MAKE) $(MAKEOPT) -f mod_env.mak CFG="mod_env - Win32 $(LONG)" RECURSE=0 $(CTARGET)
295 $(MAKE) $(MAKEOPT) -f mod_expires.mak CFG="mod_expires - Win32 $(LONG)" RECURSE=0 $(CTARGET)
296 $(MAKE) $(MAKEOPT) -f mod_headers.mak CFG="mod_headers - Win32 $(LONG)" RECURSE=0 $(CTARGET)
297 $(MAKE) $(MAKEOPT) -f mod_ident.mak CFG="mod_ident - Win32 $(LONG)" RECURSE=0 $(CTARGET)
298 $(MAKE) $(MAKEOPT) -f mod_mime_magic.mak CFG="mod_mime_magic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
299 $(MAKE) $(MAKEOPT) -f mod_setenvif.mak CFG="mod_setenvif - Win32 $(LONG)" RECURSE=0 $(CTARGET)
300 $(MAKE) $(MAKEOPT) -f mod_unique_id.mak CFG="mod_unique_id - Win32 $(LONG)" RECURSE=0 $(CTARGET)
301 $(MAKE) $(MAKEOPT) -f mod_usertrack.mak CFG="mod_usertrack - Win32 $(LONG)" RECURSE=0 $(CTARGET)
302 $(MAKE) $(MAKEOPT) -f mod_version.mak CFG="mod_version - Win32 $(LONG)" RECURSE=0 $(CTARGET)
305 $(MAKE) $(MAKEOPT) -f mod_proxy.mak CFG="mod_proxy - Win32 $(LONG)" RECURSE=0 $(CTARGET)
306 $(MAKE) $(MAKEOPT) -f mod_proxy_ajp.mak CFG="mod_proxy_ajp - Win32 $(LONG)" RECURSE=0 $(CTARGET)
307 $(MAKE) $(MAKEOPT) -f mod_proxy_balancer.mak CFG="mod_proxy_balancer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
308 $(MAKE) $(MAKEOPT) -f mod_proxy_connect.mak CFG="mod_proxy_connect - Win32 $(LONG)" RECURSE=0 $(CTARGET)
309 $(MAKE) $(MAKEOPT) -f mod_proxy_ftp.mak CFG="mod_proxy_ftp - Win32 $(LONG)" RECURSE=0 $(CTARGET)
310 $(MAKE) $(MAKEOPT) -f mod_proxy_http.mak CFG="mod_proxy_http - Win32 $(LONG)" RECURSE=0 $(CTARGET)
312 !IF EXIST("srclib\openssl")
314 $(MAKE) $(MAKEOPT) -f mod_ssl.mak CFG="mod_ssl - Win32 $(LONG)" RECURSE=0 $(CTARGET)
317 $(MAKE) $(MAKEOPT) -f abs.mak CFG="abs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
321 $(MAKE) $(MAKEOPT) -f ab.mak CFG="ab - Win32 $(LONG)" RECURSE=0 $(CTARGET)
322 $(MAKE) $(MAKEOPT) -f htcacheclean.mak CFG="htcacheclean - Win32 $(LONG)" RECURSE=0 $(CTARGET)
323 $(MAKE) $(MAKEOPT) -f htdbm.mak CFG="htdbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
324 $(MAKE) $(MAKEOPT) -f htdigest.mak CFG="htdigest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
325 $(MAKE) $(MAKEOPT) -f htpasswd.mak CFG="htpasswd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
326 $(MAKE) $(MAKEOPT) -f logresolve.mak CFG="logresolve - Win32 $(LONG)" RECURSE=0 $(CTARGET)
327 $(MAKE) $(MAKEOPT) -f rotatelogs.mak CFG="rotatelogs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
330 $(MAKE) $(MAKEOPT) -f ApacheMonitor.mak CFG="ApacheMonitor - Win32 $(LONG)" RECURSE=0 $(CTARGET)
331 $(MAKE) $(MAKEOPT) -f wintty.mak CFG="wintty - Win32 $(LONG)" RECURSE=0 $(CTARGET)
334 !ELSEIF EXIST("Apache.sln")
337 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/clean" _build
340 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug CTARGET="/clean" _build
343 echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
344 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project BuildBin
345 !IF EXIST("srclib\openssl")
346 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_ssl
347 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project abs
349 !IF EXIST("srclib\zlib")
350 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_deflate
356 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/CLEAN" _build
359 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug CTARGET="/CLEAN" _build
362 @echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
363 @msdev Apache.dsw /USEENV /MAKE \
364 "BuildBin - Win32 $(LONG)" $(CTARGET)
365 !IF "$(CTARGET)" == "/CLEAN"
367 @$(MAKE) $(MAKEOPT) -f build\modules.mk.win clean \
368 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=.
371 !IF EXIST("srclib\openssl")
372 @msdev Apache.dsw /USEENV /MAKE \
373 "mod_ssl - Win32 $(LONG)" \
374 "abs - Win32 $(LONG)" /NORECURSE $(CTARGET)
376 !IF EXIST("srclib\zlib")
377 @msdev Apache.dsw /USEENV /MAKE \
378 "mod_deflate - Win32 $(LONG)" /NORECURSE $(CTARGET)
385 copy $(LONG)\httpd.$(src_exe) "$(inst_exe)" <.y
386 copy $(LONG)\libhttpd.$(src_dll) "$(inst_dll)" <.y
387 copy srclib\apr\$(LONG)\libapr-1.$(src_dll) "$(inst_dll)" <.y
388 copy srclib\apr-iconv\$(LONG)\libapriconv-1.$(src_dll) "$(inst_dll)" <.y
389 copy srclib\apr-util\$(LONG)\libaprutil-1.$(src_dll) "$(inst_dll)" <.y
390 copy modules\aaa\$(LONG)\mod_auth_basic.$(src_so) "$(inst_so)" <.y
391 copy modules\aaa\$(LONG)\mod_auth_digest.$(src_so) "$(inst_so)" <.y
392 copy modules\aaa\$(LONG)\mod_authn_anon.$(src_so) "$(inst_so)" <.y
393 copy modules\aaa\$(LONG)\mod_authn_dbd.$(src_so) "$(inst_so)" <.y
394 copy modules\aaa\$(LONG)\mod_authn_dbm.$(src_so) "$(inst_so)" <.y
395 copy modules\aaa\$(LONG)\mod_authn_default.$(src_so) "$(inst_so)" <.y
396 copy modules\aaa\$(LONG)\mod_authn_file.$(src_so) "$(inst_so)" <.y
397 copy modules\aaa\$(LONG)\mod_authz_dbm.$(src_so) "$(inst_so)" <.y
398 copy modules\aaa\$(LONG)\mod_authz_default.$(src_so) "$(inst_so)" <.y
399 copy modules\aaa\$(LONG)\mod_authz_groupfile.$(src_so) "$(inst_so)" <.y
400 copy modules\aaa\$(LONG)\mod_authz_host.$(src_so) "$(inst_so)" <.y
401 copy modules\aaa\$(LONG)\mod_authz_user.$(src_so) "$(inst_so)" <.y
402 copy modules\aaa\$(LONG)\mod_authnz_ldap.$(src_so) "$(inst_so)" <.y
403 copy modules\arch\win32\$(LONG)\mod_isapi.$(src_so) "$(inst_so)" <.y
404 copy modules\cache\$(LONG)\mod_cache.$(src_so) "$(inst_so)" <.y
405 copy modules\cache\$(LONG)\mod_file_cache.$(src_so) "$(inst_so)" <.y
406 copy modules\cache\$(LONG)\mod_mem_cache.$(src_so) "$(inst_so)" <.y
407 copy modules\cache\$(LONG)\mod_disk_cache.$(src_so) "$(inst_so)" <.y
408 copy modules\database\$(LONG)\mod_dbd.$(src_so) "$(inst_so)" <.y
409 copy modules\dav\fs\$(LONG)\mod_dav_fs.$(src_so) "$(inst_so)" <.y
410 copy modules\dav\main\$(LONG)\mod_dav.$(src_so) "$(inst_so)" <.y
411 copy modules\debugging\$(LONG)\mod_bucketeer.$(src_so) "$(inst_so)" <.y
412 copy modules\debugging\$(LONG)\mod_dumpio.$(src_so) "$(inst_so)" <.y
413 copy modules\filters\$(LONG)\mod_charset_lite.$(src_so) "$(inst_so)" <.y
414 !IF EXIST("srclib\zlib")
415 copy modules\filters\$(LONG)\mod_deflate.$(src_so) "$(inst_so)" <.y
416 !IF EXIST("srclib\zlib\zlib1.$(src_dll)")
417 copy srclib\zlib\zlib1.$(src_dll) "$(inst_dll)" <.y
420 copy modules\filters\$(LONG)\mod_ext_filter.$(src_so) "$(inst_so)" <.y
421 copy modules\filters\$(LONG)\mod_include.$(src_so) "$(inst_so)" <.y
422 copy modules\generators\$(LONG)\mod_asis.$(src_so) "$(inst_so)" <.y
423 copy modules\generators\$(LONG)\mod_autoindex.$(src_so) "$(inst_so)" <.y
424 copy modules\generators\$(LONG)\mod_cgi.$(src_so) "$(inst_so)" <.y
425 copy modules\generators\$(LONG)\mod_info.$(src_so) "$(inst_so)" <.y
426 copy modules\generators\$(LONG)\mod_status.$(src_so) "$(inst_so)" <.y
427 copy modules\http\$(LONG)\mod_mime.$(src_so) "$(inst_so)" <.y
428 copy modules\ldap\$(LONG)\mod_ldap.$(src_so) "$(inst_so)" <.y
429 copy modules\loggers\$(LONG)\mod_log_config.$(src_so) "$(inst_so)" <.y
430 copy modules\loggers\$(LONG)\mod_log_forensic.$(src_so) "$(inst_so)" <.y
431 copy modules\loggers\$(LONG)\mod_logio.$(src_so) "$(inst_so)" <.y
432 copy modules\mappers\$(LONG)\mod_actions.$(src_so) "$(inst_so)" <.y
433 copy modules\mappers\$(LONG)\mod_alias.$(src_so) "$(inst_so)" <.y
434 copy modules\mappers\$(LONG)\mod_dir.$(src_so) "$(inst_so)" <.y
435 copy modules\mappers\$(LONG)\mod_imagemap.$(src_so) "$(inst_so)" <.y
436 copy modules\mappers\$(LONG)\mod_negotiation.$(src_so) "$(inst_so)" <.y
437 copy modules\mappers\$(LONG)\mod_rewrite.$(src_so) "$(inst_so)" <.y
438 copy modules\mappers\$(LONG)\mod_speling.$(src_so) "$(inst_so)" <.y
439 copy modules\mappers\$(LONG)\mod_userdir.$(src_so) "$(inst_so)" <.y
440 copy modules\mappers\$(LONG)\mod_vhost_alias.$(src_so) "$(inst_so)" <.y
441 copy modules\metadata\$(LONG)\mod_cern_meta.$(src_so) "$(inst_so)" <.y
442 copy modules\metadata\$(LONG)\mod_env.$(src_so) "$(inst_so)" <.y
443 copy modules\metadata\$(LONG)\mod_expires.$(src_so) "$(inst_so)" <.y
444 copy modules\metadata\$(LONG)\mod_headers.$(src_so) "$(inst_so)" <.y
445 copy modules\metadata\$(LONG)\mod_ident.$(src_so) "$(inst_so)" <.y
446 copy modules\metadata\$(LONG)\mod_mime_magic.$(src_so) "$(inst_so)" <.y
447 copy modules\metadata\$(LONG)\mod_setenvif.$(src_so) "$(inst_so)" <.y
448 copy modules\metadata\$(LONG)\mod_unique_id.$(src_so) "$(inst_so)" <.y
449 copy modules\metadata\$(LONG)\mod_usertrack.$(src_so) "$(inst_so)" <.y
450 copy modules\metadata\$(LONG)\mod_version.$(src_so) "$(inst_so)" <.y
451 copy modules\proxy\$(LONG)\mod_proxy.$(src_so) "$(inst_so)" <.y
452 copy modules\proxy\$(LONG)\mod_proxy_ajp.$(src_so) "$(inst_so)" <.y
453 copy modules\proxy\$(LONG)\mod_proxy_balancer.$(src_so) "$(inst_so)" <.y
454 copy modules\proxy\$(LONG)\mod_proxy_connect.$(src_so) "$(inst_so)" <.y
455 copy modules\proxy\$(LONG)\mod_proxy_ftp.$(src_so) "$(inst_so)" <.y
456 copy modules\proxy\$(LONG)\mod_proxy_http.$(src_so) "$(inst_so)" <.y
457 !IF EXIST("srclib\openssl")
458 copy modules\ssl\$(LONG)\mod_ssl.$(src_so) "$(inst_so)" <.y
459 $(quiet)copy srclib\openssl\$(SSLBIN)\openssl.$(src_exe) "$(inst_exe)" <.y
460 $(quiet)copy srclib\openssl\$(SSLBIN)\libeay32.$(src_dll) "$(inst_dll)" <.y
461 $(quiet)copy srclib\openssl\$(SSLBIN)\ssleay32.$(src_dll) "$(inst_dll)" <.y
462 copy support\$(LONG)\abs.$(src_exe) "$(inst_exe)\ab.$(src_exe)" <.y
464 copy support\$(LONG)\ab.$(src_exe) "$(inst_exe)" <.y
466 copy support\$(LONG)\htcacheclean.$(src_exe) "$(inst_exe)" <.y
467 copy support\$(LONG)\htdbm.$(src_exe) "$(inst_exe)" <.y
468 copy support\$(LONG)\htdigest.$(src_exe) "$(inst_exe)" <.y
469 copy support\$(LONG)\htpasswd.$(src_exe) "$(inst_exe)" <.y
470 copy support\$(LONG)\logresolve.$(src_exe) "$(inst_exe)" <.y
471 copy support\$(LONG)\rotatelogs.$(src_exe) "$(inst_exe)" <.y
472 copy support\win32\$(LONG)\ApacheMonitor.$(src_exe) "$(inst_exe)" <.y
473 copy support\win32\$(LONG)\wintty.$(src_exe) "$(inst_exe)" <.y
476 # First we create the tree and populate the README so that
477 # whatever happens, all licensing has already propagated.
478 # Then repeatedly invoke the _copybin build to copy the
479 # real binaries, then pdb symbols, anf finally dbg syms.
480 # Then hit docs of various sorts, then includes and libs,
481 # and finally do the .conf magic.
487 -mkdir "$(INSTDIR)\bin"
488 -mkdir "$(INSTDIR)\bin\iconv"
489 -mkdir "$(INSTDIR)\cgi-bin"
490 -mkdir "$(INSTDIR)\conf"
491 -mkdir "$(INSTDIR)\conf\extra"
492 -mkdir "$(INSTDIR)\error"
493 -mkdir "$(INSTDIR)\htdocs"
494 -mkdir "$(INSTDIR)\manual"
495 -mkdir "$(INSTDIR)\icons"
496 -mkdir "$(INSTDIR)\include"
497 -mkdir "$(INSTDIR)\lib"
498 -mkdir "$(INSTDIR)\logs"
499 -mkdir "$(INSTDIR)\modules"
500 -mkdir "$(INSTDIR)\proxy"
501 -mkdir "$(INSTDIR)\symbols"
502 -mkdir "$(INSTDIR)\symbols\exe"
503 -mkdir "$(INSTDIR)\symbols\dll"
504 -mkdir "$(INSTDIR)\symbols\so"
505 copy ABOUT_APACHE "$(INSTDIR)\ABOUT_APACHE.txt" <.y
506 copy CHANGES "$(INSTDIR)\CHANGES.txt" <.y
507 copy INSTALL "$(INSTDIR)\INSTALL.txt" <.y
508 copy LICENSE "$(INSTDIR)\LICENSE.txt" <.y
509 copy NOTICE "$(INSTDIR)\NOTICE.txt" <.y
510 copy README "$(INSTDIR)\README.txt" <.y
511 !IF EXIST("srclib\openssl")
512 type << >> "$(INSTDIR)\NOTICE.txt"
514 This binary distribution includes cryptographic software written by
515 Eric Young (eay@cryptsoft.com), software written by Tim Hudson
516 (tjh@cryptsoft.com), and software developed by the OpenSSL Project
517 for use in the OpenSSL Toolkit <http://www.openssl.org/>.
519 -awk -f <<script.awk < "srclib\openssl\LICENSE" >> "$(INSTDIR)\LICENSE.txt"
522 print "For the libeay32.dll, ssleay32.dll and certtool.exe components:";
524 while ( getline > 0 ) {
529 copy << + srclib\openssl\NEWS "$(INSTDIR)\OPENSSL-NEWS.txt" <.y
531 Apache HTTP Server 2.0 Limited OpenSSL Distribution
533 This binary distribution includes the minimal components of OpenSSL required
534 to support mod_ssl for Apache HTTP Server version 2.0 (details are listed
535 in OPENSSL-README.txt.) For the complete list of CHANGES to this and later
536 versions of OpenSSL, please refer to the definative source,
537 <http://www.openssl.org/news/changelog.html>, or see the CHANGES file in the
538 full binary or source distribution package from <http://www.openssl.org/>.
540 These OpenSSL binaries were built for distribution from the U.S. without
541 support for the patented encryption methods IDEA, MDC-2 or RC5.
543 --------------------------------------------------------------------------------
545 copy << + srclib\openssl\README "$(INSTDIR)\OPENSSL-README.txt" <.y
547 Apache HTTP Server 2.0 Limited OpenSSL Distribution
549 This binary installation of OpenSSL is a limited distribution of the documents
550 OPENSSL-LICENSE.txt, OPENSSL-NEWS.txt and OPENSSL-README.txt, and the binaries
556 These are the minimal libraries and tools required to use mod_ssl as
557 distributed with Apache HTTP Server version 2.0. No library link files,
558 headers or sources are distributed with this binary distribution. Please
559 refer to the <http://www.openssl.org/> site for complete source or binary
562 These OpenSSL binaries were built for distribution from the U.S. without
563 support for the patented encryption methods IDEA, MDC-2 or RC5.
565 The Apache HTTP Project only supports the binary distribution of these files
566 and development of the mod_ssl module. We cannot provide support assistance
567 for using or configuring the OpenSSL package or these modules. Please refer
568 all installation and configuration questions to the appropriate forum,
569 such as the user supported lists, <http://httpd.apache.org/userslist.html>
570 the Apache HTTP Server user's list or <http://www.openssl.org/support/> the
571 OpenSSL support page.
573 --------------------------------------------------------------------------------
576 !IF EXIST("srclib\zlib")
577 type << >> "$(INSTDIR)\NOTICE.txt"
579 This binary distribution of mod_deflate.so includes zlib compression code
580 <http://www.gzip.org/zlib/> written by Jean-loup Gailly (jloup@gzip.org)
581 and Mark Adler (madler@alumni.caltech.edu) .
583 -awk -f <<script.awk < "srclib\zlib\README" >> "$(INSTDIR)\LICENSE.txt"
585 while ( getline > 0 ) {
586 if ( $$0 ~ /Copyright notice:/ ) {
588 print "For the mod_deflate zlib compression component:";
589 while ( getline > 0 && $$0 !~ /^[^ ]/ ) {
599 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=$(SHORT) LONG=$(LONG) \
600 _copybin src_exe=exe src_dll=dll src_so=so \
601 inst_exe="$(INSTDIR)\bin" \
602 inst_dll="$(INSTDIR)\bin" \
603 inst_so="$(INSTDIR)\modules"
604 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=$(SHORT) LONG=$(LONG) \
605 _copybin src_exe=pdb src_dll=pdb src_so=pdb quiet="-" \
606 inst_exe="$(INSTDIR)\bin" \
607 inst_dll="$(INSTDIR)\bin" \
608 inst_so="$(INSTDIR)\modules"
610 $(MAKE) $(MAKEOPT) -f build\modules.mk.win install \
611 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=. \
612 INSTALL_DIR="$(INSTDIR)\bin\iconv"
614 copy docs\cgi-examples\printenv "$(INSTDIR)\cgi-bin\printenv.pl" <.y
615 -awk -f <<script.awk "docs/cgi-examples/printenv" > "$(INSTDIR)\cgi-bin\printenv.pl"
617 if ( "perl -e \"print $$^X;\"" | getline perlroot ) {
618 gsub( /\\/, "/", perlroot );
623 if ( $$0 !~ /^#!/ ) {
628 xcopy docs\error "$(INSTDIR)\error" /s /d < .a
629 xcopy docs\docroot "$(INSTDIR)\htdocs" /d < .a
630 xcopy docs\icons "$(INSTDIR)\icons" /s /d < .a
631 xcopy docs\manual "$(INSTDIR)\manual" /s /d < .a
632 xcopy srclib\apr-util\xml\expat\lib\expat.h "$(INSTDIR)\include" /d < .a
633 xcopy srclib\apr\include\*.h "$(INSTDIR)\include" /d < .a
634 xcopy srclib\apr-util\include\*.h "$(INSTDIR)\include" /d < .a
635 xcopy include\*.h "$(INSTDIR)\include" /d < .a
636 copy srclib\apr\Lib$(SHORT)\apr-1.lib "$(INSTDIR)\lib" <.y
637 copy srclib\apr\Lib$(SHORT)\apr_src.pdb "$(INSTDIR)\lib" <.y
638 copy srclib\apr-util\Lib$(SHORT)\aprutil-1.lib "$(INSTDIR)\lib" <.y
639 copy srclib\apr-util\Lib$(SHORT)\aprutil_src.pdb "$(INSTDIR)\lib" <.y
640 copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml.lib "$(INSTDIR)\lib" <.y
641 copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml_src.pdb "$(INSTDIR)\lib" <.y
642 copy srclib\apr\$(LONG)\libapr-1.lib "$(INSTDIR)\lib" <.y
643 copy srclib\apr\$(LONG)\libapr-1.exp "$(INSTDIR)\lib" <.y
644 copy srclib\apr-iconv\$(LONG)\libapriconv-1.lib "$(INSTDIR)\lib" <.y
645 copy srclib\apr-iconv\$(LONG)\libapriconv-1.exp "$(INSTDIR)\lib" <.y
646 copy srclib\apr-util\$(LONG)\libaprutil-1.lib "$(INSTDIR)\lib" <.y
647 copy srclib\apr-util\$(LONG)\libaprutil-1.exp "$(INSTDIR)\lib" <.y
648 copy $(LONG)\libhttpd.exp "$(INSTDIR)\lib" <.y
649 copy $(LONG)\libhttpd.lib "$(INSTDIR)\lib" <.y
650 copy modules\dav\main\$(LONG)\mod_dav.exp "$(INSTDIR)\lib" <.y
651 copy modules\dav\main\$(LONG)\mod_dav.lib "$(INSTDIR)\lib" <.y
653 for %f in ( charset.conv magic mime.types ) do ( \
654 copy docs\conf\%f "$(INSTDIR)\conf\%f.default" <.y && \
655 if not exist "$(INSTDIR)\conf\%f" \
656 copy "$(INSTDIR)\conf\%f.default" "$(INSTDIR)\conf\%f" \
658 copy docs\conf\httpd-win.conf "$(INSTDIR)\conf\httpd.conf.default" <.y
659 -awk -f <<script.awk "docs/conf/httpd-win.conf" "$(INSTDIR)" > "$(INSTDIR)\conf\httpd.conf.default"
661 serverroot = ARGV[2];
663 gsub( /\\/, "/", serverroot );
665 gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
668 gsub( /@@ServerRoot@@/, serverroot );
669 gsub( /@@ServerName@@/, "$(SERVERNAME)" );
670 gsub( /@@Port@@/, "$(PORT)" );
674 if not exist "$(INSTDIR)\conf\httpd.conf" \
675 copy "$(INSTDIR)\conf\httpd.conf.default" "$(INSTDIR)\conf\httpd.conf"
676 for %f in ( docs\conf\extra\*.in ) do ( \
677 copy %f "$(INSTDIR)\conf\extra\%~nf.default" <.y && \
678 awk -f <<script.awk "docs/conf/extra/%~nf.in" "$(INSTDIR)" > "$(INSTDIR)\conf\extra\%~nf.default" )
680 serverroot = ARGV[2];
682 gsub( /\\/, "/", serverroot );
684 gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
687 gsub( /SSLMutex file:@exp_runtimedir@\/ssl_mutex/, "SSLMutex default" );
688 gsub( /@@ServerRoot@@/, serverroot );
689 gsub( /@exp_cgidir@/, serverroot "/cgi-bin" );
690 gsub( /@exp_sysconfdir@/, serverroot "/conf" );
691 gsub( /@exp_errordir@/, serverroot "/error" );
692 gsub( /@exp_htdocsdir@/, serverroot "/htdocs" );
693 gsub( /@exp_iconsdir@/, serverroot "/icons" );
694 gsub( /@exp_logfiledir@/, serverroot "/logs" );
695 gsub( /@exp_runtimedir@/, serverroot "/logs" );
696 gsub( /@exp_manualdir@/, serverroot "/manual" );
697 gsub( /@rel_runtimedir@/, "logs" );
698 gsub( /@rel_logfiledir@/, "logs" );
699 gsub( /\/home\/\*\/public_html/, "\"C:/Documents and Settings/*/My Documents/My Website\"" );
700 gsub( /UserDir public_html/, "UserDir \"My Documents/My Website\"" );
701 gsub( /@@ServerName@@/, "$(SERVERNAME)" );
702 gsub( /@@Port@@/, "$(PORT)" );
703 gsub( /443/, "$(SSLPORT)" );
707 for %f in ( docs\conf\extra\*.in ) do ( \
708 if not exist "$(INSTDIR)\conf\extra\%~nf" \
709 copy "$(INSTDIR)\conf\extra\%~nf.default" "$(INSTDIR)\conf\extra\%~nf" \
711 copy "support\dbmmanage.in" "$(INSTDIR)\bin\dbmmanage.pl"
712 -awk -f <<script.awk "support/dbmmanage.in" >"$(INSTDIR)\bin\dbmmanage.pl"
713 { if ( $$0 ~ /^BEGIN \{ @AnyDBM_File::/ ) {
714 sub( /ISA = qw\(.*\)/, "ISA = qw(SDBM_File)" );
716 if ( $$0 !~ /^#!@perlbin@/ )