]> granicus.if.org Git - apache/blob - Makefile.win
* Add the possibility to set a separate connection timeout for backend
[apache] / 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     /Apache2x
17 #   PORT        80
18 #   SSLPORT     443
19 #   DOMAINNAME  example.com
20 #   SERVERNAME  www.example.com
21 #   SERVERNAME  admin@example.com
22 #
23 #   ALL         (unset)     Includes additional modules for build testing
24 #
25 # Provide a DBD_LIST argument after configuring LIB and INCLUDE with
26 # the SDK paths of the corresponding client support libraries.
27 # Note that at this time, none of these are supported on win32, per say.
28 #
29 #     DBD_LIST="sqlite3 pgsql oracle mysql freetds"
30 #
31 # For example;
32 #
33 #   nmake -f Makefile.win PORT=80 INSTDIR="d:\Program Files\Apache" installr
34 #
35 # Be aware that certain awk's will not accept backslashed names,
36 # so the server root should be given in forward slashes (quoted),
37 # preferably with the drive designation!
38
39 !IF EXIST("httpd.vcproj") && ([devenv /help > NUL 2>&1] == 0) \
40     && !defined(USEMAK) && !defined(USEDSW)
41 USESLN=1
42 USEMAK=0
43 USEDSW=0
44 !ELSEIF EXIST("httpd.mak") && !defined(USEDSW)
45 USESLN=0
46 USEMAK=1
47 USEDSW=0
48 !ELSE
49 USESLN=0
50 USEMAK=0
51 USEDSW=1
52 !ENDIF
53
54 default: _apacher
55
56 !IF ("$(CTARGET)" == "") && ($(USESLN) == 1)
57 CTARGET=/build
58 !ENDIF
59
60 !IF !EXIST("srclib\apr") || !EXIST("srclib\apr-util") || !EXIST("srclib\apr-iconv")
61 !MESSAGE Please check out or download and unpack the Apache Portability Runtime
62 !MESSAGE sources (apr, apr-iconv and apr-util) into your srclib dir.
63 !MESSAGE Apache cannot build without these libraries!
64 !MESSAGE 
65 !ERROR Need srclib\  apr, apr-iconv and apr-util
66 !ENDIF
67
68 # Note; _tryssl: is only used by the msvc developer studio environment to 'fix up'
69 #       the build, since conditional dependencies aren't supported.
70 #
71 !IF EXIST("srclib\openssl")
72 !IF "$(LONG)" == "Debug" && EXIST("srclib\openssl\out32dll.dbg\openssl.exe")
73 SSLBIN=out32dll.dbg
74 !ELSE
75 SSLBIN=out32dll
76 !ENDIF
77
78 _tryssl:
79 !IF $(USEMAK) == 1
80         cd modules\ssl
81         $(MAKE) $(MAKEOPT) -f mod_ssl.mak CFG="mod_ssl - Win32 $(LONG)" RECURSE=0 $(CTARGET)
82         cd ..\..
83         cd support
84         $(MAKE) $(MAKEOPT) -f abs.mak CFG="abs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
85         cd ..
86 !ELSEIF $(USESLN) == 1
87         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_ssl
88         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project abs
89 !ELSE
90         @msdev Apache.dsw /USEENV /MAKE \
91                 "mod_ssl - Win32 $(LONG)" \
92                 "abs - Win32 $(LONG)" /NORECURSE $(CTARGET)
93 !ENDIF
94
95 !ELSE
96 #     NOT EXIST("srclib\openssl")
97
98 _tryssl:
99         @echo -----
100         @echo mod_ssl and ab/ssl will not build unless openssl is installed
101         @echo in srclib\openssl.  They must be precompiled using the 
102         @echo ms/ntdll.mak file, see srclib\openssl\INSTALL.W32.  The most
103         @echo recent version confirmed to build with mod_ssl and ab is 0.9.8d.
104         @echo Available from http://www.openssl.org/
105 !ENDIF
106
107 !IF EXIST("srclib\zlib")
108
109 _tryzlib:
110 !IF $(USEMAK) == 1
111         cd modules\filters
112         $(MAKE) $(MAKEOPT) -f mod_deflate.mak CFG="mod_deflate - Win32 $(LONG)" RECURSE=0 $(CTARGET)
113         cd ..\..
114 !ELSEIF $(USESLN) == 1
115         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_deflate
116 !ELSE
117         @msdev Apache.dsw /USEENV /MAKE \
118                 "mod_deflate - Win32 $(LONG)" /NORECURSE $(CTARGET)
119 !ENDIF
120
121 !ELSE
122 #     NOT EXIST("srclib\zlib")
123
124 _tryzlib:
125         @echo -----
126         @echo mod_deflate will not build unless zlib is installed in srclib\zlib.  
127         @echo Version 1.2.1 and later available from http://www.gzip.org/zlib/
128         @echo built w/ nmake -f win32/Makefile.msc will satisfy this requirement.
129
130 !ENDIF
131
132
133 !IFDEF DBD_LIST
134
135 _trydbd:
136 !IF $(USEMAK) == 1
137         cd srclib\apr-util\dbd
138         for %d in ($(DBD_LIST)) do \
139           $(MAKE) $(MAKEOPT) -f apr_dbd_%d.mak CFG="apr_dbd_%d - Win32 $(LONG)" RECURSE=0 $(CTARGET)
140         cd ..\..\..
141 !ELSEIF $(USESLN) == 1
142         for %d in ($(DBD_LIST)) do \
143           devenv Apache.sln /useenv $(CTARGET) $(LONG) /project apr_dbd_%d
144 !ELSE
145         @for %d in ($(DBD_LIST)) do \
146           msdev Apache.dsw /USEENV /MAKE \
147                 "apr_dbd_%d - Win32 $(LONG)" /NORECURSE $(CTARGET)
148 !ENDIF
149
150 !ELSE
151 #     no DBD_LIST
152
153 _trydbd:
154         @echo -----
155         @echo apr_dbd drivers will not build unless DBD_LIST is set to the list
156         @echo of all the client modules available in the LIB and INCLUDE path.
157
158 !ENDIF
159
160
161 !IF "$(INSTDIR)" == ""
162 INSTDIR=\Apache2x
163 !ENDIF
164 !IF "$(DOMAINNAME)" == ""
165 DOMAINNAME=example.com
166 !ENDIF 
167 !IF "$(SERVERNAME)" == ""
168 SERVERNAME=www.$(DOMAINNAME)
169 !ENDIF
170 !IF "$(SERVERADMIN)" == ""
171 SERVERADMIN=admin@$(DOMAINNAME)
172 !ENDIF
173 !IF "$(PORT)" == ""
174 PORT=80
175 !ENDIF 
176 !IF "$(SSLPORT)" == ""
177 SSLPORT=443
178 !ENDIF 
179
180 !IF "$(LONG)" == ""
181 !MESSAGE
182 !MESSAGE INSTDIR     = $(INSTDIR)
183 !MESSAGE DOMAINNAME  = $(DOMAINNAME)
184 !MESSAGE SERVERNAME  = $(SERVERNAME)
185 !MESSAGE SERVERADMIN = $(SERVERADMIN)
186 !MESSAGE PORT        = $(PORT)
187 !IF EXIST("srclib\openssl")
188 !MESSAGE SSLPORT     = $(SSLPORT)
189 !ENDIF
190 !MESSAGE
191 !MESSAGE To change these options use 'nmake -f Makefile.win [option=value]'
192 !MESSAGE Example: nmake -f Makefile.win PORT=8080
193 !MESSAGE
194 !MESSAGE
195 !ENDIF
196
197 !IFNDEF MAKEOPT
198 # Only default the behavior if MAKEOPT= is omitted
199 !IFDEF _NMAKE_VER
200 # Microsoft NMake options
201 MAKEOPT=-nologo
202 !ELSEIF "$(MAKE)" == "make"
203 # Borland make options?  Not really supported (yet)
204 MAKEOPT=-s -N
205 !ENDIF
206 !ENDIF
207
208 _dummy:
209
210 _browse:
211         cd Browse
212           bscmake.exe -nologo -Iu -o Apache.bsc *.sbr
213         cd ..
214
215 _apacher: 
216         @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release _build
217
218 _apached: 
219         @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   _build
220
221 installr: 
222         @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release _build _install
223
224 installd: 
225         @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   _build _install
226
227 clean:  _cleanr _cleand
228         -if exist Browse\. rd /s Browse < << > nul
229 y
230 <<
231
232 !IF $(USEMAK) == 1
233
234 _cleanr:
235         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET=CLEAN _build
236
237 _cleand:  
238         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   CTARGET=CLEAN _build
239
240 _build:
241         echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
242         cd srclib\apr
243          $(MAKE) $(MAKEOPT) -f apr.mak             CFG="apr - Win32 $(LONG)" RECURSE=0 $(CTARGET)
244          $(MAKE) $(MAKEOPT) -f libapr.mak          CFG="libapr - Win32 $(LONG)" RECURSE=0 $(CTARGET)
245         cd ..\..
246         cd srclib\apr-iconv
247          $(MAKE) $(MAKEOPT) -f apriconv.mak  CFG="apriconv - Win32 $(LONG)" RECURSE=0 $(CTARGET)
248          $(MAKE) $(MAKEOPT) -f libapriconv.mak  CFG="libapriconv - Win32 $(LONG)" RECURSE=0 $(CTARGET)
249 !IF "$(CTARGET)" == "CLEAN"
250         $(MAKE) $(MAKEOPT) -f build\modules.mk.win clean \
251                 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=.
252 !ELSE
253         cd ccs
254         $(MAKE) $(MAKEOPT) -f Makefile.win all \
255                 BUILD_MODE=$(LONG) BIND_MODE=shared
256         cd ..\ces
257         $(MAKE) $(MAKEOPT) -f Makefile.win all \
258                 BUILD_MODE=$(LONG) BIND_MODE=shared
259         cd ..
260 !ENDIF
261         cd ..\..
262         cd srclib\apr-util\xml\expat\lib
263          $(MAKE) $(MAKEOPT) -f xml.mak             CFG="xml - Win32 $(LONG)" RECURSE=0 $(CTARGET)
264         cd ..\..\..
265          $(MAKE) $(MAKEOPT) -f aprutil.mak         CFG="aprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET)
266          $(MAKE) $(MAKEOPT) -f libaprutil.mak      CFG="libaprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET)
267         cd ldap
268          $(MAKE) $(MAKEOPT) -f apr_ldap.mak        CFG="apr_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
269         cd ..
270 !IFDEF DBD_LIST
271         cd dbd
272           for %d in ($(DBD_LIST)) do \
273             $(MAKE) $(MAKEOPT) -f apr_dbd_%d.mak   CFG="apr_dbd_%d - Win32 $(LONG)" RECURSE=0 $(CTARGET)
274         cd ..
275 !ENDIF
276         cd ..\..
277         cd srclib\pcre
278          $(MAKE) $(MAKEOPT) -f dftables.mak        CFG="dftables - Win32 $(LONG)" RECURSE=0 $(CTARGET)
279          $(MAKE) $(MAKEOPT) -f pcre.mak            CFG="pcre - Win32 $(LONG)" RECURSE=0 $(CTARGET)
280         cd ..\..
281         cd server
282          $(MAKE) $(MAKEOPT) -f gen_test_char.mak   CFG="gen_test_char - Win32 $(LONG)" RECURSE=0 $(CTARGET)
283         cd ..
284          $(MAKE) $(MAKEOPT) -f libhttpd.mak        CFG="libhttpd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
285          $(MAKE) $(MAKEOPT) -f httpd.mak           CFG="httpd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
286 # build ldap prior to authnz_ldap
287         cd modules\ldap
288          $(MAKE) $(MAKEOPT) -f mod_ldap.mak        CFG="mod_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
289         cd ..\..
290         cd modules\database
291          $(MAKE) $(MAKEOPT) -f mod_dbd.mak         CFG="mod_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
292         cd ..\..
293         cd modules\aaa
294          $(MAKE) $(MAKEOPT) -f mod_access_compat.mak CFG="mod_access_compat - Win32 $(LONG)" RECURSE=0 $(CTARGET)
295          $(MAKE) $(MAKEOPT) -f mod_auth_basic.mak  CFG="mod_auth_basic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
296          $(MAKE) $(MAKEOPT) -f mod_auth_digest.mak CFG="mod_auth_digest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
297          $(MAKE) $(MAKEOPT) -f mod_auth_form.mak   CFG="mod_auth_form - Win32 $(LONG)" RECURSE=0 $(CTARGET)
298          $(MAKE) $(MAKEOPT) -f mod_authn_anon.mak  CFG="mod_authn_anon - Win32 $(LONG)" RECURSE=0 $(CTARGET)
299          $(MAKE) $(MAKEOPT) -f mod_authn_core.mak  CFG="mod_authn_core - Win32 $(LONG)" RECURSE=0 $(CTARGET)
300          $(MAKE) $(MAKEOPT) -f mod_authn_dbd.mak   CFG="mod_authn_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
301          $(MAKE) $(MAKEOPT) -f mod_authn_dbm.mak   CFG="mod_authn_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
302          $(MAKE) $(MAKEOPT) -f mod_authn_default.mak CFG="mod_authn_default - Win32 $(LONG)" RECURSE=0 $(CTARGET)
303          $(MAKE) $(MAKEOPT) -f mod_authn_file.mak  CFG="mod_authn_file - Win32 $(LONG)" RECURSE=0 $(CTARGET)
304          $(MAKE) $(MAKEOPT) -f mod_authnz_ldap.mak CFG="mod_authnz_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
305          $(MAKE) $(MAKEOPT) -f mod_authz_core.mak  CFG="mod_authz_core - Win32 $(LONG)" RECURSE=0 $(CTARGET)
306          $(MAKE) $(MAKEOPT) -f mod_authz_dbd.mak   CFG="mod_authz_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
307          $(MAKE) $(MAKEOPT) -f mod_authz_dbm.mak   CFG="mod_authz_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
308          $(MAKE) $(MAKEOPT) -f mod_authz_default.mak CFG="mod_authz_default - Win32 $(LONG)" RECURSE=0 $(CTARGET)
309          $(MAKE) $(MAKEOPT) -f mod_authz_groupfile.mak CFG="mod_authz_groupfile - Win32 $(LONG)" RECURSE=0 $(CTARGET)
310          $(MAKE) $(MAKEOPT) -f mod_authz_host.mak  CFG="mod_authz_host - Win32 $(LONG)" RECURSE=0 $(CTARGET)
311          $(MAKE) $(MAKEOPT) -f mod_authz_owner.mak CFG="mod_authz_owner - Win32 $(LONG)" RECURSE=0 $(CTARGET)
312          $(MAKE) $(MAKEOPT) -f mod_authz_user.mak  CFG="mod_authz_user - Win32 $(LONG)" RECURSE=0 $(CTARGET)
313         cd ..\..
314         cd modules\arch\win32
315          $(MAKE) $(MAKEOPT) -f mod_isapi.mak       CFG="mod_isapi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
316         cd ..\..\..
317         cd modules\cache
318          $(MAKE) $(MAKEOPT) -f mod_cache.mak       CFG="mod_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
319          $(MAKE) $(MAKEOPT) -f mod_file_cache.mak  CFG="mod_file_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
320          $(MAKE) $(MAKEOPT) -f mod_mem_cache.mak   CFG="mod_mem_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
321          $(MAKE) $(MAKEOPT) -f mod_disk_cache.mak  CFG="mod_disk_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
322          $(MAKE) $(MAKEOPT) -f mod_socache_dbm.mak CFG="mod_socache_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
323 !IFDEF ALL
324          $(MAKE) $(MAKEOPT) -f mod_socache_dc.mak  CFG="mod_socache_dc - Win32 $(LONG)" RECURSE=0 $(CTARGET)
325 !ENDIF
326          $(MAKE) $(MAKEOPT) -f mod_socache_memcache.mak CFG="mod_socache_memcache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
327          $(MAKE) $(MAKEOPT) -f mod_socache_shmcb.mak CFG="mod_socache_shmcb - Win32 $(LONG)" RECURSE=0 $(CTARGET)
328         cd ..\..
329         cd modules\dav\main
330          $(MAKE) $(MAKEOPT) -f mod_dav.mak         CFG="mod_dav - Win32 $(LONG)" RECURSE=0 $(CTARGET)
331         cd ..\..\..
332         cd modules\dav\fs
333          $(MAKE) $(MAKEOPT) -f mod_dav_fs.mak      CFG="mod_dav_fs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
334         cd ..\..\..
335         cd modules\dav\lock
336          $(MAKE) $(MAKEOPT) -f mod_dav_lock.mak    CFG="mod_dav_lock - Win32 $(LONG)" RECURSE=0 $(CTARGET)
337         cd ..\..\..
338         cd modules\debugging
339 !IFDEF ALL
340          $(MAKE) $(MAKEOPT) -f mod_bucketeer.mak   CFG="mod_bucketeer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
341 !ENDIF
342          $(MAKE) $(MAKEOPT) -f mod_dumpio.mak      CFG="mod_dumpio - Win32 $(LONG)" RECURSE=0 $(CTARGET)
343         cd ..\..
344         cd modules\echo
345 !IFDEF ALL
346          $(MAKE) $(MAKEOPT) -f mod_echo.mak        CFG="mod_echo - Win32 $(LONG)" RECURSE=0 $(CTARGET)
347 !ENDIF
348         cd ..\..
349 !IFDEF ALL
350         cd modules\examples
351          $(MAKE) $(MAKEOPT) -f mod_case_filter.mak    CFG="mod_case_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
352          $(MAKE) $(MAKEOPT) -f mod_case_filter_in.mak CFG="mod_case_filter_in - Win32 $(LONG)" RECURSE=0 $(CTARGET)
353          $(MAKE) $(MAKEOPT) -f mod_example_hooks.mak  CFG="mod_example_hooks - Win32 $(LONG)" RECURSE=0 $(CTARGET)
354          $(MAKE) $(MAKEOPT) -f mod_example_ipc.mak    CFG="mod_example_ipc - Win32 $(LONG)" RECURSE=0 $(CTARGET)
355         cd ..\..
356 !ENDIF
357         cd modules\filters
358          $(MAKE) $(MAKEOPT) -f mod_charset_lite.mak CFG="mod_charset_lite - Win32 $(LONG)" RECURSE=0 $(CTARGET)
359 !IF EXIST("srclib\zlib")
360          $(MAKE) $(MAKEOPT) -f mod_deflate.mak     CFG="mod_deflate - Win32 $(LONG)" RECURSE=0 $(CTARGET)
361 !ENDIF
362          $(MAKE) $(MAKEOPT) -f mod_ext_filter.mak  CFG="mod_ext_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
363          $(MAKE) $(MAKEOPT) -f mod_filter.mak      CFG="mod_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
364          $(MAKE) $(MAKEOPT) -f mod_include.mak     CFG="mod_include - Win32 $(LONG)" RECURSE=0 $(CTARGET)
365          $(MAKE) $(MAKEOPT) -f mod_request.mak     CFG="mod_request - Win32 $(LONG)" RECURSE=0 $(CTARGET)
366          $(MAKE) $(MAKEOPT) -f mod_substitute.mak  CFG="mod_substitute - Win32 $(LONG)" RECURSE=0 $(CTARGET)
367         cd ..\..
368         cd modules\generators
369          $(MAKE) $(MAKEOPT) -f mod_asis.mak        CFG="mod_asis - Win32 $(LONG)" RECURSE=0 $(CTARGET)
370          $(MAKE) $(MAKEOPT) -f mod_autoindex.mak   CFG="mod_autoindex - Win32 $(LONG)" RECURSE=0 $(CTARGET)
371          $(MAKE) $(MAKEOPT) -f mod_cgi.mak         CFG="mod_cgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
372          $(MAKE) $(MAKEOPT) -f mod_info.mak        CFG="mod_info - Win32 $(LONG)" RECURSE=0 $(CTARGET)
373          $(MAKE) $(MAKEOPT) -f mod_status.mak      CFG="mod_status - Win32 $(LONG)" RECURSE=0 $(CTARGET)
374         cd ..\..
375         cd modules\http
376          $(MAKE) $(MAKEOPT) -f mod_mime.mak        CFG="mod_mime - Win32 $(LONG)" RECURSE=0 $(CTARGET)
377         cd ..\..
378         cd modules\loggers
379          $(MAKE) $(MAKEOPT) -f mod_log_config.mak  CFG="mod_log_config - Win32 $(LONG)" RECURSE=0 $(CTARGET)
380          $(MAKE) $(MAKEOPT) -f mod_log_forensic.mak CFG="mod_log_forensic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
381          $(MAKE) $(MAKEOPT) -f mod_logio.mak       CFG="mod_logio - Win32 $(LONG)" RECURSE=0 $(CTARGET)
382         cd ..\..
383         cd modules\mappers
384          $(MAKE) $(MAKEOPT) -f mod_actions.mak     CFG="mod_actions - Win32 $(LONG)" RECURSE=0 $(CTARGET)
385          $(MAKE) $(MAKEOPT) -f mod_alias.mak       CFG="mod_alias - Win32 $(LONG)" RECURSE=0 $(CTARGET)
386          $(MAKE) $(MAKEOPT) -f mod_dir.mak         CFG="mod_dir - Win32 $(LONG)" RECURSE=0 $(CTARGET)
387          $(MAKE) $(MAKEOPT) -f mod_imagemap.mak    CFG="mod_imagemap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
388          $(MAKE) $(MAKEOPT) -f mod_negotiation.mak CFG="mod_negotiation - Win32 $(LONG)" RECURSE=0 $(CTARGET)
389          $(MAKE) $(MAKEOPT) -f mod_rewrite.mak     CFG="mod_rewrite - Win32 $(LONG)" RECURSE=0 $(CTARGET)
390          $(MAKE) $(MAKEOPT) -f mod_speling.mak     CFG="mod_speling - Win32 $(LONG)" RECURSE=0 $(CTARGET)
391          $(MAKE) $(MAKEOPT) -f mod_userdir.mak     CFG="mod_userdir - Win32 $(LONG)" RECURSE=0 $(CTARGET)
392          $(MAKE) $(MAKEOPT) -f mod_vhost_alias.mak CFG="mod_vhost_alias - Win32 $(LONG)" RECURSE=0 $(CTARGET)
393         cd ..\..
394         cd modules\metadata
395          $(MAKE) $(MAKEOPT) -f mod_cern_meta.mak   CFG="mod_cern_meta - Win32 $(LONG)" RECURSE=0 $(CTARGET)
396          $(MAKE) $(MAKEOPT) -f mod_env.mak         CFG="mod_env - Win32 $(LONG)" RECURSE=0 $(CTARGET)
397          $(MAKE) $(MAKEOPT) -f mod_expires.mak     CFG="mod_expires - Win32 $(LONG)" RECURSE=0 $(CTARGET)
398          $(MAKE) $(MAKEOPT) -f mod_headers.mak     CFG="mod_headers - Win32 $(LONG)" RECURSE=0 $(CTARGET)
399          $(MAKE) $(MAKEOPT) -f mod_ident.mak       CFG="mod_ident - Win32 $(LONG)" RECURSE=0 $(CTARGET)
400          $(MAKE) $(MAKEOPT) -f mod_mime_magic.mak  CFG="mod_mime_magic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
401          $(MAKE) $(MAKEOPT) -f mod_setenvif.mak    CFG="mod_setenvif - Win32 $(LONG)" RECURSE=0 $(CTARGET)
402          $(MAKE) $(MAKEOPT) -f mod_unique_id.mak   CFG="mod_unique_id - Win32 $(LONG)" RECURSE=0 $(CTARGET)
403          $(MAKE) $(MAKEOPT) -f mod_usertrack.mak   CFG="mod_usertrack - Win32 $(LONG)" RECURSE=0 $(CTARGET)
404          $(MAKE) $(MAKEOPT) -f mod_version.mak     CFG="mod_version - Win32 $(LONG)" RECURSE=0 $(CTARGET)
405         cd ..\..
406         cd modules\proxy
407          $(MAKE) $(MAKEOPT) -f mod_proxy.mak       CFG="mod_proxy - Win32 $(LONG)" RECURSE=0 $(CTARGET)
408          $(MAKE) $(MAKEOPT) -f mod_proxy_ajp.mak   CFG="mod_proxy_ajp - Win32 $(LONG)" RECURSE=0 $(CTARGET)
409          $(MAKE) $(MAKEOPT) -f mod_proxy_balancer.mak  CFG="mod_proxy_balancer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
410          $(MAKE) $(MAKEOPT) -f mod_proxy_connect.mak CFG="mod_proxy_connect - Win32 $(LONG)" RECURSE=0 $(CTARGET)
411          $(MAKE) $(MAKEOPT) -f mod_proxy_fcgi.mak  CFG="mod_proxy_fcgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
412          $(MAKE) $(MAKEOPT) -f mod_proxy_ftp.mak   CFG="mod_proxy_ftp - Win32 $(LONG)" RECURSE=0 $(CTARGET)
413          $(MAKE) $(MAKEOPT) -f mod_proxy_http.mak  CFG="mod_proxy_http - Win32 $(LONG)" RECURSE=0 $(CTARGET)
414         cd ..\..
415 !IFDEF ALL
416         cd modules\proxy\examples
417          $(MAKE) $(MAKEOPT) -f mod_lbmethod_rr.mak CFG="mod_lbmethod_rr - Win32 $(LONG)" RECURSE=0 $(CTARGET)
418         cd ..\..\..
419 !ENDIF
420         cd modules\session
421          $(MAKE) $(MAKEOPT) -f mod_session.mak        CFG="mod_session - Win32 $(LONG)" RECURSE=0 $(CTARGET)
422          $(MAKE) $(MAKEOPT) -f mod_session_cookie.mak CFG="mod_session_cookie - Win32 $(LONG)" RECURSE=0 $(CTARGET)
423          $(MAKE) $(MAKEOPT) -f mod_session_dbd.mak    CFG="mod_session_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
424         cd ..\..
425 !IF EXIST("srclib\openssl")
426         #cd modules\session
427         # $(MAKE) $(MAKEOPT) -f mod_session_crypto.mak CFG="mod_session_crypto - Win32 $(LONG)" RECURSE=0 $(CTARGET)
428         #cd ..\..
429         cd modules\ssl
430          $(MAKE) $(MAKEOPT) -f mod_ssl.mak         CFG="mod_ssl - Win32 $(LONG)" RECURSE=0 $(CTARGET)
431         cd ..\..
432         cd support
433          $(MAKE) $(MAKEOPT) -f abs.mak             CFG="abs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
434         cd ..
435 !ENDIF
436         cd support
437          $(MAKE) $(MAKEOPT) -f ab.mak              CFG="ab - Win32 $(LONG)" RECURSE=0 $(CTARGET)
438 #        $(MAKE) $(MAKEOPT) -f fcgistarter.mak     CFG="fcgistarter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
439          $(MAKE) $(MAKEOPT) -f htcacheclean.mak    CFG="htcacheclean - Win32 $(LONG)" RECURSE=0 $(CTARGET)
440          $(MAKE) $(MAKEOPT) -f htdbm.mak           CFG="htdbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
441          $(MAKE) $(MAKEOPT) -f htdigest.mak        CFG="htdigest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
442          $(MAKE) $(MAKEOPT) -f htpasswd.mak        CFG="htpasswd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
443          $(MAKE) $(MAKEOPT) -f httxt2dbm.mak       CFG="httxt2dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
444          $(MAKE) $(MAKEOPT) -f logresolve.mak      CFG="logresolve - Win32 $(LONG)" RECURSE=0 $(CTARGET)
445          $(MAKE) $(MAKEOPT) -f rotatelogs.mak      CFG="rotatelogs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
446         cd ..
447         cd support\win32
448          $(MAKE) $(MAKEOPT) -f ApacheMonitor.mak   CFG="ApacheMonitor - Win32 $(LONG)" RECURSE=0 $(CTARGET)
449          $(MAKE) $(MAKEOPT) -f wintty.mak          CFG="wintty - Win32 $(LONG)" RECURSE=0 $(CTARGET)
450         cd ..\..
451
452 !ELSEIF $(USESLN) == 1
453
454 _cleanr:  
455         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/clean" _build
456
457 _cleand:  
458         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   CTARGET="/clean" _build
459
460 _build:
461         echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
462 !IFDEF ALL
463         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project BuildAll
464 !ELSE
465         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project BuildBin
466 !ENDIF
467 !IF EXIST("srclib\openssl")
468         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_ssl
469         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project abs
470 !ENDIF
471 !IF EXIST("srclib\zlib")
472         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_deflate
473 !ENDIF
474
475 !ELSE
476
477 _cleanr:  
478         @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/CLEAN" _build
479
480 _cleand:  
481         @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   CTARGET="/CLEAN" _build
482
483 _build:
484         @echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
485 !IFDEF ALL
486         @msdev Apache.dsw /USEENV /MAKE \
487                 "BuildAll - Win32 $(LONG)" $(CTARGET)
488 !ELSE
489         @msdev Apache.dsw /USEENV /MAKE \
490                 "BuildBin - Win32 $(LONG)" $(CTARGET)
491 !ENDIF
492 !IF "$(CTARGET)" == "/CLEAN"
493         @cd srclib\apr-iconv
494         @$(MAKE) $(MAKEOPT) -f build\modules.mk.win clean \
495                 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=.
496         @cd ..\..
497 !ENDIF
498 !IF EXIST("srclib\openssl")
499         @msdev Apache.dsw /USEENV /MAKE \
500                 "mod_ssl - Win32 $(LONG)" \
501                 "abs - Win32 $(LONG)" /NORECURSE $(CTARGET)
502 !ENDIF
503 !IF EXIST("srclib\zlib")
504         @msdev Apache.dsw /USEENV /MAKE \
505                 "mod_deflate - Win32 $(LONG)" /NORECURSE $(CTARGET)
506 !ENDIF
507
508 !ENDIF
509
510
511 _copybin:
512         copy $(LONG)\httpd.$(src_exe)                           "$(inst_exe)" <.y
513         copy $(LONG)\libhttpd.$(src_dll)                        "$(inst_dll)" <.y
514         copy srclib\apr\$(LONG)\libapr-1.$(src_dll)             "$(inst_dll)" <.y
515         copy srclib\apr-iconv\$(LONG)\libapriconv-1.$(src_dll)  "$(inst_dll)" <.y
516         copy srclib\apr-util\$(LONG)\libaprutil-1.$(src_dll)    "$(inst_dll)" <.y
517         copy srclib\apr-util\ldap\$(LONG)\apr_ldap-1.$(src_dll) "$(inst_dll)" <.y
518 !IFDEF DBD_LIST
519         for %d in ($(DBD_LIST)) do ( \
520           copy srclib\apr-util\dbd\$(LONG)\apr_dbd_%d-1.$(src_dll) "$(inst_dll)" <.y \
521         )
522 !ENDIF
523         copy modules\aaa\$(LONG)\mod_access_compat.$(src_so)    "$(inst_so)" <.y
524         copy modules\aaa\$(LONG)\mod_auth_basic.$(src_so)       "$(inst_so)" <.y
525         copy modules\aaa\$(LONG)\mod_auth_digest.$(src_so)      "$(inst_so)" <.y
526         copy modules\aaa\$(LONG)\mod_auth_form.$(src_so)        "$(inst_so)" <.y
527         copy modules\aaa\$(LONG)\mod_authn_anon.$(src_so)       "$(inst_so)" <.y
528         copy modules\aaa\$(LONG)\mod_authn_core.$(src_so)       "$(inst_so)" <.y
529         copy modules\aaa\$(LONG)\mod_authn_dbd.$(src_so)        "$(inst_so)" <.y
530         copy modules\aaa\$(LONG)\mod_authn_dbm.$(src_so)        "$(inst_so)" <.y
531         copy modules\aaa\$(LONG)\mod_authn_default.$(src_so)    "$(inst_so)" <.y
532         copy modules\aaa\$(LONG)\mod_authn_file.$(src_so)       "$(inst_so)" <.y
533         copy modules\aaa\$(LONG)\mod_authnz_ldap.$(src_so)      "$(inst_so)" <.y
534         copy modules\aaa\$(LONG)\mod_authz_core.$(src_so)       "$(inst_so)" <.y
535         copy modules\aaa\$(LONG)\mod_authz_dbd.$(src_so)        "$(inst_so)" <.y
536         copy modules\aaa\$(LONG)\mod_authz_dbm.$(src_so)        "$(inst_so)" <.y
537         copy modules\aaa\$(LONG)\mod_authz_core.$(src_so)       "$(inst_so)" <.y
538         copy modules\aaa\$(LONG)\mod_authz_default.$(src_so)    "$(inst_so)" <.y
539         copy modules\aaa\$(LONG)\mod_authz_groupfile.$(src_so)  "$(inst_so)" <.y
540         copy modules\aaa\$(LONG)\mod_authz_host.$(src_so)       "$(inst_so)" <.y
541         copy modules\aaa\$(LONG)\mod_authz_owner.$(src_so)      "$(inst_so)" <.y
542         copy modules\aaa\$(LONG)\mod_authz_user.$(src_so)       "$(inst_so)" <.y
543         copy modules\arch\win32\$(LONG)\mod_isapi.$(src_so)     "$(inst_so)" <.y
544         copy modules\cache\$(LONG)\mod_cache.$(src_so)          "$(inst_so)" <.y
545         copy modules\cache\$(LONG)\mod_file_cache.$(src_so)     "$(inst_so)" <.y
546         copy modules\cache\$(LONG)\mod_mem_cache.$(src_so)      "$(inst_so)" <.y
547         copy modules\cache\$(LONG)\mod_disk_cache.$(src_so)     "$(inst_so)" <.y
548         copy modules\cache\$(LONG)\mod_socache_dbm.$(src_so)    "$(inst_so)" <.y
549         -copy modules\cache\$(LONG)\mod_socache_dc.$(src_so)    "$(inst_so)" <.y
550         copy modules\cache\$(LONG)\mod_socache_memcache.$(src_so) "$(inst_so)" <.y
551         copy modules\cache\$(LONG)\mod_socache_shmcb.$(src_so)  "$(inst_so)" <.y
552         copy modules\database\$(LONG)\mod_dbd.$(src_so)         "$(inst_so)" <.y
553         copy modules\dav\fs\$(LONG)\mod_dav_fs.$(src_so)        "$(inst_so)" <.y
554         copy modules\dav\lock\$(LONG)\mod_dav_lock.$(src_so)    "$(inst_so)" <.y
555         copy modules\dav\main\$(LONG)\mod_dav.$(src_so)         "$(inst_so)" <.y
556 !IFDEF ALL
557         copy modules\debugging\$(LONG)\mod_bucketeer.$(src_so)  "$(inst_so)" <.y
558 !ENDIF
559         copy modules\debugging\$(LONG)\mod_dumpio.$(src_so)     "$(inst_so)" <.y
560 !IFDEF ALL
561         copy modules\echo\$(LONG)\mod_echo.$(src_so)            "$(inst_so)" <.y
562         copy modules\examples\$(LONG)\mod_case_filter.$(src_so)    "$(inst_so)" <.y
563         copy modules\examples\$(LONG)\mod_case_filter_in.$(src_so) "$(inst_so)" <.y
564         copy modules\examples\$(LONG)\mod_example_hooks.$(src_so)  "$(inst_so)" <.y
565         copy modules\examples\$(LONG)\mod_example_ipc.$(src_so)    "$(inst_so)" <.y
566 !ENDIF
567         copy modules\filters\$(LONG)\mod_charset_lite.$(src_so) "$(inst_so)" <.y
568 !IF EXIST("srclib\zlib")
569         copy modules\filters\$(LONG)\mod_deflate.$(src_so)      "$(inst_so)" <.y
570 !IF EXIST("srclib\zlib\zlib1.$(src_dll)")
571         copy srclib\zlib\zlib1.$(src_dll)                       "$(inst_dll)" <.y
572 !ENDIF
573 !ENDIF
574         copy modules\filters\$(LONG)\mod_ext_filter.$(src_so)   "$(inst_so)" <.y
575         copy modules\filters\$(LONG)\mod_filter.$(src_so)       "$(inst_so)" <.y
576         copy modules\filters\$(LONG)\mod_include.$(src_so)      "$(inst_so)" <.y
577         copy modules\filters\$(LONG)\mod_request.$(src_so)      "$(inst_so)" <.y
578         copy modules\filters\$(LONG)\mod_substitute.$(src_so)   "$(inst_so)" <.y
579         copy modules\generators\$(LONG)\mod_asis.$(src_so)      "$(inst_so)" <.y
580         copy modules\generators\$(LONG)\mod_autoindex.$(src_so) "$(inst_so)" <.y
581         copy modules\generators\$(LONG)\mod_cgi.$(src_so)       "$(inst_so)" <.y
582         copy modules\generators\$(LONG)\mod_info.$(src_so)      "$(inst_so)" <.y
583         copy modules\generators\$(LONG)\mod_status.$(src_so)    "$(inst_so)" <.y
584         copy modules\http\$(LONG)\mod_mime.$(src_so)            "$(inst_so)" <.y
585         copy modules\ldap\$(LONG)\mod_ldap.$(src_so)            "$(inst_so)" <.y
586         copy modules\loggers\$(LONG)\mod_log_config.$(src_so)   "$(inst_so)" <.y
587         copy modules\loggers\$(LONG)\mod_log_forensic.$(src_so) "$(inst_so)" <.y
588         copy modules\loggers\$(LONG)\mod_logio.$(src_so)        "$(inst_so)" <.y
589         copy modules\mappers\$(LONG)\mod_actions.$(src_so)      "$(inst_so)" <.y
590         copy modules\mappers\$(LONG)\mod_alias.$(src_so)        "$(inst_so)" <.y
591         copy modules\mappers\$(LONG)\mod_dir.$(src_so)          "$(inst_so)" <.y
592         copy modules\mappers\$(LONG)\mod_imagemap.$(src_so)     "$(inst_so)" <.y
593         copy modules\mappers\$(LONG)\mod_negotiation.$(src_so)  "$(inst_so)" <.y
594         copy modules\mappers\$(LONG)\mod_rewrite.$(src_so)      "$(inst_so)" <.y
595         copy modules\mappers\$(LONG)\mod_speling.$(src_so)      "$(inst_so)" <.y
596         copy modules\mappers\$(LONG)\mod_userdir.$(src_so)      "$(inst_so)" <.y
597         copy modules\mappers\$(LONG)\mod_vhost_alias.$(src_so)  "$(inst_so)" <.y
598         copy modules\metadata\$(LONG)\mod_cern_meta.$(src_so)   "$(inst_so)" <.y
599         copy modules\metadata\$(LONG)\mod_env.$(src_so)         "$(inst_so)" <.y
600         copy modules\metadata\$(LONG)\mod_expires.$(src_so)     "$(inst_so)" <.y
601         copy modules\metadata\$(LONG)\mod_headers.$(src_so)     "$(inst_so)" <.y
602         copy modules\metadata\$(LONG)\mod_ident.$(src_so)       "$(inst_so)" <.y
603         copy modules\metadata\$(LONG)\mod_mime_magic.$(src_so)  "$(inst_so)" <.y
604         copy modules\metadata\$(LONG)\mod_setenvif.$(src_so)    "$(inst_so)" <.y
605         copy modules\metadata\$(LONG)\mod_unique_id.$(src_so)   "$(inst_so)" <.y
606         copy modules\metadata\$(LONG)\mod_usertrack.$(src_so)   "$(inst_so)" <.y
607         copy modules\metadata\$(LONG)\mod_version.$(src_so)     "$(inst_so)" <.y
608         copy modules\proxy\$(LONG)\mod_proxy.$(src_so)          "$(inst_so)" <.y
609         copy modules\proxy\$(LONG)\mod_proxy_ajp.$(src_so)      "$(inst_so)" <.y
610         copy modules\proxy\$(LONG)\mod_proxy_balancer.$(src_so) "$(inst_so)" <.y
611         copy modules\proxy\$(LONG)\mod_proxy_connect.$(src_so)  "$(inst_so)" <.y
612         copy modules\proxy\$(LONG)\mod_proxy_fcgi.$(src_so)     "$(inst_so)" <.y
613         copy modules\proxy\$(LONG)\mod_proxy_ftp.$(src_so)      "$(inst_so)" <.y
614         copy modules\proxy\$(LONG)\mod_proxy_http.$(src_so)     "$(inst_so)" <.y
615 !IFDEF ALL
616         -copy modules\proxy\examples\$(LONG)\mod_lbmethod_rr.$(src_so) "$(inst_so)" <.y
617 !ENDIF
618         copy modules\session\$(LONG)\mod_session.$(src_so)        "$(inst_so)" <.y
619         copy modules\session\$(LONG)\mod_session_cookie.$(src_so) "$(inst_so)" <.y
620         copy modules\session\$(LONG)\mod_session_dbd.$(src_so)    "$(inst_so)" <.y
621 !IF EXIST("srclib\openssl")
622 !IFDEF ALL
623         -copy modules\session\$(LONG)\mod_session_crypto.$(src_so) "$(inst_so)" <.y
624 !ENDIF
625         copy modules\ssl\$(LONG)\mod_ssl.$(src_so)              "$(inst_so)" <.y
626         -copy srclib\openssl\$(SSLBIN)\libeay32.$(src_dll)      "$(inst_dll)" <.y
627         -copy srclib\openssl\$(SSLBIN)\ssleay32.$(src_dll)      "$(inst_dll)" <.y
628         -copy srclib\openssl\$(SSLBIN)\openssl.$(src_exe)       "$(inst_exe)" <.y
629         copy support\$(LONG)\abs.$(src_exe)                     "$(inst_exe)" <.y
630 !ENDIF
631         copy support\$(LONG)\ab.$(src_exe)                      "$(inst_exe)" <.y
632 #       copy support\$(LONG)\fcgistarter.$(src_exe)             "$(inst_exe)" <.y
633         copy support\$(LONG)\htcacheclean.$(src_exe)            "$(inst_exe)" <.y
634         copy support\$(LONG)\htdbm.$(src_exe)                   "$(inst_exe)" <.y
635         copy support\$(LONG)\htdigest.$(src_exe)                "$(inst_exe)" <.y
636         copy support\$(LONG)\htpasswd.$(src_exe)                "$(inst_exe)" <.y
637         copy support\$(LONG)\httxt2dbm.$(src_exe)               "$(inst_exe)" <.y
638         copy support\$(LONG)\logresolve.$(src_exe)              "$(inst_exe)" <.y
639         copy support\$(LONG)\rotatelogs.$(src_exe)              "$(inst_exe)" <.y
640         copy support\win32\$(LONG)\ApacheMonitor.$(src_exe)     "$(inst_exe)" <.y
641         copy support\win32\$(LONG)\wintty.$(src_exe)            "$(inst_exe)" <.y
642
643
644 # First we create the tree and populate the README so that 
645 # whatever happens, all licensing has already propagated.  
646 # Then repeatedly invoke the _copybin build to copy the
647 # real binaries, then pdb symbols, anf finally dbg syms.
648 # Then hit docs of various sorts, then includes and libs,
649 # and finally do the .conf magic.
650 #
651 _install:
652         echo Y >.y
653         echo A >.A
654         -mkdir "$(INSTDIR)"
655         -mkdir "$(INSTDIR)\bin"
656         -mkdir "$(INSTDIR)\bin\iconv"
657         -mkdir "$(INSTDIR)\cgi-bin"
658         -mkdir "$(INSTDIR)\conf"
659         -mkdir "$(INSTDIR)\conf\extra"
660         -mkdir "$(INSTDIR)\conf\original"
661         -mkdir "$(INSTDIR)\conf\original\extra"
662         -mkdir "$(INSTDIR)\error"
663         -mkdir "$(INSTDIR)\htdocs"
664         -mkdir "$(INSTDIR)\manual"
665         -mkdir "$(INSTDIR)\icons"
666         -mkdir "$(INSTDIR)\include"
667         -mkdir "$(INSTDIR)\lib"
668         -mkdir "$(INSTDIR)\logs"
669         -mkdir "$(INSTDIR)\modules"
670         -mkdir "$(INSTDIR)\symbols"
671         -mkdir "$(INSTDIR)\symbols\exe"
672         -mkdir "$(INSTDIR)\symbols\dll"
673         -mkdir "$(INSTDIR)\symbols\so"
674         copy ABOUT_APACHE "$(INSTDIR)\ABOUT_APACHE.txt" <.y
675         copy CHANGES      "$(INSTDIR)\CHANGES.txt" <.y
676         copy INSTALL      "$(INSTDIR)\INSTALL.txt" <.y
677         copy LICENSE      "$(INSTDIR)\LICENSE.txt" <.y
678         copy NOTICE       "$(INSTDIR)\NOTICE.txt" <.y
679         copy README       "$(INSTDIR)\README.txt" <.y
680 !IF EXIST("srclib\openssl")
681         -copy srclib\openssl\apps\openssl.cnf "$(INSTDIR)\conf\openssl.cnf" <.y
682         type << >> "$(INSTDIR)\NOTICE.txt"
683
684   This binary distribution includes cryptographic software written by
685   Eric Young (eay@cryptsoft.com), software written by Tim Hudson 
686   (tjh@cryptsoft.com), and software developed by the OpenSSL Project 
687   for use in the OpenSSL Toolkit <http://www.openssl.org/>.
688 <<
689         -awk -f <<script.awk < "srclib\openssl\LICENSE" >> "$(INSTDIR)\LICENSE.txt"
690 BEGIN {
691     print "";
692     print "For the libeay32.dll, ssleay32.dll and openssl.exe components:";
693     print "";
694     while ( getline > 0 ) {
695         print $$0;
696    }
697 }
698 <<
699         copy << "$(INSTDIR)\OPENSSL-NEWS.txt" <.y
700
701  Apache HTTP Server 2.3 Limited OpenSSL Distribution
702
703  This binary distribution includes the minimal components of OpenSSL required
704  to support mod_ssl for Apache HTTP Server version 2.3 (details are listed 
705  in OPENSSL-README.txt.)  For the complete list of CHANGES to this and later 
706  versions of OpenSSL, please refer to the definative source,
707  <http://www.openssl.org/news/changelog.html>, or see the CHANGES file in the
708  full binary or source distribution package from <http://www.openssl.org/>.
709
710  These OpenSSL binaries were built for distribution from the U.S. without 
711  support for the patented encryption methods IDEA, MDC-2 or RC5.
712
713 --------------------------------------------------------------------------------
714
715 <<
716         -copy "$(INSTDIR)\OPENSSL-NEWS.txt" \
717             + srclib\openssl\NEWS "$(INSTDIR)\OPENSSL-NEWS.txt"
718         copy << "$(INSTDIR)\OPENSSL-README.txt" <.y
719
720  Apache HTTP Server 2.3 Limited OpenSSL Distribution
721
722  This binary installation of OpenSSL is a limited distribution of the
723  files derived from the OpenSSL project:
724
725    LICENSE.txt (includes openssl LICENSE)
726    OPENSSL-NEWS.txt
727    OPENSSL-README.txt
728    conf\openssl.cnf
729    bin\libeay32.dll
730    bin\ssleay32.dll
731    bin\openssl.exe
732
733  These are the minimal libraries and tools required to use mod_ssl as 
734  distributed with Apache HTTP Server version 2.3.  No library link files, 
735  headers or sources are distributed with this binary distribution.  Please 
736  refer to the <http://www.openssl.org/> site for complete source or binary 
737  distributions.
738
739  These OpenSSL binaries were built for distribution from the U.S. without 
740  support for the patented encryption methods IDEA, MDC-2 or RC5.
741
742  The Apache HTTP Project only supports the binary distribution of these files
743  and development of the mod_ssl module.  We cannot provide support assistance
744  for using or configuring the OpenSSL package or these modules.  Please refer
745  all installation and configuration questions to the appropriate forum,
746  such as the user supported lists, <http://httpd.apache.org/userslist.html> 
747  the Apache HTTP Server user's list or <http://www.openssl.org/support/> the
748  OpenSSL support page.
749
750 --------------------------------------------------------------------------------
751
752 <<
753         -copy "$(INSTDIR)\OPENSSL-README.txt" \
754             + srclib\openssl\README "$(INSTDIR)\OPENSSL-README.txt"
755 !ENDIF
756 !IF EXIST("srclib\zlib")
757         type << >> "$(INSTDIR)\NOTICE.txt"
758
759   This binary distribution of mod_deflate.so includes zlib compression code
760   <http://www.gzip.org/zlib/> written by Jean-loup Gailly (jloup@gzip.org)
761   and Mark Adler (madler@alumni.caltech.edu) .
762 <<
763         -awk -f <<script.awk < "srclib\zlib\README" >> "$(INSTDIR)\LICENSE.txt"
764 BEGIN {
765     while ( getline > 0 ) {
766         if ( $$0 ~ /Copyright notice:/ ) {
767             print "";
768             print "For the mod_deflate zlib compression component:";
769             while ( getline > 0 && $$0 !~ /^[^ ]/ ) {
770                 print $$0;
771             }
772             exit 0;
773         }
774     }
775     exit 1;
776 }
777 <<
778 !ENDIF
779         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=$(SHORT) LONG=$(LONG) \
780                 _copybin src_exe=exe src_dll=dll src_so=so             \
781                 inst_exe="$(INSTDIR)\bin"                              \
782                 inst_dll="$(INSTDIR)\bin"                              \
783                 inst_so="$(INSTDIR)\modules"
784         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=$(SHORT) LONG=$(LONG) \
785                 _copybin src_exe=pdb src_dll=pdb src_so=pdb            \
786                 inst_exe="$(INSTDIR)\bin"                              \
787                 inst_dll="$(INSTDIR)\bin"                              \
788                 inst_so="$(INSTDIR)\modules"
789         cd srclib\apr-iconv
790         $(MAKE) $(MAKEOPT) -f build\modules.mk.win install \
791                 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=. \
792                 INSTALL_DIR="$(INSTDIR)\bin\iconv"
793         cd ..\..
794         copy docs\cgi-examples\printenv "$(INSTDIR)\cgi-bin\printenv.pl" <.y
795         -awk -f <<script.awk "docs/cgi-examples/printenv" > "$(INSTDIR)\cgi-bin\printenv.pl"
796     BEGIN { 
797         if ( "perl -e \"print $$^X;\"" | getline perlroot ) {
798             gsub( /\\/, "/", perlroot );
799             print "#!" perlroot;
800         }
801     }
802     {
803         if ( $$0 !~ /^#!/ ) {
804             print $$0;
805         }
806     }
807 <<
808         xcopy docs\error        "$(INSTDIR)\error" /s /d < .a
809         xcopy docs\docroot      "$(INSTDIR)\htdocs" /d < .a
810         xcopy docs\icons        "$(INSTDIR)\icons" /s /d < .a
811         xcopy docs\manual       "$(INSTDIR)\manual" /s /d < .a
812         for %f in ( \
813                 srclib\apr-util\xml\expat\lib\expat.h \
814                 srclib\apr\include\*.h \
815                 srclib\apr-util\include\*.h \
816                 include\*.h \
817                 os\win32\os.h \
818                 server\mpm\winnt\mpm*.h \
819                 modules\database\mod_dbd.h \
820                 modules\dav\main\mod_dav.h \
821                 modules\filters\mod_include.h \
822                 modules\generators\mod_cgi.h \
823                 modules\generators\mod_status.h \
824                 modules\loggers\mod_log_config.h \
825                 modules\proxy\mod_proxy.h \
826                 modules\ssl\mod_ssl.h \
827                 modules\mappers\mod_so.h \
828                 modules\mappers\mod_rewrite.h \
829                 modules\cache\mod_cache.h ) do \
830             @copy %f "$(INSTDIR)\include" < .y > nul
831         copy srclib\apr\Lib$(SHORT)\apr-1.lib           "$(INSTDIR)\lib" <.y
832         copy srclib\apr\Lib$(SHORT)\apr-1.pdb           "$(INSTDIR)\lib" <.y
833         copy srclib\apr-util\Lib$(SHORT)\aprutil-1.lib  "$(INSTDIR)\lib" <.y
834         copy srclib\apr-util\Lib$(SHORT)\aprutil-1.pdb  "$(INSTDIR)\lib" <.y
835         copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml.lib "$(INSTDIR)\lib" <.y
836         copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml.pdb "$(INSTDIR)\lib" <.y
837         copy srclib\apr\$(LONG)\libapr-1.lib            "$(INSTDIR)\lib" <.y
838         copy srclib\apr\$(LONG)\libapr-1.exp            "$(INSTDIR)\lib" <.y
839         copy srclib\apr-iconv\$(LONG)\libapriconv-1.lib "$(INSTDIR)\lib" <.y
840         copy srclib\apr-iconv\$(LONG)\libapriconv-1.exp "$(INSTDIR)\lib" <.y
841         copy srclib\apr-util\$(LONG)\libaprutil-1.lib   "$(INSTDIR)\lib" <.y
842         copy srclib\apr-util\$(LONG)\libaprutil-1.exp   "$(INSTDIR)\lib" <.y
843         copy $(LONG)\libhttpd.exp                       "$(INSTDIR)\lib" <.y
844         copy $(LONG)\libhttpd.lib                       "$(INSTDIR)\lib" <.y
845         copy modules\dav\main\$(LONG)\mod_dav.exp       "$(INSTDIR)\lib" <.y
846         copy modules\dav\main\$(LONG)\mod_dav.lib       "$(INSTDIR)\lib" <.y
847         for %f in ( charset.conv magic mime.types ) do ( \
848           copy docs\conf\%f "$(INSTDIR)\conf\original\%f" <.y )
849         awk -f build\installwinconf.awk $(DOMAINNAME) $(SERVERNAME) \
850             $(SERVERADMIN) $(PORT) $(SSLPORT) "$(INSTDIR) " docs/conf/ 
851         copy "support\dbmmanage.in" "$(INSTDIR)\bin\dbmmanage.pl"
852         -awk -f <<script.awk "support/dbmmanage.in" >"$(INSTDIR)\bin\dbmmanage.pl"
853     { if ( $$0 ~ /^BEGIN \{ @AnyDBM_File::/ ) {
854           sub( /ISA = qw\(.*\)/, "ISA = qw(SDBM_File)" ); 
855       }
856       if ( $$0 !~ /^#!@perlbin@/ )
857           print $$0;
858     }
859 <<
860         del .y
861         del .a