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