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