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