]> granicus.if.org Git - apache/blob - Makefile.win
sync with 2.2.x branch
[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.6h.
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_dbd.mak   CFG="mod_authn_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
228          $(MAKE) $(MAKEOPT) -f mod_authn_dbm.mak   CFG="mod_authn_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
229          $(MAKE) $(MAKEOPT) -f mod_authn_default.mak CFG="mod_authn_default - Win32 $(LONG)" RECURSE=0 $(CTARGET)
230          $(MAKE) $(MAKEOPT) -f mod_authn_file.mak  CFG="mod_authn_file - Win32 $(LONG)" RECURSE=0 $(CTARGET)
231          $(MAKE) $(MAKEOPT) -f mod_authz_dbm.mak   CFG="mod_authz_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
232          $(MAKE) $(MAKEOPT) -f mod_authz_core.mak  CFG="mod_authz_core - Win32 $(LONG)" RECURSE=0 $(CTARGET)
233          $(MAKE) $(MAKEOPT) -f mod_authz_default.mak CFG="mod_authz_default - Win32 $(LONG)" RECURSE=0 $(CTARGET)
234          $(MAKE) $(MAKEOPT) -f mod_authz_groupfile.mak CFG="mod_authz_groupfile - Win32 $(LONG)" RECURSE=0 $(CTARGET)
235          $(MAKE) $(MAKEOPT) -f mod_authz_host.mak  CFG="mod_authz_host - Win32 $(LONG)" RECURSE=0 $(CTARGET)
236          $(MAKE) $(MAKEOPT) -f mod_authz_user.mak  CFG="mod_authz_user - Win32 $(LONG)" RECURSE=0 $(CTARGET)
237          $(MAKE) $(MAKEOPT) -f mod_authnz_ldap.mak CFG="mod_authnz_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
238         cd ..\..
239         cd modules\arch\win32
240          $(MAKE) $(MAKEOPT) -f mod_isapi.mak       CFG="mod_isapi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
241         cd ..\..\..
242         cd modules\cache
243          $(MAKE) $(MAKEOPT) -f mod_cache.mak       CFG="mod_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
244          $(MAKE) $(MAKEOPT) -f mod_file_cache.mak  CFG="mod_file_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
245          $(MAKE) $(MAKEOPT) -f mod_mem_cache.mak   CFG="mod_mem_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
246          $(MAKE) $(MAKEOPT) -f mod_disk_cache.mak  CFG="mod_disk_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
247         cd ..\..
248         cd modules\dav\main
249          $(MAKE) $(MAKEOPT) -f mod_dav.mak         CFG="mod_dav - Win32 $(LONG)" RECURSE=0 $(CTARGET)
250         cd ..\..\..
251         cd modules\dav\fs
252          $(MAKE) $(MAKEOPT) -f mod_dav_fs.mak      CFG="mod_dav_fs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
253         cd ..\..\..
254         cd modules\debugging
255          $(MAKE) $(MAKEOPT) -f mod_bucketeer.mak   CFG="mod_bucketeer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
256          $(MAKE) $(MAKEOPT) -f mod_dumpio.mak      CFG="mod_dumpio - Win32 $(LONG)" RECURSE=0 $(CTARGET)
257         cd ..\..
258         cd modules\experimental
259         cd ..\..
260         cd modules\filters
261          $(MAKE) $(MAKEOPT) -f mod_charset_lite.mak CFG="mod_charset_lite - Win32 $(LONG)" RECURSE=0 $(CTARGET)
262 !IF EXIST("srclib\zlib")
263          $(MAKE) $(MAKEOPT) -f mod_deflate.mak     CFG="mod_deflate - Win32 $(LONG)" RECURSE=0 $(CTARGET)
264 !ENDIF
265          $(MAKE) $(MAKEOPT) -f mod_ext_filter.mak  CFG="mod_ext_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
266          $(MAKE) $(MAKEOPT) -f mod_include.mak     CFG="mod_include - Win32 $(LONG)" RECURSE=0 $(CTARGET)
267         cd ..\..
268         cd modules\generators
269          $(MAKE) $(MAKEOPT) -f mod_asis.mak        CFG="mod_asis - Win32 $(LONG)" RECURSE=0 $(CTARGET)
270          $(MAKE) $(MAKEOPT) -f mod_autoindex.mak   CFG="mod_autoindex - Win32 $(LONG)" RECURSE=0 $(CTARGET)
271          $(MAKE) $(MAKEOPT) -f mod_cgi.mak         CFG="mod_cgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
272          $(MAKE) $(MAKEOPT) -f mod_info.mak        CFG="mod_info - Win32 $(LONG)" RECURSE=0 $(CTARGET)
273          $(MAKE) $(MAKEOPT) -f mod_status.mak      CFG="mod_status - Win32 $(LONG)" RECURSE=0 $(CTARGET)
274         cd ..\..
275         cd modules\http
276          $(MAKE) $(MAKEOPT) -f mod_mime.mak        CFG="mod_mime - Win32 $(LONG)" RECURSE=0 $(CTARGET)
277         cd ..\..
278         cd modules\loggers
279          $(MAKE) $(MAKEOPT) -f mod_log_config.mak  CFG="mod_log_config - Win32 $(LONG)" RECURSE=0 $(CTARGET)
280          $(MAKE) $(MAKEOPT) -f mod_log_forensic.mak CFG="mod_log_forensic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
281          $(MAKE) $(MAKEOPT) -f mod_logio.mak       CFG="mod_logio - Win32 $(LONG)" RECURSE=0 $(CTARGET)
282         cd ..\..
283         cd modules\mappers
284          $(MAKE) $(MAKEOPT) -f mod_actions.mak     CFG="mod_actions - Win32 $(LONG)" RECURSE=0 $(CTARGET)
285          $(MAKE) $(MAKEOPT) -f mod_alias.mak       CFG="mod_alias - Win32 $(LONG)" RECURSE=0 $(CTARGET)
286          $(MAKE) $(MAKEOPT) -f mod_dir.mak         CFG="mod_dir - Win32 $(LONG)" RECURSE=0 $(CTARGET)
287          $(MAKE) $(MAKEOPT) -f mod_imagemap.mak    CFG="mod_imagemap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
288          $(MAKE) $(MAKEOPT) -f mod_negotiation.mak CFG="mod_negotiation - Win32 $(LONG)" RECURSE=0 $(CTARGET)
289          $(MAKE) $(MAKEOPT) -f mod_rewrite.mak     CFG="mod_rewrite - Win32 $(LONG)" RECURSE=0 $(CTARGET)
290          $(MAKE) $(MAKEOPT) -f mod_speling.mak     CFG="mod_speling - Win32 $(LONG)" RECURSE=0 $(CTARGET)
291          $(MAKE) $(MAKEOPT) -f mod_userdir.mak     CFG="mod_userdir - Win32 $(LONG)" RECURSE=0 $(CTARGET)
292          $(MAKE) $(MAKEOPT) -f mod_vhost_alias.mak CFG="mod_vhost_alias - Win32 $(LONG)" RECURSE=0 $(CTARGET)
293         cd ..\..
294         cd modules\metadata
295          $(MAKE) $(MAKEOPT) -f mod_cern_meta.mak   CFG="mod_cern_meta - Win32 $(LONG)" RECURSE=0 $(CTARGET)
296          $(MAKE) $(MAKEOPT) -f mod_env.mak         CFG="mod_env - Win32 $(LONG)" RECURSE=0 $(CTARGET)
297          $(MAKE) $(MAKEOPT) -f mod_expires.mak     CFG="mod_expires - Win32 $(LONG)" RECURSE=0 $(CTARGET)
298          $(MAKE) $(MAKEOPT) -f mod_headers.mak     CFG="mod_headers - Win32 $(LONG)" RECURSE=0 $(CTARGET)
299          $(MAKE) $(MAKEOPT) -f mod_ident.mak       CFG="mod_ident - Win32 $(LONG)" RECURSE=0 $(CTARGET)
300          $(MAKE) $(MAKEOPT) -f mod_mime_magic.mak  CFG="mod_mime_magic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
301          $(MAKE) $(MAKEOPT) -f mod_setenvif.mak    CFG="mod_setenvif - Win32 $(LONG)" RECURSE=0 $(CTARGET)
302          $(MAKE) $(MAKEOPT) -f mod_unique_id.mak   CFG="mod_unique_id - Win32 $(LONG)" RECURSE=0 $(CTARGET)
303          $(MAKE) $(MAKEOPT) -f mod_usertrack.mak   CFG="mod_usertrack - Win32 $(LONG)" RECURSE=0 $(CTARGET)
304          $(MAKE) $(MAKEOPT) -f mod_version.mak     CFG="mod_version - Win32 $(LONG)" RECURSE=0 $(CTARGET)
305         cd ..\..
306         cd modules\proxy
307          $(MAKE) $(MAKEOPT) -f mod_proxy.mak       CFG="mod_proxy - Win32 $(LONG)" RECURSE=0 $(CTARGET)
308          $(MAKE) $(MAKEOPT) -f mod_proxy_ajp.mak   CFG="mod_proxy_ajp - Win32 $(LONG)" RECURSE=0 $(CTARGET)
309          $(MAKE) $(MAKEOPT) -f mod_proxy_balancer.mak  CFG="mod_proxy_balancer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
310          $(MAKE) $(MAKEOPT) -f mod_proxy_connect.mak CFG="mod_proxy_connect - Win32 $(LONG)" RECURSE=0 $(CTARGET)
311          $(MAKE) $(MAKEOPT) -f mod_proxy_fcgi.mak  CFG="mod_proxy_fcgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
312          $(MAKE) $(MAKEOPT) -f mod_proxy_ftp.mak   CFG="mod_proxy_ftp - Win32 $(LONG)" RECURSE=0 $(CTARGET)
313          $(MAKE) $(MAKEOPT) -f mod_proxy_http.mak  CFG="mod_proxy_http - Win32 $(LONG)" RECURSE=0 $(CTARGET)
314         cd ..\..
315 !IF EXIST("srclib\openssl")
316         cd modules\ssl
317          $(MAKE) $(MAKEOPT) -f mod_ssl.mak         CFG="mod_ssl - Win32 $(LONG)" RECURSE=0 $(CTARGET)
318         cd ..\..
319         cd support
320          $(MAKE) $(MAKEOPT) -f abs.mak             CFG="abs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
321         cd ..
322 !ENDIF
323         cd support
324          $(MAKE) $(MAKEOPT) -f ab.mak              CFG="ab - Win32 $(LONG)" RECURSE=0 $(CTARGET)
325          $(MAKE) $(MAKEOPT) -f htcacheclean.mak    CFG="htcacheclean - Win32 $(LONG)" RECURSE=0 $(CTARGET)
326          $(MAKE) $(MAKEOPT) -f htdbm.mak           CFG="htdbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
327          $(MAKE) $(MAKEOPT) -f htdigest.mak        CFG="htdigest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
328          $(MAKE) $(MAKEOPT) -f htpasswd.mak        CFG="htpasswd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
329          $(MAKE) $(MAKEOPT) -f logresolve.mak      CFG="logresolve - Win32 $(LONG)" RECURSE=0 $(CTARGET)
330          $(MAKE) $(MAKEOPT) -f rotatelogs.mak      CFG="rotatelogs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
331         cd ..
332         cd support\win32
333          $(MAKE) $(MAKEOPT) -f ApacheMonitor.mak   CFG="ApacheMonitor - Win32 $(LONG)" RECURSE=0 $(CTARGET)
334          $(MAKE) $(MAKEOPT) -f wintty.mak          CFG="wintty - Win32 $(LONG)" RECURSE=0 $(CTARGET)
335         cd ..\..
336
337 !ELSEIF EXIST("Apache.sln")
338
339 _cleanr:  
340         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/clean" _build
341
342 _cleand:  
343         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   CTARGET="/clean" _build
344
345 _build:
346         echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
347         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project BuildBin
348 !IF EXIST("srclib\openssl")
349         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_ssl
350         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project abs
351 !ENDIF
352 !IF EXIST("srclib\zlib")
353         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_deflate
354 !ENDIF
355
356 !ELSE
357
358 _cleanr:  
359         @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/CLEAN" _build
360
361 _cleand:  
362         @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   CTARGET="/CLEAN" _build
363
364 _build:
365         @echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
366         @msdev Apache.dsw /USEENV /MAKE \
367                 "BuildBin - Win32 $(LONG)" $(CTARGET)
368 !IF "$(CTARGET)" == "/CLEAN"
369         @cd srclib\apr-iconv
370         @$(MAKE) $(MAKEOPT) -f build\modules.mk.win clean \
371                 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=.
372         @cd ..\..
373 !ENDIF
374 !IF EXIST("srclib\openssl")
375         @msdev Apache.dsw /USEENV /MAKE \
376                 "mod_ssl - Win32 $(LONG)" \
377                 "abs - Win32 $(LONG)" /NORECURSE $(CTARGET)
378 !ENDIF
379 !IF EXIST("srclib\zlib")
380         @msdev Apache.dsw /USEENV /MAKE \
381                 "mod_deflate - Win32 $(LONG)" /NORECURSE $(CTARGET)
382 !ENDIF
383
384 !ENDIF
385
386
387 _copybin:
388         copy $(LONG)\httpd.$(src_exe)                           "$(inst_exe)" <.y
389         copy $(LONG)\libhttpd.$(src_dll)                        "$(inst_dll)" <.y
390         copy srclib\apr\$(LONG)\libapr-1.$(src_dll)             "$(inst_dll)" <.y
391         copy srclib\apr-iconv\$(LONG)\libapriconv-1.$(src_dll)  "$(inst_dll)" <.y
392         copy srclib\apr-util\$(LONG)\libaprutil-1.$(src_dll)    "$(inst_dll)" <.y
393         copy modules\aaa\$(LONG)\mod_access_compat.$(src_so)    "$(inst_so)" <.y
394         copy modules\aaa\$(LONG)\mod_auth_basic.$(src_so)       "$(inst_so)" <.y
395         copy modules\aaa\$(LONG)\mod_auth_digest.$(src_so)      "$(inst_so)" <.y
396         copy modules\aaa\$(LONG)\mod_authn_anon.$(src_so)       "$(inst_so)" <.y
397         copy modules\aaa\$(LONG)\mod_authn_dbd.$(src_so)        "$(inst_so)" <.y
398         copy modules\aaa\$(LONG)\mod_authn_dbm.$(src_so)        "$(inst_so)" <.y
399         copy modules\aaa\$(LONG)\mod_authn_default.$(src_so)    "$(inst_so)" <.y
400         copy modules\aaa\$(LONG)\mod_authn_file.$(src_so)       "$(inst_so)" <.y
401         copy modules\aaa\$(LONG)\mod_authz_dbm.$(src_so)        "$(inst_so)" <.y
402         copy modules\aaa\$(LONG)\mod_authz_core.$(src_so)       "$(inst_so)" <.y
403         copy modules\aaa\$(LONG)\mod_authz_default.$(src_so)    "$(inst_so)" <.y
404         copy modules\aaa\$(LONG)\mod_authz_groupfile.$(src_so)  "$(inst_so)" <.y
405         copy modules\aaa\$(LONG)\mod_authz_host.$(src_so)       "$(inst_so)" <.y
406         copy modules\aaa\$(LONG)\mod_authz_user.$(src_so)       "$(inst_so)" <.y
407         copy modules\aaa\$(LONG)\mod_authnz_ldap.$(src_so)      "$(inst_so)" <.y
408         copy modules\arch\win32\$(LONG)\mod_isapi.$(src_so)     "$(inst_so)" <.y
409         copy modules\cache\$(LONG)\mod_cache.$(src_so)          "$(inst_so)" <.y
410         copy modules\cache\$(LONG)\mod_file_cache.$(src_so)     "$(inst_so)" <.y
411         copy modules\cache\$(LONG)\mod_mem_cache.$(src_so)      "$(inst_so)" <.y
412         copy modules\cache\$(LONG)\mod_disk_cache.$(src_so)     "$(inst_so)" <.y
413         copy modules\database\$(LONG)\mod_dbd.$(src_so)         "$(inst_so)" <.y
414         copy modules\dav\fs\$(LONG)\mod_dav_fs.$(src_so)        "$(inst_so)" <.y
415         copy modules\dav\main\$(LONG)\mod_dav.$(src_so)         "$(inst_so)" <.y
416         copy modules\debugging\$(LONG)\mod_bucketeer.$(src_so)  "$(inst_so)" <.y
417         copy modules\debugging\$(LONG)\mod_dumpio.$(src_so)     "$(inst_so)" <.y
418         copy modules\filters\$(LONG)\mod_charset_lite.$(src_so) "$(inst_so)" <.y
419 !IF EXIST("srclib\zlib")
420         copy modules\filters\$(LONG)\mod_deflate.$(src_so)      "$(inst_so)" <.y
421 !IF EXIST("srclib\zlib\zlib1.$(src_dll)")
422         copy srclib\zlib\zlib1.$(src_dll)                       "$(inst_dll)" <.y
423 !ENDIF
424 !ENDIF
425         copy modules\filters\$(LONG)\mod_ext_filter.$(src_so)   "$(inst_so)" <.y
426         copy modules\filters\$(LONG)\mod_include.$(src_so)      "$(inst_so)" <.y
427         copy modules\generators\$(LONG)\mod_asis.$(src_so)      "$(inst_so)" <.y
428         copy modules\generators\$(LONG)\mod_autoindex.$(src_so) "$(inst_so)" <.y
429         copy modules\generators\$(LONG)\mod_cgi.$(src_so)       "$(inst_so)" <.y
430         copy modules\generators\$(LONG)\mod_info.$(src_so)      "$(inst_so)" <.y
431         copy modules\generators\$(LONG)\mod_status.$(src_so)    "$(inst_so)" <.y
432         copy modules\http\$(LONG)\mod_mime.$(src_so)            "$(inst_so)" <.y
433         copy modules\ldap\$(LONG)\mod_ldap.$(src_so)            "$(inst_so)" <.y
434         copy modules\loggers\$(LONG)\mod_log_config.$(src_so)   "$(inst_so)" <.y
435         copy modules\loggers\$(LONG)\mod_log_forensic.$(src_so) "$(inst_so)" <.y
436         copy modules\loggers\$(LONG)\mod_logio.$(src_so)        "$(inst_so)" <.y
437         copy modules\mappers\$(LONG)\mod_actions.$(src_so)      "$(inst_so)" <.y
438         copy modules\mappers\$(LONG)\mod_alias.$(src_so)        "$(inst_so)" <.y
439         copy modules\mappers\$(LONG)\mod_dir.$(src_so)          "$(inst_so)" <.y
440         copy modules\mappers\$(LONG)\mod_imagemap.$(src_so)     "$(inst_so)" <.y
441         copy modules\mappers\$(LONG)\mod_negotiation.$(src_so)  "$(inst_so)" <.y
442         copy modules\mappers\$(LONG)\mod_rewrite.$(src_so)      "$(inst_so)" <.y
443         copy modules\mappers\$(LONG)\mod_speling.$(src_so)      "$(inst_so)" <.y
444         copy modules\mappers\$(LONG)\mod_userdir.$(src_so)      "$(inst_so)" <.y
445         copy modules\mappers\$(LONG)\mod_vhost_alias.$(src_so)  "$(inst_so)" <.y
446         copy modules\metadata\$(LONG)\mod_cern_meta.$(src_so)   "$(inst_so)" <.y
447         copy modules\metadata\$(LONG)\mod_env.$(src_so)         "$(inst_so)" <.y
448         copy modules\metadata\$(LONG)\mod_expires.$(src_so)     "$(inst_so)" <.y
449         copy modules\metadata\$(LONG)\mod_headers.$(src_so)     "$(inst_so)" <.y
450         copy modules\metadata\$(LONG)\mod_ident.$(src_so)       "$(inst_so)" <.y
451         copy modules\metadata\$(LONG)\mod_mime_magic.$(src_so)  "$(inst_so)" <.y
452         copy modules\metadata\$(LONG)\mod_setenvif.$(src_so)    "$(inst_so)" <.y
453         copy modules\metadata\$(LONG)\mod_unique_id.$(src_so)   "$(inst_so)" <.y
454         copy modules\metadata\$(LONG)\mod_usertrack.$(src_so)   "$(inst_so)" <.y
455         copy modules\metadata\$(LONG)\mod_version.$(src_so)     "$(inst_so)" <.y
456         copy modules\proxy\$(LONG)\mod_proxy.$(src_so)          "$(inst_so)" <.y
457         copy modules\proxy\$(LONG)\mod_proxy_ajp.$(src_so)      "$(inst_so)" <.y
458         copy modules\proxy\$(LONG)\mod_proxy_balancer.$(src_so) "$(inst_so)" <.y
459         copy modules\proxy\$(LONG)\mod_proxy_connect.$(src_so)  "$(inst_so)" <.y
460         copy modules\proxy\$(LONG)\mod_proxy_fcgi.$(src_so)     "$(inst_so)" <.y
461         copy modules\proxy\$(LONG)\mod_proxy_ftp.$(src_so)      "$(inst_so)" <.y
462         copy modules\proxy\$(LONG)\mod_proxy_http.$(src_so)     "$(inst_so)" <.y
463 !IF EXIST("srclib\openssl")
464         copy modules\ssl\$(LONG)\mod_ssl.$(src_so)                      "$(inst_so)" <.y
465         $(quiet)copy srclib\openssl\$(SSLBIN)\openssl.$(src_exe)        "$(inst_exe)" <.y
466         $(quiet)copy srclib\openssl\$(SSLBIN)\libeay32.$(src_dll)       "$(inst_dll)" <.y
467         $(quiet)copy srclib\openssl\$(SSLBIN)\ssleay32.$(src_dll)       "$(inst_dll)" <.y
468         copy support\$(LONG)\abs.$(src_exe)     "$(inst_exe)\ab.$(src_exe)" <.y
469 !ELSE
470         copy support\$(LONG)\ab.$(src_exe)                              "$(inst_exe)" <.y
471 !ENDIF
472         copy support\$(LONG)\htcacheclean.$(src_exe)            "$(inst_exe)" <.y
473         copy support\$(LONG)\htdbm.$(src_exe)                   "$(inst_exe)" <.y
474         copy support\$(LONG)\htdigest.$(src_exe)                "$(inst_exe)" <.y
475         copy support\$(LONG)\htpasswd.$(src_exe)                "$(inst_exe)" <.y
476         copy support\$(LONG)\logresolve.$(src_exe)              "$(inst_exe)" <.y
477         copy support\$(LONG)\rotatelogs.$(src_exe)              "$(inst_exe)" <.y
478         copy support\win32\$(LONG)\ApacheMonitor.$(src_exe)     "$(inst_exe)" <.y
479         copy support\win32\$(LONG)\wintty.$(src_exe)            "$(inst_exe)" <.y
480
481
482 # First we create the tree and populate the README so that 
483 # whatever happens, all licensing has already propagated.  
484 # Then repeatedly invoke the _copybin build to copy the
485 # real binaries, then pdb symbols, anf finally dbg syms.
486 # Then hit docs of various sorts, then includes and libs,
487 # and finally do the .conf magic.
488 #
489 _install:
490         echo Y >.y
491         echo A >.A
492         -mkdir "$(INSTDIR)"
493         -mkdir "$(INSTDIR)\bin"
494         -mkdir "$(INSTDIR)\bin\iconv"
495         -mkdir "$(INSTDIR)\cgi-bin"
496         -mkdir "$(INSTDIR)\conf"
497         -mkdir "$(INSTDIR)\conf\extra"
498         -mkdir "$(INSTDIR)\error"
499         -mkdir "$(INSTDIR)\htdocs"
500         -mkdir "$(INSTDIR)\manual"
501         -mkdir "$(INSTDIR)\icons"
502         -mkdir "$(INSTDIR)\include"
503         -mkdir "$(INSTDIR)\lib"
504         -mkdir "$(INSTDIR)\logs"
505         -mkdir "$(INSTDIR)\modules"
506         -mkdir "$(INSTDIR)\proxy"
507         -mkdir "$(INSTDIR)\symbols"
508         -mkdir "$(INSTDIR)\symbols\exe"
509         -mkdir "$(INSTDIR)\symbols\dll"
510         -mkdir "$(INSTDIR)\symbols\so"
511         copy ABOUT_APACHE "$(INSTDIR)\ABOUT_APACHE.txt" <.y
512         copy CHANGES      "$(INSTDIR)\CHANGES.txt" <.y
513         copy INSTALL      "$(INSTDIR)\INSTALL.txt" <.y
514         copy LICENSE      "$(INSTDIR)\LICENSE.txt" <.y
515         copy NOTICE       "$(INSTDIR)\NOTICE.txt" <.y
516         copy README       "$(INSTDIR)\README.txt" <.y
517 !IF EXIST("srclib\openssl")
518         type << >> "$(INSTDIR)\NOTICE.txt"
519
520   This binary distribution includes cryptographic software written by
521   Eric Young (eay@cryptsoft.com), software written by Tim Hudson 
522   (tjh@cryptsoft.com), and software developed by the OpenSSL Project 
523   for use in the OpenSSL Toolkit <http://www.openssl.org/>.
524 <<
525         -awk -f <<script.awk < "srclib\openssl\LICENSE" >> "$(INSTDIR)\LICENSE.txt"
526 BEGIN {
527     print "";
528     print "For the libeay32.dll, ssleay32.dll and certtool.exe components:";
529     print "";
530     while ( getline > 0 ) {
531         print $$0;
532    }
533 }
534 <<
535         copy << + srclib\openssl\NEWS "$(INSTDIR)\OPENSSL-NEWS.txt" <.y
536
537  Apache HTTP Server 2.0 Limited OpenSSL Distribution
538
539  This binary distribution includes the minimal components of OpenSSL required
540  to support mod_ssl for Apache HTTP Server version 2.0 (details are listed 
541  in OPENSSL-README.txt.)  For the complete list of CHANGES to this and later 
542  versions of OpenSSL, please refer to the definative source,
543  <http://www.openssl.org/news/changelog.html>, or see the CHANGES file in the
544  full binary or source distribution package from <http://www.openssl.org/>.
545
546  These OpenSSL binaries were built for distribution from the U.S. without 
547  support for the patented encryption methods IDEA, MDC-2 or RC5.
548
549 --------------------------------------------------------------------------------
550 <<
551         copy << + srclib\openssl\README "$(INSTDIR)\OPENSSL-README.txt" <.y
552
553  Apache HTTP Server 2.0 Limited OpenSSL Distribution
554
555  This binary installation of OpenSSL is a limited distribution of the documents
556  OPENSSL-LICENSE.txt, OPENSSL-NEWS.txt and OPENSSL-README.txt, and the binaries
557
558    libeay32.dll
559    ssleay32.dll
560    openssl.exe
561
562  These are the minimal libraries and tools required to use mod_ssl as 
563  distributed with Apache HTTP Server version 2.0.  No library link files, 
564  headers or sources are distributed with this binary distribution.  Please 
565  refer to the <http://www.openssl.org/> site for complete source or binary 
566  distributions.
567
568  These OpenSSL binaries were built for distribution from the U.S. without 
569  support for the patented encryption methods IDEA, MDC-2 or RC5.
570
571  The Apache HTTP Project only supports the binary distribution of these files
572  and development of the mod_ssl module.  We cannot provide support assistance
573  for using or configuring the OpenSSL package or these modules.  Please refer
574  all installation and configuration questions to the appropriate forum,
575  such as the user supported lists, <http://httpd.apache.org/userslist.html> 
576  the Apache HTTP Server user's list or <http://www.openssl.org/support/> the
577  OpenSSL support page.
578
579 --------------------------------------------------------------------------------
580 <<
581 !ENDIF
582 !IF EXIST("srclib\zlib")
583         type << >> "$(INSTDIR)\NOTICE.txt"
584
585   This binary distribution of mod_deflate.so includes zlib compression code
586   <http://www.gzip.org/zlib/> written by Jean-loup Gailly (jloup@gzip.org)
587   and Mark Adler (madler@alumni.caltech.edu) .
588 <<
589         -awk -f <<script.awk < "srclib\zlib\README" >> "$(INSTDIR)\LICENSE.txt"
590 BEGIN {
591     while ( getline > 0 ) {
592         if ( $$0 ~ /Copyright notice:/ ) {
593             print "";
594             print "For the mod_deflate zlib compression component:";
595             while ( getline > 0 && $$0 !~ /^[^ ]/ ) {
596                 print $$0;
597             }
598             exit 0;
599         }
600     }
601     exit 1;
602 }
603 <<
604 !ENDIF
605         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=$(SHORT) LONG=$(LONG) \
606                 _copybin src_exe=exe src_dll=dll src_so=so             \
607                 inst_exe="$(INSTDIR)\bin"                              \
608                 inst_dll="$(INSTDIR)\bin"                              \
609                 inst_so="$(INSTDIR)\modules"
610         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=$(SHORT) LONG=$(LONG) \
611                 _copybin src_exe=pdb src_dll=pdb src_so=pdb quiet="-"  \
612                 inst_exe="$(INSTDIR)\bin"                              \
613                 inst_dll="$(INSTDIR)\bin"                              \
614                 inst_so="$(INSTDIR)\modules"
615         cd srclib\apr-iconv
616         $(MAKE) $(MAKEOPT) -f build\modules.mk.win install \
617                 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=. \
618                 INSTALL_DIR="$(INSTDIR)\bin\iconv"
619         cd ..\..
620         copy docs\cgi-examples\printenv "$(INSTDIR)\cgi-bin\printenv.pl" <.y
621         -awk -f <<script.awk "docs/cgi-examples/printenv" > "$(INSTDIR)\cgi-bin\printenv.pl"
622     BEGIN { 
623         if ( "perl -e \"print $$^X;\"" | getline perlroot ) {
624             gsub( /\\/, "/", perlroot );
625             print "#!" perlroot;
626         }
627     }
628     {
629         if ( $$0 !~ /^#!/ ) {
630             print $$0;
631         }
632     }
633 <<
634         xcopy docs\error        "$(INSTDIR)\error" /s /d < .a
635         xcopy docs\docroot      "$(INSTDIR)\htdocs" /d < .a
636         xcopy docs\icons        "$(INSTDIR)\icons" /s /d < .a
637         xcopy docs\manual       "$(INSTDIR)\manual" /s /d < .a
638         xcopy srclib\apr-util\xml\expat\lib\expat.h     "$(INSTDIR)\include" /d < .a
639         xcopy srclib\apr\include\*.h                    "$(INSTDIR)\include" /d < .a
640         xcopy srclib\apr-util\include\*.h               "$(INSTDIR)\include" /d < .a
641         xcopy include\*.h                               "$(INSTDIR)\include" /d < .a
642         copy srclib\apr\Lib$(SHORT)\apr-1.lib           "$(INSTDIR)\lib" <.y
643         copy srclib\apr\Lib$(SHORT)\apr_src.pdb         "$(INSTDIR)\lib" <.y
644         copy srclib\apr-util\Lib$(SHORT)\aprutil-1.lib  "$(INSTDIR)\lib" <.y
645         copy srclib\apr-util\Lib$(SHORT)\aprutil_src.pdb "$(INSTDIR)\lib" <.y
646         copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml.lib "$(INSTDIR)\lib" <.y
647         copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml_src.pdb "$(INSTDIR)\lib" <.y
648         copy srclib\apr\$(LONG)\libapr-1.lib            "$(INSTDIR)\lib" <.y
649         copy srclib\apr\$(LONG)\libapr-1.exp            "$(INSTDIR)\lib" <.y
650         copy srclib\apr-iconv\$(LONG)\libapriconv-1.lib "$(INSTDIR)\lib" <.y
651         copy srclib\apr-iconv\$(LONG)\libapriconv-1.exp "$(INSTDIR)\lib" <.y
652         copy srclib\apr-util\$(LONG)\libaprutil-1.lib   "$(INSTDIR)\lib" <.y
653         copy srclib\apr-util\$(LONG)\libaprutil-1.exp   "$(INSTDIR)\lib" <.y
654         copy $(LONG)\libhttpd.exp                       "$(INSTDIR)\lib" <.y
655         copy $(LONG)\libhttpd.lib                       "$(INSTDIR)\lib" <.y
656         copy modules\dav\main\$(LONG)\mod_dav.exp       "$(INSTDIR)\lib" <.y
657         copy modules\dav\main\$(LONG)\mod_dav.lib       "$(INSTDIR)\lib" <.y
658         echo Y >.y
659         for %f in ( charset.conv magic mime.types ) do ( \
660           copy docs\conf\%f "$(INSTDIR)\conf\%f.default" <.y && \
661           if not exist "$(INSTDIR)\conf\%f" \
662             copy "$(INSTDIR)\conf\%f.default" "$(INSTDIR)\conf\%f" \
663         )
664         copy docs\conf\httpd-win.conf "$(INSTDIR)\conf\httpd.conf.default" <.y
665         -awk -f <<script.awk "docs/conf/httpd-win.conf" "$(INSTDIR)" > "$(INSTDIR)\conf\httpd.conf.default"
666     BEGIN { 
667         serverroot = ARGV[2];
668         delete ARGV[2];
669         gsub( /\\/, "/", serverroot );
670         "cd" | getline root;
671         gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
672     }
673     {
674         gsub( /@@ServerRoot@@/, serverroot );
675         gsub( /@@ServerName@@/, "$(SERVERNAME)" );
676         gsub( /@@Port@@/, "$(PORT)" );
677         print $$0;
678     }
679 <<
680         if not exist "$(INSTDIR)\conf\httpd.conf" \
681             copy "$(INSTDIR)\conf\httpd.conf.default" "$(INSTDIR)\conf\httpd.conf"
682         for %f in ( docs\conf\extra\*.in ) do ( \
683           copy %f "$(INSTDIR)\conf\extra\%~nf.default" <.y && \
684           awk -f <<script.awk "docs/conf/extra/%~nf.in" "$(INSTDIR)" > "$(INSTDIR)\conf\extra\%~nf.default" )
685     BEGIN { 
686         serverroot = ARGV[2];
687         delete ARGV[2];
688         gsub( /\\/, "/", serverroot );
689         "cd" | getline root;
690         gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
691     }
692     {
693         gsub( /SSLMutex  file:@exp_runtimedir@\/ssl_mutex/, "SSLMutex default" );
694         gsub( /@@ServerRoot@@/,   serverroot );
695         gsub( /@exp_cgidir@/,     serverroot "/cgi-bin" );
696         gsub( /@exp_sysconfdir@/, serverroot "/conf" );
697         gsub( /@exp_errordir@/,   serverroot "/error" );
698         gsub( /@exp_htdocsdir@/,  serverroot "/htdocs" );
699         gsub( /@exp_iconsdir@/,   serverroot "/icons" );
700         gsub( /@exp_logfiledir@/, serverroot "/logs" );
701         gsub( /@exp_runtimedir@/, serverroot "/logs" );
702         gsub( /@exp_manualdir@/,  serverroot "/manual" );
703         gsub( /@rel_runtimedir@/, "logs" );
704         gsub( /@rel_logfiledir@/, "logs" );
705         gsub( /\/home\/\*\/public_html/, "\"C:/Documents and Settings/*/My Documents/My Website\"" );
706         gsub( /UserDir public_html/, "UserDir \"My Documents/My Website\"" );
707         gsub( /@@ServerName@@/, "$(SERVERNAME)" );
708         gsub( /@@Port@@/, "$(PORT)" );
709         gsub( /443/, "$(SSLPORT)" );
710         print $$0;
711     }
712 <<
713         for %f in ( docs\conf\extra\*.in ) do ( \
714           if not exist "$(INSTDIR)\conf\extra\%~nf" \
715             copy "$(INSTDIR)\conf\extra\%~nf.default" "$(INSTDIR)\conf\extra\%~nf" \
716         )
717         copy "support\dbmmanage.in" "$(INSTDIR)\bin\dbmmanage.pl"
718         -awk -f <<script.awk "support/dbmmanage.in" >"$(INSTDIR)\bin\dbmmanage.pl"
719     { if ( $$0 ~ /^BEGIN \{ @AnyDBM_File::/ ) {
720           sub( /ISA = qw\(.*\)/, "ISA = qw(SDBM_File)" ); 
721       }
722       if ( $$0 !~ /^#!@perlbin@/ )
723           print $$0;
724     }
725 <<
726         del .y
727         del .a