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