]> granicus.if.org Git - apache/blob - Makefile.win
Call apr_file_write_full instead to achieve the same effect.
[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")
35 !MESSAGE Please check out or download and unpack the Apache Portability Runtime
36 !MESSAGE sources (apr and apr-util) into your $(INSTDIR)\srclib directory.
37 !MESSAGE Apache cannot build without these libraries!
38 !MESSAGE 
39 !ERROR Need $(INSTDIR)\srclib\apr
40 !ENDIF
41
42 !IF !EXIST("srclib\apr-util")
43 !MESSAGE Please check out or download and unpack the Apache Portability Runtime
44 !MESSAGE sources (apr and apr-util) into your $(INSTDIR)\srclib directory.
45 !MESSAGE Apache cannot build without these libraries!
46 !MESSAGE 
47 !ERROR Need $(INSTDIR)\srclib\apr-util
48 !ENDIF
49
50 # Note; _tryssl: is only used by the msvc developer studio environment to 'fix up'
51 #       the build, since conditional dependencies aren't supported.
52 #
53 !IF EXIST("srclib\openssl")
54 !IF "$(LONG)" == "Debug"
55 SSLBIN=out32dll.dbg
56 !ELSE
57 SSLBIN=out32dll
58 !ENDIF
59
60 _tryssl:
61 !IF EXIST("modules\ssl\mod_ssl.mak")
62         cd modules\ssl
63         $(MAKE) $(MAKEOPT) -f mod_ssl.mak CFG="mod_ssl - Win32 $(LONG)" RECURSE=0 .\$(LONG)\mod_ssl.so
64         cd ..\..
65         cd support
66         $(MAKE) $(MAKEOPT) -f abs.mak CFG="abs - Win32 $(LONG)" RECURSE=0 .\$(LONG)\abs.exe
67         cd ..
68 !ELSEIF EXIST("Apache.sln")
69         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_ssl
70         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project abs
71 !ELSE
72         msdev Apache.dsw /USEENV /MAKE \
73                 "mod_ssl - Win32 $(LONG)" \
74                 "abs - Win32 $(LONG)" /NORECURSE $(CTARGET)
75 !ENDIF
76
77 !ELSE
78 #     NOT EXIST("srclib\openssl")
79
80 _tryssl:
81         echo mod_ssl and ab/ssl will not build without openssl 
82         echo installed in $(INSTDIR)\srclib\openssl.  They must be precompiled 
83         echo using the ms/ntdll.mak file, see srclib\openssl\INSTALL.W32.  
84         echo The most recent version confirmed to build with mod_ssl and ab
85         echo was 0.9.6c available from http://www.openssl.org/
86 !ENDIF
87
88 !IF EXIST("srclib\zlib")
89
90 _tryzlib:
91 !IF EXIST("modules\filters\mod_deflate.mak")
92         cd modules\filters
93         $(MAKE) $(MAKEOPT) -f mod_deflate.mak CFG="mod_deflate - Win32 $(LONG)" RECURSE=0 .\$(LONG)\mod_deflate.so
94         cd ..\..
95 !ELSEIF EXIST("Apache.sln")
96         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_deflate
97 !ELSE
98         msdev Apache.dsw /USEENV /MAKE \
99                 "mod_deflate - Win32 $(LONG)" /NORECURSE $(CTARGET)
100 !ENDIF
101
102 !ELSE
103 #     NOT EXIST("srclib\zlib")
104
105 _tryzlib:
106         echo mod_deflate will not build without zlib installed in 
107         echo $(INSTDIR)\srclib\zlib.  
108         echo Zlib needs not be built, we compile the sources directly.
109
110 !ENDIF
111
112 !IF "$(INSTDIR)" == ""
113 INSTDIR=\Apache2
114 !MESSAGE INSTDIR not specified, installing to default $(INSTDIR)
115 !ENDIF 
116 !IF "$(PORT)" == ""
117 PORT=80
118 !MESSAGE PORT not specified, using default $(PORT)
119 !MESSAGE To change this use $(MAKE) -f makefile.win PORT=8080 installr
120 !ENDIF 
121 !IF "$(SERVERNAME)" == ""
122 SERVERNAME=localhost
123 !MESSAGE SERVERNAME not specified, using default $(SERVERNAME)
124 !MESSAGE To change this use $(MAKE) -f makefile.win PORT=www.example.com installr
125 !ENDIF
126
127 !IFNDEF MAKEOPT
128 # Only default the behavior if MAKEOPT= is omitted
129 !IF "$(MAKE)" == "NMAKE"
130 # Microsoft NMake options
131 MAKEOPT=-nologo
132 !ELSEIF "($MAKE)" == "make"
133 # Borland make options?  Not really supported (yet)
134 MAKEOPT=-s -N
135 !ENDIF
136 !ENDIF
137
138 _dummy:
139
140 _browse:
141         cd Browse
142           bscmake.exe -nologo -Iu -o Apache.bsc *.sbr
143         cd ..
144
145 _apacher: 
146         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release _build
147
148 _apached: 
149         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   _build
150
151 installr: 
152         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release _build _install
153
154 installd: 
155         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   _build _install
156
157 clean:  _cleanr _cleand
158         rd /s Browse < << 
159 y
160 <<
161
162 !IF EXIST("Apache.mak")
163
164 _cleanr:
165         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET=CLEAN _build
166
167 _cleand:  
168         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   CTARGET=CLEAN _build
169
170 _build:
171         echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
172         cd srclib\apr
173          $(MAKE) $(MAKEOPT) -f apr.mak             CFG="apr - Win32 $(LONG)" RECURSE=0 $(CTARGET)
174          $(MAKE) $(MAKEOPT) -f libapr.mak          CFG="libapr - Win32 $(LONG)" RECURSE=0 $(CTARGET)
175         cd ..\..
176         cd srclib\apr-util\uri
177          $(MAKE) $(MAKEOPT) -f gen_uri_delims.mak  CFG="gen_uri_delims - Win32 $(LONG)" RECURSE=0 $(CTARGET)
178         cd ..\..\..
179         cd srclib\apr-util\xml\expat\lib
180          $(MAKE) $(MAKEOPT) -f xml.mak             CFG="xml - Win32 $(LONG)" RECURSE=0 $(CTARGET)
181         cd ..\..\..
182          $(MAKE) $(MAKEOPT) -f aprutil.mak         CFG="aprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET)
183          $(MAKE) $(MAKEOPT) -f libaprutil.mak      CFG="libaprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET)
184         cd ..\..
185         cd srclib\pcre
186          $(MAKE) $(MAKEOPT) -f dftables.mak        CFG="dftables - Win32 $(LONG)" RECURSE=0 $(CTARGET)
187          $(MAKE) $(MAKEOPT) -f pcre.mak            CFG="pcre - Win32 $(LONG)" RECURSE=0 $(CTARGET)
188          $(MAKE) $(MAKEOPT) -f pcreposix.mak       CFG="pcreposix - Win32 $(LONG)" RECURSE=0 $(CTARGET)
189         cd ..\..
190         cd server
191          $(MAKE) $(MAKEOPT) -f gen_test_char.mak   CFG="gen_test_char - Win32 $(LONG)" RECURSE=0 $(CTARGET)
192         cd ..
193          -del $(LONG)\buildmark.obj
194          $(MAKE) $(MAKEOPT) -f libhttpd.mak        CFG="libhttpd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
195          $(MAKE) $(MAKEOPT) -f Apache.mak          CFG="Apache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
196         cd modules\aaa
197          $(MAKE) $(MAKEOPT) -f mod_access.mak      CFG="mod_access - Win32 $(LONG)" RECURSE=0 $(CTARGET)
198          $(MAKE) $(MAKEOPT) -f mod_auth.mak        CFG="mod_auth - Win32 $(LONG)" RECURSE=0 $(CTARGET)
199          $(MAKE) $(MAKEOPT) -f mod_auth_anon.mak   CFG="mod_auth_anon - Win32 $(LONG)" RECURSE=0 $(CTARGET)
200          $(MAKE) $(MAKEOPT) -f mod_auth_dbm.mak    CFG="mod_auth_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
201          $(MAKE) $(MAKEOPT) -f mod_auth_digest.mak CFG="mod_auth_digest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
202         cd ..\..
203         cd modules\arch\win32
204          $(MAKE) $(MAKEOPT) -f mod_isapi.mak       CFG="mod_isapi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
205         cd ..\..\..
206         cd modules\cache
207          $(MAKE) $(MAKEOPT) -f mod_file_cache.mak  CFG="mod_file_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
208         cd ..\..
209         cd modules\dav\main
210          $(MAKE) $(MAKEOPT) -f mod_dav.mak         CFG="mod_dav - Win32 $(LONG)" RECURSE=0 $(CTARGET)
211         cd ..\..\..
212         cd modules\dav\fs
213          $(MAKE) $(MAKEOPT) -f mod_dav_fs.mak      CFG="mod_dav_fs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
214         cd ..\..\..
215         cd modules\experimental
216          $(MAKE) $(MAKEOPT) -f mod_cache.mak       CFG="mod_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
217          $(MAKE) $(MAKEOPT) -f mod_mem_cache.mak   CFG="mod_mem_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
218          $(MAKE) $(MAKEOPT) -f mod_disk_cache.mak  CFG="mod_disk_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
219          $(MAKE) $(MAKEOPT) -f mod_ext_filter.mak  CFG="mod_ext_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
220         cd ..\..
221         cd modules\filters
222 !IF EXIST("srclib\zlib")
223          $(MAKE) $(MAKEOPT) -f mod_deflate.mak     CFG="mod_deflate - Win32 $(LONG)" RECURSE=0 $(CTARGET)
224 !ENDIF
225          $(MAKE) $(MAKEOPT) -f mod_include.mak     CFG="mod_include - Win32 $(LONG)" RECURSE=0 $(CTARGET)
226         cd ..\..
227         cd modules\generators
228          $(MAKE) $(MAKEOPT) -f mod_asis.mak        CFG="mod_asis - Win32 $(LONG)" RECURSE=0 $(CTARGET)
229          $(MAKE) $(MAKEOPT) -f mod_autoindex.mak   CFG="mod_autoindex - Win32 $(LONG)" RECURSE=0 $(CTARGET)
230          $(MAKE) $(MAKEOPT) -f mod_cgi.mak         CFG="mod_cgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
231          $(MAKE) $(MAKEOPT) -f mod_info.mak        CFG="mod_info - Win32 $(LONG)" RECURSE=0 $(CTARGET)
232          $(MAKE) $(MAKEOPT) -f mod_status.mak      CFG="mod_status - Win32 $(LONG)" RECURSE=0 $(CTARGET)
233         cd ..\..
234         cd modules\http
235          $(MAKE) $(MAKEOPT) -f mod_mime.mak        CFG="mod_mime - Win32 $(LONG)" RECURSE=0 $(CTARGET)
236         cd ..\..
237         cd modules\loggers
238          $(MAKE) $(MAKEOPT) -f mod_log_config.mak  CFG="mod_log_config - Win32 $(LONG)" RECURSE=0 $(CTARGET)
239         cd ..\..
240         cd modules\mappers
241          $(MAKE) $(MAKEOPT) -f mod_actions.mak     CFG="mod_actions - Win32 $(LONG)" RECURSE=0 $(CTARGET)
242          $(MAKE) $(MAKEOPT) -f mod_alias.mak       CFG="mod_alias - Win32 $(LONG)" RECURSE=0 $(CTARGET)
243          $(MAKE) $(MAKEOPT) -f mod_dir.mak         CFG="mod_dir - Win32 $(LONG)" RECURSE=0 $(CTARGET)
244          $(MAKE) $(MAKEOPT) -f mod_imap.mak        CFG="mod_imap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
245          $(MAKE) $(MAKEOPT) -f mod_negotiation.mak CFG="mod_negotiation - Win32 $(LONG)" RECURSE=0 $(CTARGET)
246          $(MAKE) $(MAKEOPT) -f mod_rewrite.mak     CFG="mod_rewrite - Win32 $(LONG)" RECURSE=0 $(CTARGET)
247          $(MAKE) $(MAKEOPT) -f mod_speling.mak     CFG="mod_speling - Win32 $(LONG)" RECURSE=0 $(CTARGET)
248          $(MAKE) $(MAKEOPT) -f mod_userdir.mak     CFG="mod_userdir - Win32 $(LONG)" RECURSE=0 $(CTARGET)
249          $(MAKE) $(MAKEOPT) -f mod_vhost_alias.mak CFG="mod_vhost_alias - Win32 $(LONG)" RECURSE=0 $(CTARGET)
250         cd ..\..
251         cd modules\metadata
252          $(MAKE) $(MAKEOPT) -f mod_cern_meta.mak   CFG="mod_cern_meta - Win32 $(LONG)" RECURSE=0 $(CTARGET)
253          $(MAKE) $(MAKEOPT) -f mod_env.mak         CFG="mod_env - Win32 $(LONG)" RECURSE=0 $(CTARGET)
254          $(MAKE) $(MAKEOPT) -f mod_expires.mak     CFG="mod_expires - Win32 $(LONG)" RECURSE=0 $(CTARGET)
255          $(MAKE) $(MAKEOPT) -f mod_headers.mak     CFG="mod_headers - Win32 $(LONG)" RECURSE=0 $(CTARGET)
256          $(MAKE) $(MAKEOPT) -f mod_mime_magic.mak  CFG="mod_mime_magic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
257          $(MAKE) $(MAKEOPT) -f mod_setenvif.mak    CFG="mod_setenvif - Win32 $(LONG)" RECURSE=0 $(CTARGET)
258          $(MAKE) $(MAKEOPT) -f mod_unique_id.mak   CFG="mod_unique_id - Win32 $(LONG)" RECURSE=0 $(CTARGET)
259          $(MAKE) $(MAKEOPT) -f mod_usertrack.mak   CFG="mod_usertrack - Win32 $(LONG)" RECURSE=0 $(CTARGET)
260         cd ..\..
261         cd modules\proxy
262          $(MAKE) $(MAKEOPT) -f mod_proxy.mak       CFG="mod_proxy - Win32 $(LONG)" RECURSE=0 $(CTARGET)
263          $(MAKE) $(MAKEOPT) -f mod_proxy_connect.mak CFG="mod_proxy_connect - Win32 $(LONG)" RECURSE=0 $(CTARGET)
264          $(MAKE) $(MAKEOPT) -f mod_proxy_ftp.mak   CFG="mod_proxy_ftp - Win32 $(LONG)" RECURSE=0 $(CTARGET)
265          $(MAKE) $(MAKEOPT) -f mod_proxy_http.mak  CFG="mod_proxy_http - Win32 $(LONG)" RECURSE=0 $(CTARGET)
266         cd ..\..
267 !IF EXIST("srclib\openssl")
268         cd modules\ssl
269          $(MAKE) $(MAKEOPT) -f mod_ssl.mak         CFG="mod_ssl - Win32 $(LONG)" RECURSE=0 $(CTARGET) .\$(LONG)\mod_ssl.so
270         cd ..\..
271         cd support
272          $(MAKE) $(MAKEOPT) -f abs.mak             CFG="abs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
273         cd ..
274 !ENDIF
275         cd support
276          $(MAKE) $(MAKEOPT) -f ab.mak              CFG="ab - Win32 $(LONG)" RECURSE=0 $(CTARGET)
277          $(MAKE) $(MAKEOPT) -f htdbm.mak           CFG="htdbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
278          $(MAKE) $(MAKEOPT) -f htdigest.mak        CFG="htdigest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
279          $(MAKE) $(MAKEOPT) -f htpasswd.mak        CFG="htpasswd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
280          $(MAKE) $(MAKEOPT) -f logresolve.mak      CFG="logresolve - Win32 $(LONG)" RECURSE=0 $(CTARGET)
281          $(MAKE) $(MAKEOPT) -f rotatelogs.mak      CFG="rotatelogs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
282         cd ..
283         cd support\win32
284          $(MAKE) $(MAKEOPT) -f ApacheMonitor.mak   CFG="ApacheMonitor - Win32 $(LONG)" RECURSE=0 $(CTARGET)
285          $(MAKE) $(MAKEOPT) -f wintty.mak          CFG="wintty - Win32 $(LONG)" RECURSE=0 $(CTARGET)
286         cd ..\..
287
288 !ELSEIF EXIST("Apache.sln")
289
290 _cleanr:  
291         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/clean" _build
292
293 _cleand:  
294         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   CTARGET="/clean" _build
295
296 _build:
297         echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
298         -del $(LONG)\buildmark.obj
299         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project BuildBin
300 !IF EXIST("srclib\openssl")
301         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_ssl
302         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project abs
303 !ENDIF
304 !IF EXIST("srclib\zlib")
305         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_deflate
306 !ENDIF
307
308 !ELSE
309
310 _cleanr:  
311         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/CLEAN" _build
312
313 _cleand:  
314         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   CTARGET="/CLEAN" _build
315
316 _build:
317         echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
318         -del $(LONG)\buildmark.obj
319         msdev Apache.dsw /USEENV /MAKE \
320                 "BuildBin - Win32 $(LONG)" $(CTARGET)
321 !IF EXIST("srclib\openssl")
322         msdev Apache.dsw /USEENV /MAKE \
323                 "mod_ssl - Win32 $(LONG)" \
324                 "abs - Win32 $(LONG)" /NORECURSE $(CTARGET)
325 !ENDIF
326 !IF EXIST("srclib\zlib")
327         msdev Apache.dsw /USEENV /MAKE \
328                 "mod_deflate - Win32 $(LONG)" /NORECURSE $(CTARGET)
329 !ENDIF
330
331 !ENDIF
332
333 _install:
334         echo Y >.y
335         echo A >.A
336         -mkdir "$(INSTDIR)"
337         -mkdir "$(INSTDIR)\bin"
338         -mkdir "$(INSTDIR)\cgi-bin"
339         -mkdir "$(INSTDIR)\conf"
340         -mkdir "$(INSTDIR)\error"
341         -mkdir "$(INSTDIR)\htdocs"
342         -mkdir "$(INSTDIR)\manual"
343         -mkdir "$(INSTDIR)\icons"
344         -mkdir "$(INSTDIR)\include"
345         -mkdir "$(INSTDIR)\lib"
346         -mkdir "$(INSTDIR)\logs"
347         -mkdir "$(INSTDIR)\modules"
348         -mkdir "$(INSTDIR)\proxy"
349         copy ABOUT_APACHE "$(INSTDIR)\ABOUT_APACHE.txt" <.y
350         copy CHANGES "$(INSTDIR)\CHANGES.txt" <.y
351         copy INSTALL "$(INSTDIR)\INSTALL.txt" <.y
352         copy LICENSE "$(INSTDIR)\LICENSE.txt" <.y
353         copy README "$(INSTDIR)\README.txt" <.y
354         copy $(LONG)\Apache.exe "$(INSTDIR)\bin" <.y
355         copy $(LONG)\libhttpd.dll "$(INSTDIR)\bin" <.y
356         copy srclib\apr\$(LONG)\libapr.dll "$(INSTDIR)\bin" <.y
357         copy srclib\apr-util\$(LONG)\libaprutil.dll "$(INSTDIR)\bin" <.y
358         copy modules\aaa\$(LONG)\mod_access.so "$(INSTDIR)\modules" <.y
359         copy modules\aaa\$(LONG)\mod_auth.so "$(INSTDIR)\modules" <.y
360         copy modules\aaa\$(LONG)\mod_auth_anon.so "$(INSTDIR)\modules" <.y
361         copy modules\aaa\$(LONG)\mod_auth_dbm.so "$(INSTDIR)\modules" <.y
362         copy modules\aaa\$(LONG)\mod_auth_digest.so "$(INSTDIR)\modules" <.y
363         copy modules\arch\win32\$(LONG)\mod_isapi.so "$(INSTDIR)\modules" <.y
364         copy modules\cache\$(LONG)\mod_file_cache.so "$(INSTDIR)\modules" <.y
365         copy modules\dav\fs\$(LONG)\mod_dav_fs.so "$(INSTDIR)\modules" <.y
366         copy modules\dav\main\$(LONG)\mod_dav.so "$(INSTDIR)\modules" <.y
367         copy modules\experimental\$(LONG)\mod_cache.so "$(INSTDIR)\modules" <.y
368         copy modules\experimental\$(LONG)\mod_mem_cache.so "$(INSTDIR)\modules" <.y
369         copy modules\experimental\$(LONG)\mod_disk_cache.so "$(INSTDIR)\modules" <.y
370         copy modules\experimental\$(LONG)\mod_ext_filter.so "$(INSTDIR)\modules" <.y
371         copy modules\filters\$(LONG)\mod_include.so "$(INSTDIR)\modules" <.y
372         copy modules\generators\$(LONG)\mod_asis.so "$(INSTDIR)\modules" <.y
373         copy modules\generators\$(LONG)\mod_autoindex.so "$(INSTDIR)\modules" <.y
374         copy modules\generators\$(LONG)\mod_cgi.so "$(INSTDIR)\modules" <.y
375         copy modules\generators\$(LONG)\mod_info.so "$(INSTDIR)\modules" <.y
376         copy modules\generators\$(LONG)\mod_status.so "$(INSTDIR)\modules" <.y
377         copy modules\http\$(LONG)\mod_mime.so "$(INSTDIR)\modules" <.y
378         copy modules\loggers\$(LONG)\mod_log_config.so "$(INSTDIR)\modules" <.y
379         copy modules\mappers\$(LONG)\mod_actions.so "$(INSTDIR)\modules" <.y
380         copy modules\mappers\$(LONG)\mod_alias.so "$(INSTDIR)\modules" <.y
381         copy modules\mappers\$(LONG)\mod_dir.so "$(INSTDIR)\modules" <.y
382         copy modules\mappers\$(LONG)\mod_imap.so "$(INSTDIR)\modules" <.y
383         copy modules\mappers\$(LONG)\mod_negotiation.so "$(INSTDIR)\modules" <.y
384         copy modules\mappers\$(LONG)\mod_rewrite.so "$(INSTDIR)\modules" <.y
385         copy modules\mappers\$(LONG)\mod_speling.so "$(INSTDIR)\modules" <.y
386         copy modules\mappers\$(LONG)\mod_userdir.so "$(INSTDIR)\modules" <.y
387         copy modules\mappers\$(LONG)\mod_vhost_alias.so "$(INSTDIR)\modules" <.y
388         copy modules\metadata\$(LONG)\mod_cern_meta.so "$(INSTDIR)\modules" <.y
389         copy modules\metadata\$(LONG)\mod_env.so "$(INSTDIR)\modules" <.y
390         copy modules\metadata\$(LONG)\mod_expires.so "$(INSTDIR)\modules" <.y
391         copy modules\metadata\$(LONG)\mod_headers.so "$(INSTDIR)\modules" <.y
392         copy modules\metadata\$(LONG)\mod_mime_magic.so "$(INSTDIR)\modules" <.y
393         copy modules\metadata\$(LONG)\mod_setenvif.so "$(INSTDIR)\modules" <.y
394         copy modules\metadata\$(LONG)\mod_unique_id.so "$(INSTDIR)\modules" <.y
395         copy modules\metadata\$(LONG)\mod_usertrack.so "$(INSTDIR)\modules" <.y
396         copy modules\proxy\$(LONG)\mod_proxy.so "$(INSTDIR)\modules" <.y
397         copy modules\proxy\$(LONG)\mod_proxy_connect.so "$(INSTDIR)\modules" <.y
398         copy modules\proxy\$(LONG)\mod_proxy_ftp.so "$(INSTDIR)\modules" <.y
399         copy modules\proxy\$(LONG)\mod_proxy_http.so "$(INSTDIR)\modules" <.y
400 !IF EXIST("srclib\openssl")
401         copy modules\ssl\$(LONG)\mod_ssl.so "$(INSTDIR)\modules" <.y
402         copy srclib\openssl\$(SSLBIN)\openssl.exe "$(INSTDIR)\bin" <.y
403         copy srclib\openssl\$(SSLBIN)\libeay32.dll "$(INSTDIR)\bin" <.y
404         copy srclib\openssl\$(SSLBIN)\ssleay32.dll "$(INSTDIR)\bin" <.y
405         type << >> "$(INSTDIR)\README.txt"
406
407   This binary distribution includes cryptographic software written by
408   Eric Young (eay@cryptsoft.com), software written by Tim Hudson 
409   (tjh@cryptsoft.com), and software developed by the OpenSSL Project 
410   for use in the OpenSSL Toolkit <http://www.openssl.org/>.
411 <<
412         -awk -f <<script.awk < "srclib\openssl\LICENSE" >> "$(INSTDIR)\LICENSE.txt"
413 BEGIN {
414     print "";
415     print "For the libeay32.dll, ssleay32.dll and certtool.exe components:";
416     print "";
417     while ( getline > 0 ) {
418         print $$0;
419    }
420 }
421 <<
422         copy << + srclib\openssl\NEWS "$(INSTDIR)\OPENSSL-NEWS.txt" <.y
423
424  Apache HTTP Server 2.0 Limited OpenSSL Distribution
425
426  This binary distribution includes the minimal components of OpenSSL required
427  to support mod_ssl for Apache HTTP Server version 2.0 (details are listed 
428  in OPENSSL-README.txt.)  For the complete list of CHANGES to this and later 
429  versions of OpenSSL, please refer to the definative source,
430  <http://www.openssl.org/news/changelog.html>, or see the CHANGES file in the
431  full binary or source distribution package from <http://www.openssl.org/>.
432
433  These OpenSSL binaries were built for distribution from the U.S. without 
434  support for the patented encryption methods IDEA, MDC-2 or RC5.
435
436 --------------------------------------------------------------------------------
437 <<
438         copy << + srclib\openssl\README "$(INSTDIR)\OPENSSL-README.txt" <.y
439
440  Apache HTTP Server 2.0 Limited OpenSSL Distribution
441
442  This binary installation of OpenSSL is a limited distribution of the documents
443  OPENSSL-LICENSE.txt, OPENSSL-NEWS.txt and OPENSSL-README.txt, and the binaries
444
445    libeay32.dll
446    ssleay32.dll
447    openssl.exe
448
449  These are the minimal libraries and tools required to use mod_ssl as 
450  distributed with Apache HTTP Server version 2.0.  No library link files, 
451  headers or sources are distributed with this binary distribution.  Please 
452  refer to the <http://www.openssl.org/> site for complete source or binary 
453  distributions.
454
455  These OpenSSL binaries were built for distribution from the U.S. without 
456  support for the patented encryption methods IDEA, MDC-2 or RC5.
457
458  The Apache HTTP Project only supports the binary distribution of these files
459  and development of the mod_ssl module.  We cannot provide support assistance
460  for using or configuring the OpenSSL package or these modules.  Please refer
461  all installation and configuration questions to the appropriate forum,
462  such as the user supported lists, <http://httpd.apache.org/userslist.html> 
463  the Apache HTTP Server user's list or <http://www.openssl.org/support/> the
464  OpenSSL support page.
465
466 --------------------------------------------------------------------------------
467 <<
468         copy support\$(LONG)\abs.exe "$(INSTDIR)\bin\ab.exe" <.y
469 !ELSE
470         copy support\$(LONG)\ab.exe "$(INSTDIR)\bin" <.y
471 !ENDIF
472 !IF EXIST("srclib\zlib")
473         type << >> "$(INSTDIR)\README.txt"
474
475   This binary distribution of mod_deflate.so includes zlib compression code
476   <http://www.gzip.org/zlib/> written by Jean-loup Gailly (jloup@gzip.org)
477   and Mark Adler (madler@alumni.caltech.edu) .
478 <<
479         -awk -f <<script.awk < "srclib\zlib\README" >> "$(INSTDIR)\LICENSE.txt"
480 BEGIN {
481     while ( getline > 0 ) {
482         if ( $$0 ~ /Copyright notice:/ ) {
483             print "";
484             print "For the mod_deflate zlib compression component:";
485             while ( getline > 0 && $$0 !~ /^[^ ]/ ) {
486                 print $$0;
487             }
488             exit 0;
489         }
490     }
491     exit 1;
492 }
493 <<
494         copy modules\filters\$(LONG)\mod_deflate.so "$(INSTDIR)\modules" <.y
495 !ENDIF
496         copy support\$(LONG)\htdbm.exe "$(INSTDIR)\bin" <.y
497         copy support\$(LONG)\htdigest.exe "$(INSTDIR)\bin" <.y
498         copy support\$(LONG)\htpasswd.exe "$(INSTDIR)\bin" <.y
499         copy support\$(LONG)\logresolve.exe "$(INSTDIR)\bin" <.y
500         copy support\$(LONG)\rotatelogs.exe "$(INSTDIR)\bin" <.y
501         copy support\win32\$(LONG)\ApacheMonitor.exe "$(INSTDIR)\bin" <.y
502         copy support\win32\$(LONG)\wintty.exe "$(INSTDIR)\bin" <.y
503         copy docs\cgi-examples\printenv "$(INSTDIR)\cgi-bin\printenv.pl" <.y
504         -awk -f <<script.awk "docs/cgi-examples/printenv" > "$(INSTDIR)\cgi-bin\printenv.pl"
505     BEGIN { 
506         if ( "perl -e \"print $$^X;\"" | getline perlroot ) {
507             gsub( /\\/, "/", perlroot );
508             print "#!" perlroot;
509         }
510     }
511     {
512         if ( $$0 !~ /^#!/ ) {
513             print $$0;
514         }
515     }
516 <<
517         xcopy docs\error "$(INSTDIR)\error" /s /d < .a
518         xcopy docs\docroot "$(INSTDIR)\htdocs" /d < .a
519         xcopy docs\manual "$(INSTDIR)\manual" /s /d < .a
520         xcopy srclib\pcre\pcre*.h "$(INSTDIR)\include" /d < .a
521         xcopy srclib\apr-util\xml\expat\lib\expat.h "$(INSTDIR)\include" /d < .a
522         xcopy srclib\apr\include\*.h "$(INSTDIR)\include" /d < .a
523         xcopy srclib\apr-util\include\*.h "$(INSTDIR)\include" /d < .a
524         xcopy include\*.h "$(INSTDIR)\include" /d < .a
525         xcopy docs\icons "$(INSTDIR)\icons" /s /d < .a
526         copy srclib\apr\Lib$(SHORT)\apr.lib "$(INSTDIR)\lib" <.y
527         copy srclib\apr-util\Lib$(SHORT)\aprutil.lib "$(INSTDIR)\lib" <.y
528         copy srclib\pcre\Lib$(SHORT)\pcre.lib "$(INSTDIR)\lib" <.y
529         copy srclib\pcre\Lib$(SHORT)\pcreposix.lib "$(INSTDIR)\lib" <.y
530 #       ### until we determine if it's safe to change expat>libexpat and xml>expat
531 #       within our cvs tree... at least remain consistent to our naming conventions;
532         copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml.lib "$(INSTDIR)\lib\expat.lib" <.y
533         copy srclib\apr\$(LONG)\libapr.lib "$(INSTDIR)\lib" <.y
534         copy srclib\apr\$(LONG)\libapr.exp "$(INSTDIR)\lib" <.y
535         copy srclib\apr-util\$(LONG)\libaprutil.lib "$(INSTDIR)\lib" <.y
536         copy srclib\apr-util\$(LONG)\libaprutil.exp "$(INSTDIR)\lib" <.y
537         copy $(LONG)\libhttpd.exp "$(INSTDIR)\lib" <.y
538         copy $(LONG)\libhttpd.lib "$(INSTDIR)\lib" <.y
539         copy modules\dav\main\$(LONG)\mod_dav.exp "$(INSTDIR)\lib" <.y
540         copy modules\dav\main\$(LONG)\mod_dav.lib "$(INSTDIR)\lib" <.y
541         copy docs\conf\magic "$(INSTDIR)\conf\magic.default" <.y
542         if not exist "$(INSTDIR)\conf\magic" \
543             copy "$(INSTDIR)\conf\magic.default" "$(INSTDIR)\conf\magic"
544         copy docs\conf\mime.types "$(INSTDIR)\conf\mime.types.default" <.y
545         if not exist "$(INSTDIR)\conf\mime.types" \
546             copy "$(INSTDIR)\conf\mime.types.default" "$(INSTDIR)\conf\mime.types"
547         copy docs\conf\httpd-win.conf "$(INSTDIR)\conf\httpd.default.conf" <.y
548         -awk -f <<script.awk "docs/conf/httpd-win.conf" "$(INSTDIR)" > "$(INSTDIR)\conf\httpd.default.conf"
549     BEGIN { 
550         serverroot = ARGV[2];
551         delete ARGV[2];
552         gsub( /\\/, "/", serverroot );
553         "pwd" | getline root;
554         gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
555     }
556     {
557         gsub( /@@ServerRoot@@/, serverroot );
558         gsub( /@@ServerName@@/, "$(SERVERNAME)" );
559         gsub( /@@Port@@/, "$(PORT)" );
560         print $$0;
561     }
562 <<
563         if not exist "$(INSTDIR)\conf\httpd.conf" \
564             copy "$(INSTDIR)\conf\httpd.default.conf" "$(INSTDIR)\conf\httpd.conf"
565         copy docs\conf\ssl-std.conf "$(INSTDIR)\conf\ssl.default.conf" <.y
566         -awk -f <<script.awk "docs/conf/ssl-std.conf" "$(INSTDIR)" > "$(INSTDIR)\conf\ssl.default.conf"
567     BEGIN { 
568         serverroot = ARGV[2];
569         delete ARGV[2];
570         gsub( /\\/, "/", serverroot );
571         "pwd" | getline root;
572         gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
573     }
574     {
575         gsub( /@@ServerRoot@@/, serverroot );
576         print $$0;
577     }
578 <<
579         if not exist "$(INSTDIR)\conf\ssl.conf" \
580             copy "$(INSTDIR)\conf\ssl.default.conf" "$(INSTDIR)\conf\ssl.conf"
581         -awk -f <<script.awk "support/dbmmanage.in" >"$(INSTDIR)\bin\dbmmanage.pl"
582     { if ( $$0 ~ /^BEGIN \{ @AnyDBM_File::/ ) {
583           sub( /ISA = qw\(.*\)/, "ISA = qw(SDBM_File)" ); 
584       }
585       if ( $$0 !~ /^#!@perlbin@/ )
586           print $$0;
587     }
588 <<
589         del .a .y
590