bottleneck testcase based on rubbos
[bottlenecks.git] / rubbos / app / httpd-2.0.64 / Makefile.win
1 # Makefile for Windows NT and Windows 95/98/2000
2
3 # Targets are:
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
12 #
13 # The following install defaults may be customized;
14 #
15 #   Option      Default
16 #   INSTDIR     \Apache2
17 #   PORT        80
18 #   SSLPORT     443
19 #   SERVERNAME  localhost
20 #
21 # For example;
22 #
23 #   nmake -f Makefile.win PORT=80 INSTDIR="d:\Program Files\Apache" installr
24 #
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!
28
29 default: _apacher
30
31 !IF ("$(CTARGET)" == "") && EXIST("Apache.sln")
32 CTARGET=/build
33 !ENDIF
34
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!
39 !MESSAGE 
40 !ERROR Need srclib\  apr, apr-iconv and apr-util
41 !ENDIF
42
43 # Note; _tryssl: is only used by the msvc developer studio environment to 'fix up'
44 #       the build, since conditional dependencies aren't supported.
45 #
46 !IF EXIST("srclib\openssl")
47 !IF "$(LONG)" == "Debug"
48 SSLBIN=out32dll.dbg
49 !ELSE
50 SSLBIN=out32dll
51 !ENDIF
52
53 _tryssl:
54 !IF EXIST("modules\ssl\mod_ssl.mak")
55         cd modules\ssl
56         $(MAKE) $(MAKEOPT) -f mod_ssl.mak CFG="mod_ssl - Win32 $(LONG)" RECURSE=0 .\$(LONG)\mod_ssl.so
57         cd ..\..
58         cd support
59         $(MAKE) $(MAKEOPT) -f abs.mak CFG="abs - Win32 $(LONG)" RECURSE=0 .\$(LONG)\abs.exe
60         cd ..
61 !ELSEIF EXIST("Apache.sln")
62         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_ssl
63         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project abs
64 !ELSE
65         @msdev Apache.dsw /USEENV /MAKE \
66                 "mod_ssl - Win32 $(LONG)" \
67                 "abs - Win32 $(LONG)" /NORECURSE $(CTARGET)
68 !ENDIF
69
70 !ELSE
71 #     NOT EXIST("srclib\openssl")
72
73 _tryssl:
74         @echo -----
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/
80 !ENDIF
81
82 !IF EXIST("srclib\zlib")
83
84 _tryzlib:
85 !IF EXIST("modules\filters\mod_deflate.mak")
86         cd modules\filters
87         $(MAKE) $(MAKEOPT) -f mod_deflate.mak CFG="mod_deflate - Win32 $(LONG)" RECURSE=0 .\$(LONG)\mod_deflate.so
88         cd ..\..
89 !ELSEIF EXIST("Apache.sln")
90         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_deflate
91 !ELSE
92         @msdev Apache.dsw /USEENV /MAKE \
93                 "mod_deflate - Win32 $(LONG)" /NORECURSE $(CTARGET)
94 !ENDIF
95
96 !ELSE
97 #     NOT EXIST("srclib\zlib")
98
99 _tryzlib:
100         @echo -----
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.
104
105 !ENDIF
106
107 !IF "$(INSTDIR)" == ""
108 INSTDIR=\Apache2
109 !ENDIF
110 !IF "$(SERVERNAME)" == ""
111 SERVERNAME=localhost
112 !ENDIF
113 !IF "$(PORT)" == ""
114 PORT=80
115 !ENDIF 
116 !IF "$(SSLPORT)" == ""
117 SSLPORT=443
118 !ENDIF 
119
120 !IF "$(LONG)" == ""
121 !MESSAGE
122 !MESSAGE INSTDIR    = $(INSTDIR)
123 !MESSAGE SERVERNAME = $(SERVERNAME)
124 !MESSAGE PORT       = $(PORT)
125 !IF EXIST("srclib\openssl")
126 !MESSAGE SSLPORT    = $(SSLPORT)
127 !ENDIF
128 !MESSAGE
129 !MESSAGE To change these options use 'nmake -f Makefile.win [option=value]'
130 !MESSAGE Example: nmake -f Makefile.win PORT=8080
131 !MESSAGE
132 !MESSAGE
133 !ENDIF
134
135 !IFNDEF MAKEOPT
136 # Only default the behavior if MAKEOPT= is omitted
137 !IFDEF _NMAKE_VER
138 # Microsoft NMake options
139 MAKEOPT=-nologo
140 !ELSEIF "$(MAKE)" == "make"
141 # Borland make options?  Not really supported (yet)
142 MAKEOPT=-s -N
143 !ENDIF
144 !ENDIF
145
146 _dummy:
147
148 _browse:
149         cd Browse
150           bscmake.exe -nologo -Iu -o Apache.bsc *.sbr
151         cd ..
152
153 _apacher: 
154         @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release _build
155
156 _apached: 
157         @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   _build
158
159 installr: 
160         @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release _build _install
161
162 installd: 
163         @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   _build _install
164
165 clean:  _cleanr _cleand
166         -if exist Browse\. rd /s Browse < << > nul
167 y
168 <<
169
170 !IF EXIST("Apache.mak")
171
172 _cleanr:
173         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET=CLEAN _build
174
175 _cleand:  
176         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   CTARGET=CLEAN _build
177
178 _build:
179         echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
180         cd srclib\apr
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)
183         cd ..\..
184         cd srclib\apr-iconv
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=.
190 !ELSE
191         cd ccs
192         $(MAKE) $(MAKEOPT) -f Makefile.win all \
193                 BUILD_MODE=$(LONG) BIND_MODE=shared
194         cd ..\ces
195         $(MAKE) $(MAKEOPT) -f Makefile.win all \
196                 BUILD_MODE=$(LONG) BIND_MODE=shared
197         cd ..
198 !ENDIF
199         cd ..\..
200         cd srclib\apr-util\uri
201          $(MAKE) $(MAKEOPT) -f gen_uri_delims.mak  CFG="gen_uri_delims - Win32 $(LONG)" RECURSE=0 $(CTARGET)
202         cd ..\..\..
203         cd srclib\apr-util\xml\expat\lib
204          $(MAKE) $(MAKEOPT) -f xml.mak             CFG="xml - Win32 $(LONG)" RECURSE=0 $(CTARGET)
205         cd ..\..\..
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)
208         cd ..\..
209         cd srclib\pcre
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)
213         cd ..\..
214         cd server
215          $(MAKE) $(MAKEOPT) -f gen_test_char.mak   CFG="gen_test_char - Win32 $(LONG)" RECURSE=0 $(CTARGET)
216         cd ..
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)
219         cd modules\aaa
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)
225         cd ..\..
226         cd modules\arch\win32
227          $(MAKE) $(MAKEOPT) -f mod_isapi.mak       CFG="mod_isapi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
228         cd ..\..\..
229         cd modules\cache
230          $(MAKE) $(MAKEOPT) -f mod_file_cache.mak  CFG="mod_file_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
231         cd ..\..
232         cd modules\dav\main
233          $(MAKE) $(MAKEOPT) -f mod_dav.mak         CFG="mod_dav - Win32 $(LONG)" RECURSE=0 $(CTARGET)
234         cd ..\..\..
235         cd modules\dav\fs
236          $(MAKE) $(MAKEOPT) -f mod_dav_fs.mak      CFG="mod_dav_fs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
237         cd ..\..\..
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)
246         cd ..\..
247         cd modules\filters
248 !IF EXIST("srclib\zlib")
249          $(MAKE) $(MAKEOPT) -f mod_deflate.mak     CFG="mod_deflate - Win32 $(LONG)" RECURSE=0 $(CTARGET)
250 !ENDIF
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)
253         cd ..\..
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)
260         cd ..\..
261         cd modules\http
262          $(MAKE) $(MAKEOPT) -f mod_mime.mak        CFG="mod_mime - Win32 $(LONG)" RECURSE=0 $(CTARGET)
263         cd ..\..
264         cd modules\loggers
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)
268         cd ..\..
269         cd modules\mappers
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)
279         cd ..\..
280         cd modules\metadata
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)
290         cd ..\..
291         cd modules\proxy
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)
296         cd ..\..
297 !IF EXIST("srclib\openssl")
298         cd modules\ssl
299          $(MAKE) $(MAKEOPT) -f mod_ssl.mak         CFG="mod_ssl - Win32 $(LONG)" RECURSE=0 $(CTARGET) .\$(LONG)\mod_ssl.so
300         cd ..\..
301         cd support
302          $(MAKE) $(MAKEOPT) -f abs.mak             CFG="abs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
303         cd ..
304 !ENDIF
305         cd support
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)
313         cd ..
314         cd support\win32
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)
317         cd ..\..
318
319 !ELSEIF EXIST("Apache.sln")
320
321 _cleanr:  
322         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/clean" _build
323
324 _cleand:  
325         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   CTARGET="/clean" _build
326
327 _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
333 !ENDIF
334 !IF EXIST("srclib\zlib")
335         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_deflate
336 !ENDIF
337
338 !ELSE
339
340 _cleanr:  
341         @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/CLEAN" _build
342
343 _cleand:  
344         @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   CTARGET="/CLEAN" _build
345
346 _build:
347         @echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
348         @msdev Apache.dsw /USEENV /MAKE \
349                 "BuildBin - Win32 $(LONG)" $(CTARGET)
350 !IF "$(CTARGET)" == "/CLEAN"
351         @cd srclib\apr-iconv
352         @$(MAKE) $(MAKEOPT) -f build\modules.mk.win clean \
353                 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=.
354         @cd ..\..
355 !ENDIF
356 !IF EXIST("srclib\openssl")
357         @msdev Apache.dsw /USEENV /MAKE \
358                 "mod_ssl - Win32 $(LONG)" \
359                 "abs - Win32 $(LONG)" /NORECURSE $(CTARGET)
360 !ENDIF
361 !IF EXIST("srclib\zlib")
362         @msdev Apache.dsw /USEENV /MAKE \
363                 "mod_deflate - Win32 $(LONG)" /NORECURSE $(CTARGET)
364 !ENDIF
365
366 !ENDIF
367
368
369 _copybin:
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
395 !ENDIF
396 !ENDIF
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
436 !ELSE
437         copy support\$(LONG)\ab.$(src_exe)                      "$(inst_exe)" <.y
438 !ENDIF
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
447
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.
454 #
455 _install:
456         echo Y >.y
457         echo A >.A
458         -mkdir "$(INSTDIR)"
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"
485
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/>.
490 <<
491         -awk -f <<script.awk < "srclib\openssl\LICENSE" >> "$(INSTDIR)\LICENSE.txt"
492 BEGIN {
493     print "";
494     print "For the libeay32.dll, ssleay32.dll and openssl.exe components:";
495     print "";
496     while ( getline > 0 ) {
497         print $$0;
498    }
499 }
500 <<
501         copy << + srclib\openssl\NEWS "$(INSTDIR)\OPENSSL-NEWS.txt" <.y
502
503  Apache HTTP Server 2.0 Limited OpenSSL Distribution
504
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/>.
511
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.
514
515 --------------------------------------------------------------------------------
516 <<
517         copy << + srclib\openssl\README "$(INSTDIR)\OPENSSL-README.txt" <.y
518
519  Apache HTTP Server 2.0 Limited OpenSSL Distribution
520
521  This binary installation of OpenSSL is a limited distribution of the
522  files derived from the OpenSSL project:
523
524    LICENSE.txt (includes openssl LICENSE)
525    OPENSSL-NEWS.txt
526    OPENSSL-README.txt
527    conf\openssl.cnf
528    bin\libeay32.dll
529    bin\ssleay32.dll
530    bin\openssl.exe
531
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 
536  distributions.
537
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.
540
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.
548
549 --------------------------------------------------------------------------------
550 <<
551 !ENDIF
552 !IF EXIST("srclib\zlib")
553         type << >> "$(INSTDIR)\NOTICE.txt"
554
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) .
558 <<
559         -awk -f <<script.awk < "srclib\zlib\README" >> "$(INSTDIR)\LICENSE.txt"
560 BEGIN {
561     while ( getline > 0 ) {
562         if ( $$0 ~ /Copyright notice:/ ) {
563             print "";
564             print "For the mod_deflate zlib compression component:";
565             while ( getline > 0 && $$0 !~ /^[^ ]/ ) {
566                 print $$0;
567             }
568             exit 0;
569         }
570     }
571     exit 1;
572 }
573 <<
574 !ENDIF
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"
585         cd srclib\apr-iconv
586         $(MAKE) $(MAKEOPT) -f build\modules.mk.win install \
587                 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=. \
588                 INSTALL_DIR="$(INSTDIR)\bin\iconv"
589         cd ..\..
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"
592     BEGIN { 
593         if ( "perl -e \"print $$^X;\"" | getline perlroot ) {
594             gsub( /\\/, "/", perlroot );
595             print "#!" perlroot;
596         }
597     }
598     {
599         if ( $$0 !~ /^#!/ ) {
600             print $$0;
601         }
602     }
603 <<
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"
641     BEGIN { 
642         serverroot = ARGV[2];
643         delete ARGV[2];
644         gsub( /\\/, "/", serverroot );
645         "cd" | getline root;
646         gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
647     }
648     {
649         gsub( /@@ServerRoot@@/, serverroot );
650         gsub( /@@ServerName@@/, "$(SERVERNAME)" );
651         gsub( /@@Port@@/, "$(PORT)" );
652         print $$0;
653     }
654 <<
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"
660     BEGIN { 
661         serverroot = ARGV[2];
662         delete ARGV[2];
663         gsub( /\\/, "/", serverroot );
664         "cd" | getline root;
665         gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
666     }
667     {
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" );
676         print $$0;
677     }
678 <<
679         if not exist "$(INSTDIR)\conf\ssl.conf" \
680             copy "$(INSTDIR)\conf\ssl.default.conf" "$(INSTDIR)\conf\ssl.conf"
681 !ENDIF
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)" ); 
685       }
686       if ( $$0 !~ /^#!@perlbin@/ )
687           print $$0;
688     }
689 <<
690         del .y
691         del .a