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