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("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"
54 !IF EXIST("modules\ssl\mod_ssl.mak")
56 $(MAKE) $(MAKEOPT) -f mod_ssl.mak CFG="mod_ssl - Win32 $(LONG)" RECURSE=0 .\$(LONG)\mod_ssl.so
59 $(MAKE) $(MAKEOPT) -f abs.mak CFG="abs - Win32 $(LONG)" RECURSE=0 .\$(LONG)\abs.exe
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.8d.
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 .\$(LONG)\mod_deflate.so
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("Apache.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\uri
201 $(MAKE) $(MAKEOPT) -f gen_uri_delims.mak CFG="gen_uri_delims - Win32 $(LONG)" RECURSE=0 $(CTARGET)
203 cd srclib\apr-util\xml\expat\lib
204 $(MAKE) $(MAKEOPT) -f xml.mak CFG="xml - Win32 $(LONG)" RECURSE=0 $(CTARGET)
206 $(MAKE) $(MAKEOPT) -f aprutil.mak CFG="aprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET)
207 $(MAKE) $(MAKEOPT) -f libaprutil.mak CFG="libaprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET)
210 $(MAKE) $(MAKEOPT) -f dftables.mak CFG="dftables - Win32 $(LONG)" RECURSE=0 $(CTARGET)
211 $(MAKE) $(MAKEOPT) -f pcre.mak CFG="pcre - Win32 $(LONG)" RECURSE=0 $(CTARGET)
212 $(MAKE) $(MAKEOPT) -f pcreposix.mak CFG="pcreposix - Win32 $(LONG)" RECURSE=0 $(CTARGET)
215 $(MAKE) $(MAKEOPT) -f gen_test_char.mak CFG="gen_test_char - Win32 $(LONG)" RECURSE=0 $(CTARGET)
217 $(MAKE) $(MAKEOPT) -f libhttpd.mak CFG="libhttpd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
218 $(MAKE) $(MAKEOPT) -f Apache.mak CFG="Apache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
220 $(MAKE) $(MAKEOPT) -f mod_access.mak CFG="mod_access - Win32 $(LONG)" RECURSE=0 $(CTARGET)
221 $(MAKE) $(MAKEOPT) -f mod_auth.mak CFG="mod_auth - Win32 $(LONG)" RECURSE=0 $(CTARGET)
222 $(MAKE) $(MAKEOPT) -f mod_auth_anon.mak CFG="mod_auth_anon - Win32 $(LONG)" RECURSE=0 $(CTARGET)
223 $(MAKE) $(MAKEOPT) -f mod_auth_dbm.mak CFG="mod_auth_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
224 $(MAKE) $(MAKEOPT) -f mod_auth_digest.mak CFG="mod_auth_digest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
226 cd modules\arch\win32
227 $(MAKE) $(MAKEOPT) -f mod_isapi.mak CFG="mod_isapi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
230 $(MAKE) $(MAKEOPT) -f mod_file_cache.mak CFG="mod_file_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
233 $(MAKE) $(MAKEOPT) -f mod_dav.mak CFG="mod_dav - Win32 $(LONG)" RECURSE=0 $(CTARGET)
236 $(MAKE) $(MAKEOPT) -f mod_dav_fs.mak CFG="mod_dav_fs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
238 cd modules\experimental
239 $(MAKE) $(MAKEOPT) -f mod_cache.mak CFG="mod_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
240 $(MAKE) $(MAKEOPT) -f mod_disk_cache.mak CFG="mod_disk_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
241 $(MAKE) $(MAKEOPT) -f mod_mem_cache.mak CFG="mod_mem_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
242 $(MAKE) $(MAKEOPT) -f mod_dumpio.mak CFG="mod_dumpio - Win32 $(LONG)" RECURSE=0 $(CTARGET)
243 $(MAKE) $(MAKEOPT) -f mod_charset_lite.mak CFG="mod_charset_lite - Win32 $(LONG)" RECURSE=0 $(CTARGET)
244 $(MAKE) $(MAKEOPT) -f util_ldap.mak CFG="util_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
245 $(MAKE) $(MAKEOPT) -f mod_auth_ldap.mak CFG="mod_auth_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
248 !IF EXIST("srclib\zlib")
249 $(MAKE) $(MAKEOPT) -f mod_deflate.mak CFG="mod_deflate - Win32 $(LONG)" RECURSE=0 $(CTARGET)
251 $(MAKE) $(MAKEOPT) -f mod_ext_filter.mak CFG="mod_ext_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
252 $(MAKE) $(MAKEOPT) -f mod_include.mak CFG="mod_include - Win32 $(LONG)" RECURSE=0 $(CTARGET)
254 cd modules\generators
255 $(MAKE) $(MAKEOPT) -f mod_asis.mak CFG="mod_asis - Win32 $(LONG)" RECURSE=0 $(CTARGET)
256 $(MAKE) $(MAKEOPT) -f mod_autoindex.mak CFG="mod_autoindex - Win32 $(LONG)" RECURSE=0 $(CTARGET)
257 $(MAKE) $(MAKEOPT) -f mod_cgi.mak CFG="mod_cgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
258 $(MAKE) $(MAKEOPT) -f mod_info.mak CFG="mod_info - Win32 $(LONG)" RECURSE=0 $(CTARGET)
259 $(MAKE) $(MAKEOPT) -f mod_status.mak CFG="mod_status - Win32 $(LONG)" RECURSE=0 $(CTARGET)
262 $(MAKE) $(MAKEOPT) -f mod_mime.mak CFG="mod_mime - Win32 $(LONG)" RECURSE=0 $(CTARGET)
265 $(MAKE) $(MAKEOPT) -f mod_log_config.mak CFG="mod_log_config - Win32 $(LONG)" RECURSE=0 $(CTARGET)
266 $(MAKE) $(MAKEOPT) -f mod_log_forensic.mak CFG="mod_log_forensic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
267 $(MAKE) $(MAKEOPT) -f mod_logio.mak CFG="mod_logio - Win32 $(LONG)" RECURSE=0 $(CTARGET)
270 $(MAKE) $(MAKEOPT) -f mod_actions.mak CFG="mod_actions - Win32 $(LONG)" RECURSE=0 $(CTARGET)
271 $(MAKE) $(MAKEOPT) -f mod_alias.mak CFG="mod_alias - Win32 $(LONG)" RECURSE=0 $(CTARGET)
272 $(MAKE) $(MAKEOPT) -f mod_dir.mak CFG="mod_dir - Win32 $(LONG)" RECURSE=0 $(CTARGET)
273 $(MAKE) $(MAKEOPT) -f mod_imap.mak CFG="mod_imap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
274 $(MAKE) $(MAKEOPT) -f mod_negotiation.mak CFG="mod_negotiation - Win32 $(LONG)" RECURSE=0 $(CTARGET)
275 $(MAKE) $(MAKEOPT) -f mod_rewrite.mak CFG="mod_rewrite - Win32 $(LONG)" RECURSE=0 $(CTARGET)
276 $(MAKE) $(MAKEOPT) -f mod_speling.mak CFG="mod_speling - Win32 $(LONG)" RECURSE=0 $(CTARGET)
277 $(MAKE) $(MAKEOPT) -f mod_userdir.mak CFG="mod_userdir - Win32 $(LONG)" RECURSE=0 $(CTARGET)
278 $(MAKE) $(MAKEOPT) -f mod_vhost_alias.mak CFG="mod_vhost_alias - Win32 $(LONG)" RECURSE=0 $(CTARGET)
281 $(MAKE) $(MAKEOPT) -f mod_cern_meta.mak CFG="mod_cern_meta - Win32 $(LONG)" RECURSE=0 $(CTARGET)
282 $(MAKE) $(MAKEOPT) -f mod_env.mak CFG="mod_env - Win32 $(LONG)" RECURSE=0 $(CTARGET)
283 $(MAKE) $(MAKEOPT) -f mod_expires.mak CFG="mod_expires - Win32 $(LONG)" RECURSE=0 $(CTARGET)
284 $(MAKE) $(MAKEOPT) -f mod_headers.mak CFG="mod_headers - Win32 $(LONG)" RECURSE=0 $(CTARGET)
285 $(MAKE) $(MAKEOPT) -f mod_mime_magic.mak CFG="mod_mime_magic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
286 $(MAKE) $(MAKEOPT) -f mod_setenvif.mak CFG="mod_setenvif - Win32 $(LONG)" RECURSE=0 $(CTARGET)
287 $(MAKE) $(MAKEOPT) -f mod_unique_id.mak CFG="mod_unique_id - Win32 $(LONG)" RECURSE=0 $(CTARGET)
288 $(MAKE) $(MAKEOPT) -f mod_usertrack.mak CFG="mod_usertrack - Win32 $(LONG)" RECURSE=0 $(CTARGET)
289 $(MAKE) $(MAKEOPT) -f mod_version.mak CFG="mod_version - Win32 $(LONG)" RECURSE=0 $(CTARGET)
292 $(MAKE) $(MAKEOPT) -f mod_proxy.mak CFG="mod_proxy - Win32 $(LONG)" RECURSE=0 $(CTARGET)
293 $(MAKE) $(MAKEOPT) -f mod_proxy_connect.mak CFG="mod_proxy_connect - Win32 $(LONG)" RECURSE=0 $(CTARGET)
294 $(MAKE) $(MAKEOPT) -f mod_proxy_ftp.mak CFG="mod_proxy_ftp - Win32 $(LONG)" RECURSE=0 $(CTARGET)
295 $(MAKE) $(MAKEOPT) -f mod_proxy_http.mak CFG="mod_proxy_http - Win32 $(LONG)" RECURSE=0 $(CTARGET)
297 !IF EXIST("srclib\openssl")
299 $(MAKE) $(MAKEOPT) -f mod_ssl.mak CFG="mod_ssl - Win32 $(LONG)" RECURSE=0 $(CTARGET) .\$(LONG)\mod_ssl.so
302 $(MAKE) $(MAKEOPT) -f abs.mak CFG="abs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
306 $(MAKE) $(MAKEOPT) -f ab.mak CFG="ab - Win32 $(LONG)" RECURSE=0 $(CTARGET)
307 $(MAKE) $(MAKEOPT) -f htdbm.mak CFG="htdbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
308 $(MAKE) $(MAKEOPT) -f htdigest.mak CFG="htdigest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
309 $(MAKE) $(MAKEOPT) -f htpasswd.mak CFG="htpasswd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
310 $(MAKE) $(MAKEOPT) -f httxt2dbm.mak CFG="httxt2dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
311 $(MAKE) $(MAKEOPT) -f logresolve.mak CFG="logresolve - Win32 $(LONG)" RECURSE=0 $(CTARGET)
312 $(MAKE) $(MAKEOPT) -f rotatelogs.mak CFG="rotatelogs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
315 $(MAKE) $(MAKEOPT) -f ApacheMonitor.mak CFG="ApacheMonitor - Win32 $(LONG)" RECURSE=0 $(CTARGET)
316 $(MAKE) $(MAKEOPT) -f wintty.mak CFG="wintty - Win32 $(LONG)" RECURSE=0 $(CTARGET)
319 !ELSEIF EXIST("Apache.sln")
322 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/clean" _build
325 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug CTARGET="/clean" _build
328 echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
329 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project BuildBin
330 !IF EXIST("srclib\openssl")
331 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_ssl
332 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project abs
334 !IF EXIST("srclib\zlib")
335 devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_deflate
341 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/CLEAN" _build
344 @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug CTARGET="/CLEAN" _build
347 @echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
348 @msdev Apache.dsw /USEENV /MAKE \
349 "BuildBin - Win32 $(LONG)" $(CTARGET)
350 !IF "$(CTARGET)" == "/CLEAN"
352 @$(MAKE) $(MAKEOPT) -f build\modules.mk.win clean \
353 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=.
356 !IF EXIST("srclib\openssl")
357 @msdev Apache.dsw /USEENV /MAKE \
358 "mod_ssl - Win32 $(LONG)" \
359 "abs - Win32 $(LONG)" /NORECURSE $(CTARGET)
361 !IF EXIST("srclib\zlib")
362 @msdev Apache.dsw /USEENV /MAKE \
363 "mod_deflate - Win32 $(LONG)" /NORECURSE $(CTARGET)
370 copy $(LONG)\Apache.$(src_exe) "$(inst_exe)" <.y
371 copy $(LONG)\libhttpd.$(src_dll) "$(inst_dll)" <.y
372 copy srclib\apr\$(LONG)\libapr.$(src_dll) "$(inst_dll)" <.y
373 copy srclib\apr-iconv\$(LONG)\libapriconv.$(src_dll) "$(inst_dll)" <.y
374 copy srclib\apr-util\$(LONG)\libaprutil.$(src_dll) "$(inst_dll)" <.y
375 copy modules\aaa\$(LONG)\mod_access.$(src_so) "$(inst_so)" <.y
376 copy modules\aaa\$(LONG)\mod_auth.$(src_so) "$(inst_so)" <.y
377 copy modules\aaa\$(LONG)\mod_auth_anon.$(src_so) "$(inst_so)" <.y
378 copy modules\aaa\$(LONG)\mod_auth_dbm.$(src_so) "$(inst_so)" <.y
379 copy modules\aaa\$(LONG)\mod_auth_digest.$(src_so) "$(inst_so)" <.y
380 copy modules\arch\win32\$(LONG)\mod_isapi.$(src_so) "$(inst_so)" <.y
381 copy modules\cache\$(LONG)\mod_file_cache.$(src_so) "$(inst_so)" <.y
382 copy modules\dav\fs\$(LONG)\mod_dav_fs.$(src_so) "$(inst_so)" <.y
383 copy modules\dav\main\$(LONG)\mod_dav.$(src_so) "$(inst_so)" <.y
384 copy modules\experimental\$(LONG)\mod_cache.$(src_so) "$(inst_so)" <.y
385 copy modules\experimental\$(LONG)\mod_disk_cache.$(src_so) "$(inst_so)" <.y
386 copy modules\experimental\$(LONG)\mod_mem_cache.$(src_so) "$(inst_so)" <.y
387 copy modules\experimental\$(LONG)\mod_charset_lite.$(src_so) "$(inst_so)" <.y
388 copy modules\experimental\$(LONG)\mod_dumpio.$(src_so) "$(inst_so)" <.y
389 copy modules\experimental\$(LONG)\util_ldap.$(src_so) "$(inst_so)" <.y
390 copy modules\experimental\$(LONG)\mod_auth_ldap.$(src_so) "$(inst_so)" <.y
391 !IF EXIST("srclib\zlib")
392 copy modules\filters\$(LONG)\mod_deflate.$(src_so) "$(inst_so)" <.y
393 !IF EXIST("srclib\zlib\zlib1.$(src_dll)")
394 copy srclib\zlib\zlib1.$(src_dll) "$(inst_dll)" <.y
397 copy modules\filters\$(LONG)\mod_ext_filter.$(src_so) "$(inst_so)" <.y
398 copy modules\filters\$(LONG)\mod_include.$(src_so) "$(inst_so)" <.y
399 copy modules\generators\$(LONG)\mod_asis.$(src_so) "$(inst_so)" <.y
400 copy modules\generators\$(LONG)\mod_autoindex.$(src_so) "$(inst_so)" <.y
401 copy modules\generators\$(LONG)\mod_cgi.$(src_so) "$(inst_so)" <.y
402 copy modules\generators\$(LONG)\mod_info.$(src_so) "$(inst_so)" <.y
403 copy modules\generators\$(LONG)\mod_status.$(src_so) "$(inst_so)" <.y
404 copy modules\http\$(LONG)\mod_mime.$(src_so) "$(inst_so)" <.y
405 copy modules\loggers\$(LONG)\mod_log_config.$(src_so) "$(inst_so)" <.y
406 copy modules\loggers\$(LONG)\mod_log_forensic.$(src_so) "$(inst_so)" <.y
407 copy modules\loggers\$(LONG)\mod_logio.$(src_so) "$(inst_so)" <.y
408 copy modules\mappers\$(LONG)\mod_actions.$(src_so) "$(inst_so)" <.y
409 copy modules\mappers\$(LONG)\mod_alias.$(src_so) "$(inst_so)" <.y
410 copy modules\mappers\$(LONG)\mod_dir.$(src_so) "$(inst_so)" <.y
411 copy modules\mappers\$(LONG)\mod_imap.$(src_so) "$(inst_so)" <.y
412 copy modules\mappers\$(LONG)\mod_negotiation.$(src_so) "$(inst_so)" <.y
413 copy modules\mappers\$(LONG)\mod_rewrite.$(src_so) "$(inst_so)" <.y
414 copy modules\mappers\$(LONG)\mod_speling.$(src_so) "$(inst_so)" <.y
415 copy modules\mappers\$(LONG)\mod_userdir.$(src_so) "$(inst_so)" <.y
416 copy modules\mappers\$(LONG)\mod_vhost_alias.$(src_so) "$(inst_so)" <.y
417 copy modules\metadata\$(LONG)\mod_cern_meta.$(src_so) "$(inst_so)" <.y
418 copy modules\metadata\$(LONG)\mod_env.$(src_so) "$(inst_so)" <.y
419 copy modules\metadata\$(LONG)\mod_expires.$(src_so) "$(inst_so)" <.y
420 copy modules\metadata\$(LONG)\mod_headers.$(src_so) "$(inst_so)" <.y
421 copy modules\metadata\$(LONG)\mod_mime_magic.$(src_so) "$(inst_so)" <.y
422 copy modules\metadata\$(LONG)\mod_setenvif.$(src_so) "$(inst_so)" <.y
423 copy modules\metadata\$(LONG)\mod_unique_id.$(src_so) "$(inst_so)" <.y
424 copy modules\metadata\$(LONG)\mod_usertrack.$(src_so) "$(inst_so)" <.y
425 copy modules\metadata\$(LONG)\mod_version.$(src_so) "$(inst_so)" <.y
426 copy modules\proxy\$(LONG)\mod_proxy.$(src_so) "$(inst_so)" <.y
427 copy modules\proxy\$(LONG)\mod_proxy_connect.$(src_so) "$(inst_so)" <.y
428 copy modules\proxy\$(LONG)\mod_proxy_ftp.$(src_so) "$(inst_so)" <.y
429 copy modules\proxy\$(LONG)\mod_proxy_http.$(src_so) "$(inst_so)" <.y
430 !IF EXIST("srclib\openssl")
431 copy modules\ssl\$(LONG)\mod_ssl.$(src_so) "$(inst_so)" <.y
432 $(quiet)copy srclib\openssl\$(SSLBIN)\openssl.$(src_exe) "$(inst_exe)" <.y
433 $(quiet)copy srclib\openssl\$(SSLBIN)\libeay32.$(src_dll) "$(inst_dll)" <.y
434 $(quiet)copy srclib\openssl\$(SSLBIN)\ssleay32.$(src_dll) "$(inst_dll)" <.y
435 copy support\$(LONG)\abs.$(src_exe) "$(inst_exe)\ab.$(src_exe)" <.y
437 copy support\$(LONG)\ab.$(src_exe) "$(inst_exe)" <.y
439 copy support\$(LONG)\htdbm.$(src_exe) "$(inst_exe)" <.y
440 copy support\$(LONG)\htdigest.$(src_exe) "$(inst_exe)" <.y
441 copy support\$(LONG)\htpasswd.$(src_exe) "$(inst_exe)" <.y
442 copy support\$(LONG)\httxt2dbm.$(src_exe) "$(inst_exe)" <.y
443 copy support\$(LONG)\logresolve.$(src_exe) "$(inst_exe)" <.y
444 copy support\$(LONG)\rotatelogs.$(src_exe) "$(inst_exe)" <.y
445 copy support\win32\$(LONG)\ApacheMonitor.$(src_exe) "$(inst_exe)" <.y
446 copy support\win32\$(LONG)\wintty.$(src_exe) "$(inst_exe)" <.y
448 # First we create the tree and populate the README so that
449 # whatever happens, all licensing has already propagated.
450 # Then repeatedly invoke the _copybin build to copy the
451 # real binaries, then pdb symbols, anf finally dbg syms.
452 # Then hit docs of various sorts, then includes and libs,
453 # and finally do the .conf magic.
459 -mkdir "$(INSTDIR)\bin"
460 -mkdir "$(INSTDIR)\bin\iconv"
461 -mkdir "$(INSTDIR)\cgi-bin"
462 -mkdir "$(INSTDIR)\conf"
463 -mkdir "$(INSTDIR)\error"
464 -mkdir "$(INSTDIR)\htdocs"
465 -mkdir "$(INSTDIR)\manual"
466 -mkdir "$(INSTDIR)\icons"
467 -mkdir "$(INSTDIR)\include"
468 -mkdir "$(INSTDIR)\lib"
469 -mkdir "$(INSTDIR)\logs"
470 -mkdir "$(INSTDIR)\modules"
471 -mkdir "$(INSTDIR)\proxy"
472 -mkdir "$(INSTDIR)\symbols"
473 -mkdir "$(INSTDIR)\symbols\exe"
474 -mkdir "$(INSTDIR)\symbols\dll"
475 -mkdir "$(INSTDIR)\symbols\so"
476 copy ABOUT_APACHE "$(INSTDIR)\ABOUT_APACHE.txt" <.y
477 copy CHANGES "$(INSTDIR)\CHANGES.txt" <.y
478 copy INSTALL "$(INSTDIR)\INSTALL.txt" <.y
479 copy LICENSE "$(INSTDIR)\LICENSE.txt" <.y
480 copy NOTICE "$(INSTDIR)\NOTICE.txt" <.y
481 copy README "$(INSTDIR)\README.txt" <.y
482 !IF EXIST("srclib\openssl")
483 copy srclib\openssl\apps\openssl.cnf "$(INSTDIR)\conf\openssl.cnf" <.y
484 type << >> "$(INSTDIR)\NOTICE.txt"
486 This binary distribution includes cryptographic software written by
487 Eric Young (eay@cryptsoft.com), software written by Tim Hudson
488 (tjh@cryptsoft.com), and software developed by the OpenSSL Project
489 for use in the OpenSSL Toolkit <http://www.openssl.org/>.
491 -awk -f <<script.awk < "srclib\openssl\LICENSE" >> "$(INSTDIR)\LICENSE.txt"
494 print "For the libeay32.dll, ssleay32.dll and openssl.exe components:";
496 while ( getline > 0 ) {
501 copy << + srclib\openssl\NEWS "$(INSTDIR)\OPENSSL-NEWS.txt" <.y
503 Apache HTTP Server 2.0 Limited OpenSSL Distribution
505 This binary distribution includes the minimal components of OpenSSL required
506 to support mod_ssl for Apache HTTP Server version 2.0 (details are listed
507 in OPENSSL-README.txt.) For the complete list of CHANGES to this and later
508 versions of OpenSSL, please refer to the definative source,
509 <http://www.openssl.org/news/changelog.html>, or see the CHANGES file in the
510 full binary or source distribution package from <http://www.openssl.org/>.
512 These OpenSSL binaries were built for distribution from the U.S. without
513 support for the patented encryption methods IDEA, MDC-2 or RC5.
515 --------------------------------------------------------------------------------
517 copy << + srclib\openssl\README "$(INSTDIR)\OPENSSL-README.txt" <.y
519 Apache HTTP Server 2.0 Limited OpenSSL Distribution
521 This binary installation of OpenSSL is a limited distribution of the
522 files derived from the OpenSSL project:
524 LICENSE.txt (includes openssl LICENSE)
532 These are the minimal libraries and tools required to use mod_ssl as
533 distributed with Apache HTTP Server version 2.0. No library link files,
534 headers or sources are distributed with this binary distribution. Please
535 refer to the <http://www.openssl.org/> site for complete source or binary
538 These OpenSSL binaries were built for distribution from the U.S. without
539 support for the patented encryption methods IDEA, MDC-2 or RC5.
541 The Apache HTTP Project only supports the binary distribution of these files
542 and development of the mod_ssl module. We cannot provide support assistance
543 for using or configuring the OpenSSL package or these modules. Please refer
544 all installation and configuration questions to the appropriate forum,
545 such as the user supported lists, <http://httpd.apache.org/userslist.html>
546 the Apache HTTP Server user's list or <http://www.openssl.org/support/> the
547 OpenSSL support page.
549 --------------------------------------------------------------------------------
552 !IF EXIST("srclib\zlib")
553 type << >> "$(INSTDIR)\NOTICE.txt"
555 This binary distribution of mod_deflate.so includes zlib compression code
556 <http://www.gzip.org/zlib/> written by Jean-loup Gailly (jloup@gzip.org)
557 and Mark Adler (madler@alumni.caltech.edu) .
559 -awk -f <<script.awk < "srclib\zlib\README" >> "$(INSTDIR)\LICENSE.txt"
561 while ( getline > 0 ) {
562 if ( $$0 ~ /Copyright notice:/ ) {
564 print "For the mod_deflate zlib compression component:";
565 while ( getline > 0 && $$0 !~ /^[^ ]/ ) {
575 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=$(SHORT) LONG=$(LONG) \
576 _copybin src_exe=exe src_dll=dll src_so=so \
577 inst_exe="$(INSTDIR)\bin" \
578 inst_dll="$(INSTDIR)\bin" \
579 inst_so="$(INSTDIR)\modules"
580 $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=$(SHORT) LONG=$(LONG) \
581 _copybin src_exe=pdb src_dll=pdb src_so=pdb quiet="-" \
582 inst_exe="$(INSTDIR)\bin" \
583 inst_dll="$(INSTDIR)\bin" \
584 inst_so="$(INSTDIR)\modules"
586 $(MAKE) $(MAKEOPT) -f build\modules.mk.win install \
587 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=. \
588 INSTALL_DIR="$(INSTDIR)\bin\iconv"
590 copy docs\cgi-examples\printenv "$(INSTDIR)\cgi-bin\printenv.pl" <.y
591 -awk -f <<script.awk "docs/cgi-examples/printenv" > "$(INSTDIR)\cgi-bin\printenv.pl"
593 if ( "perl -e \"print $$^X;\"" | getline perlroot ) {
594 gsub( /\\/, "/", perlroot );
599 if ( $$0 !~ /^#!/ ) {
604 xcopy docs\error "$(INSTDIR)\error" /s /d < .a
605 xcopy docs\docroot "$(INSTDIR)\htdocs" /d < .a
606 xcopy docs\icons "$(INSTDIR)\icons" /s /d < .a
607 xcopy docs\manual "$(INSTDIR)\manual" /s /d < .a
608 xcopy srclib\pcre\pcre*.h "$(INSTDIR)\include" /d < .a
609 xcopy srclib\apr-util\xml\expat\lib\expat.h "$(INSTDIR)\include" /d < .a
610 xcopy srclib\apr\include\*.h "$(INSTDIR)\include" /d < .a
611 xcopy srclib\apr-util\include\*.h "$(INSTDIR)\include" /d < .a
612 xcopy include\*.h "$(INSTDIR)\include" /d < .a
613 copy srclib\apr\Lib$(SHORT)\apr.lib "$(INSTDIR)\lib" <.y
614 copy srclib\apr\Lib$(SHORT)\apr_src.pdb "$(INSTDIR)\lib" <.y
615 copy srclib\apr-util\Lib$(SHORT)\aprutil.lib "$(INSTDIR)\lib" <.y
616 copy srclib\apr-util\Lib$(SHORT)\aprutil_src.pdb "$(INSTDIR)\lib" <.y
617 copy srclib\pcre\Lib$(SHORT)\pcre.lib "$(INSTDIR)\lib" <.y
618 copy srclib\pcre\Lib$(SHORT)\pcre_src.pdb "$(INSTDIR)\lib" <.y
619 copy srclib\pcre\Lib$(SHORT)\pcreposix.lib "$(INSTDIR)\lib" <.y
620 copy srclib\pcre\Lib$(SHORT)\pcreposix_src.pdb "$(INSTDIR)\lib" <.y
621 copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml.lib "$(INSTDIR)\lib" <.y
622 copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml_src.pdb "$(INSTDIR)\lib" <.y
623 copy srclib\apr\$(LONG)\libapr.lib "$(INSTDIR)\lib" <.y
624 copy srclib\apr\$(LONG)\libapr.exp "$(INSTDIR)\lib" <.y
625 copy srclib\apr-iconv\$(LONG)\libapriconv.lib "$(INSTDIR)\lib" <.y
626 copy srclib\apr-iconv\$(LONG)\libapriconv.exp "$(INSTDIR)\lib" <.y
627 copy srclib\apr-util\$(LONG)\libaprutil.lib "$(INSTDIR)\lib" <.y
628 copy srclib\apr-util\$(LONG)\libaprutil.exp "$(INSTDIR)\lib" <.y
629 copy $(LONG)\libhttpd.exp "$(INSTDIR)\lib" <.y
630 copy $(LONG)\libhttpd.lib "$(INSTDIR)\lib" <.y
631 copy modules\dav\main\$(LONG)\mod_dav.exp "$(INSTDIR)\lib" <.y
632 copy modules\dav\main\$(LONG)\mod_dav.lib "$(INSTDIR)\lib" <.y
633 copy docs\conf\magic "$(INSTDIR)\conf\magic.default" <.y
634 if not exist "$(INSTDIR)\conf\magic" \
635 copy "$(INSTDIR)\conf\magic.default" "$(INSTDIR)\conf\magic"
636 copy docs\conf\mime.types "$(INSTDIR)\conf\mime.types.default" <.y
637 if not exist "$(INSTDIR)\conf\mime.types" \
638 copy "$(INSTDIR)\conf\mime.types.default" "$(INSTDIR)\conf\mime.types"
639 copy docs\conf\httpd-win.conf "$(INSTDIR)\conf\httpd.default.conf" <.y
640 -awk -f <<script.awk "docs/conf/httpd-win.conf" "$(INSTDIR)" > "$(INSTDIR)\conf\httpd.default.conf"
642 serverroot = ARGV[2];
644 gsub( /\\/, "/", serverroot );
646 gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
649 gsub( /@@ServerRoot@@/, serverroot );
650 gsub( /@@ServerName@@/, "$(SERVERNAME)" );
651 gsub( /@@Port@@/, "$(PORT)" );
655 if not exist "$(INSTDIR)\conf\httpd.conf" \
656 copy "$(INSTDIR)\conf\httpd.default.conf" "$(INSTDIR)\conf\httpd.conf"
657 !IF EXIST("srclib\openssl")
658 copy docs\conf\ssl-std.conf.in "$(INSTDIR)\conf\ssl.default.conf" <.y
659 -awk -f <<script.awk "docs/conf/ssl-std.conf.in" "$(INSTDIR)" > "$(INSTDIR)\conf\ssl.default.conf"
661 serverroot = ARGV[2];
663 gsub( /\\/, "/", serverroot );
665 gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
668 gsub( /@@ServerRoot@@/, serverroot );
669 gsub( /443/, "$(SSLPORT)" );
670 gsub( /SSLMutex file:@exp_runtimedir@\/ssl_mutex/, "SSLMutex default" );
671 gsub( /@exp_runtimedir@/, "logs" );
672 gsub( /@exp_htdocsdir@/, serverroot "/htdocs" );
673 gsub( /@exp_logfiledir@/, "logs" );
674 gsub( /@exp_sysconfdir@/, "conf" );
675 gsub( /@exp_cgidir@/, serverroot "/cgi" );
679 if not exist "$(INSTDIR)\conf\ssl.conf" \
680 copy "$(INSTDIR)\conf\ssl.default.conf" "$(INSTDIR)\conf\ssl.conf"
682 -awk -f <<script.awk "support/dbmmanage.in" >"$(INSTDIR)\bin\dbmmanage.pl"
683 { if ( $$0 ~ /^BEGIN \{ @AnyDBM_File::/ ) {
684 sub( /ISA = qw\(.*\)/, "ISA = qw(SDBM_File)" );
686 if ( $$0 !~ /^#!@perlbin@/ )