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