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