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