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