]> granicus.if.org Git - apache/blob - Makefile.win
More 9x legacy
[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     /Apache2x
17 #   PORT        80
18 #   SSLPORT     443
19 #   DOMAINNAME  example.com
20 #   SERVERNAME  www.example.com
21 #   SERVERNAME  admin@example.com
22 #
23 #   ALL         (unset)     Includes additional modules for build testing
24 #
25 # Provide a DBD_LIST argument after configuring LIB and INCLUDE with
26 # the SDK paths of the corresponding client support libraries.
27 # The ODBC driver is always built on Windows
28 #
29 #     DBD_LIST="sqlite3 pgsql oracle mysql freetds"
30 #
31 # For example;
32 #
33 #   nmake -f Makefile.win PORT=80 INSTDIR="d:\Program Files\Apache" installr
34 #
35 # Be aware that certain awk's will not accept backslashed names,
36 # so the server root should be given in forward slashes (quoted),
37 # preferably with the drive designation!
38
39 !IF EXIST("httpd.vcproj") && ([devenv /help > NUL 2>&1] == 0) \
40     && !defined(USEMAK) && !defined(USEDSW)
41 USESLN=1
42 USEMAK=0
43 USEDSW=0
44 !ELSEIF EXIST("httpd.mak") && !defined(USEDSW)
45 USESLN=0
46 USEMAK=1
47 USEDSW=0
48 !ELSE
49 USESLN=0
50 USEMAK=0
51 USEDSW=1
52 !ENDIF
53
54 default: _apacher
55
56 !IF ("$(CTARGET)" == "") && ($(USESLN) == 1)
57 CTARGET=/build
58 !ENDIF
59
60 !IF !EXIST("srclib\apr") || !EXIST("srclib\apr-util") || !EXIST("srclib\apr-iconv")
61 !MESSAGE Please check out or download and unpack the Apache Portability Runtime
62 !MESSAGE sources (apr, apr-iconv and apr-util) into your srclib dir.
63 !MESSAGE Apache cannot build without these libraries!
64 !MESSAGE 
65 !ERROR Need srclib\  apr, apr-iconv and apr-util
66 !ENDIF
67
68 !IF !EXIST("srclib\pcre")
69 !MESSAGE Please check out or download and unpack the current PCRE library source
70 !MESSAGE under your srclib dir, and compile the pcre.dll with CMake options
71 !MESSAGE BUILD_SHARED_LIBS and CMAKE_BUILD_TYPE RelWithDebInfo.
72 !MESSAGE Apache cannot build without this library!
73 !MESSAGE 
74 !ERROR Need srclib\pcre
75 !ENDIF
76
77
78 # Note; _tryfoo: blocks are used only by the msvc developer studio environment 
79 #       to 'fix up' the build, since conditional dependencies aren't supported.
80 #
81
82 !IF EXIST("srclib\openssl")
83 !IF "$(LONG)" == "Debug" && EXIST("srclib\openssl\out32dll.dbg\openssl.exe")
84 SSLBIN=out32dll.dbg
85 !ELSE
86 SSLBIN=out32dll
87 !ENDIF
88
89 _tryssl:
90 !IF $(USEMAK) == 1
91         cd modules\ssl
92         $(MAKE) $(MAKEOPT) -f mod_ssl.mak CFG="mod_ssl - Win32 $(LONG)" RECURSE=0 $(CTARGET)
93         cd ..\..
94         cd support
95         $(MAKE) $(MAKEOPT) -f abs.mak CFG="abs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
96         cd ..
97 !ELSEIF $(USESLN) == 1
98         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_ssl
99         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project abs
100 !ELSE
101         @msdev Apache.dsw /USEENV /MAKE \
102                 "mod_ssl - Win32 $(LONG)" \
103                 "abs - Win32 $(LONG)" /NORECURSE $(CTARGET)
104 !ENDIF
105
106 !ELSE
107 #     NOT EXIST("srclib\openssl")
108
109 _tryssl:
110         @echo -----
111         @echo mod_ssl and ab/ssl will not build unless openssl is installed
112         @echo in srclib\openssl.  They must be precompiled using the 
113         @echo ms/ntdll.mak file, see srclib\openssl\INSTALL.W32.  The most
114         @echo recent version confirmed to build with mod_ssl and ab is 0.9.8d.
115         @echo Available from http://www.openssl.org/
116 !ENDIF
117
118
119 !IF EXIST("srclib\zlib")
120
121 _tryzlib:
122 !IF $(USEMAK) == 1
123         cd modules\filters
124         $(MAKE) $(MAKEOPT) -f mod_deflate.mak CFG="mod_deflate - Win32 $(LONG)" RECURSE=0 $(CTARGET)
125         cd ..\..
126 !ELSEIF $(USESLN) == 1
127         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_deflate
128 !ELSE
129         @msdev Apache.dsw /USEENV /MAKE \
130                 "mod_deflate - Win32 $(LONG)" /NORECURSE $(CTARGET)
131 !ENDIF
132
133 !ELSE
134 #     NOT EXIST("srclib\zlib")
135
136 _tryzlib:
137         @echo -----
138         @echo mod_deflate will not build unless zlib is installed in srclib\zlib.  
139         @echo Version 1.2.1 and later available from http://www.gzip.org/zlib/
140         @echo built w/ nmake -f win32/Makefile.msc will satisfy this requirement.
141
142 !ENDIF
143
144
145 !IF EXIST("srclib\lua")
146
147 _trylua:
148 !IF $(USEMAK) == 1
149         cd modules\lua
150         $(MAKE) $(MAKEOPT) -f mod_lua.mak CFG="mod_lua - Win32 $(LONG)" RECURSE=0 $(CTARGET)
151         cd ..\..
152 !ELSEIF $(USESLN) == 1
153         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_lua
154 !ELSE
155         @msdev Apache.dsw /USEENV /MAKE \
156                 "mod_lua - Win32 $(LONG)" /NORECURSE $(CTARGET)
157 !ENDIF
158
159 !ELSE
160 #     NOT EXIST("srclib\lua")
161
162 _trylua:
163         @echo -----
164         @echo mod_lua will not build unless lua is installed in srclib\lua.
165         @echo Version 5.1 includes an etc\luavs.bat that will satisfy this requirement.
166
167 !ENDIF
168
169
170 _trydbd:
171 !IF $(USEMAK) == 1
172         cd srclib\apr-util\dbd
173         for %d in (odbc $(DBD_LIST)) do \
174           $(MAKE) $(MAKEOPT) -f apr_dbd_%d.mak CFG="apr_dbd_%d - Win32 $(LONG)" RECURSE=0 $(CTARGET)
175         cd ..\..\..
176 !ELSEIF $(USESLN) == 1
177         for %d in (odbc $(DBD_LIST)) do \
178           devenv Apache.sln /useenv $(CTARGET) $(LONG) /project apr_dbd_%d
179 !ELSE
180         @for %d in (odbc $(DBD_LIST)) do \
181           msdev Apache.dsw /USEENV /MAKE \
182                 "apr_dbd_%d - Win32 $(LONG)" /NORECURSE $(CTARGET)
183 !ENDIF
184
185
186 !IF "$(INSTDIR)" == ""
187 INSTDIR=\Apache2x
188 !ENDIF
189 !IF "$(DOMAINNAME)" == ""
190 DOMAINNAME=example.com
191 !ENDIF 
192 !IF "$(SERVERNAME)" == ""
193 SERVERNAME=www.$(DOMAINNAME)
194 !ENDIF
195 !IF "$(SERVERADMIN)" == ""
196 SERVERADMIN=admin@$(DOMAINNAME)
197 !ENDIF
198 !IF "$(PORT)" == ""
199 PORT=80
200 !ENDIF 
201 !IF "$(SSLPORT)" == ""
202 SSLPORT=443
203 !ENDIF 
204
205 !IF "$(LONG)" == ""
206 !MESSAGE
207 !MESSAGE INSTDIR     = $(INSTDIR)
208 !MESSAGE DOMAINNAME  = $(DOMAINNAME)
209 !MESSAGE SERVERNAME  = $(SERVERNAME)
210 !MESSAGE SERVERADMIN = $(SERVERADMIN)
211 !MESSAGE PORT        = $(PORT)
212 !IF EXIST("srclib\openssl")
213 !MESSAGE SSLPORT     = $(SSLPORT)
214 !ENDIF
215 !MESSAGE
216 !MESSAGE To change these options use 'nmake -f Makefile.win [option=value]'
217 !MESSAGE Example: nmake -f Makefile.win PORT=8080
218 !MESSAGE
219 !MESSAGE
220 !ENDIF
221
222 !IFNDEF MAKEOPT
223 # Only default the behavior if MAKEOPT= is omitted
224 !IFDEF _NMAKE_VER
225 # Microsoft NMake options
226 MAKEOPT=-nologo
227 !ELSEIF "$(MAKE)" == "make"
228 # Borland make options?  Not really supported (yet)
229 MAKEOPT=-s -N
230 !ENDIF
231 !ENDIF
232
233 _dummy:
234
235 _browse:
236         cd Browse
237           bscmake.exe -nologo -Iu -o Apache.bsc *.sbr
238         cd ..
239
240 _apacher: 
241         @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release _build
242
243 _apached: 
244         @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   _build
245
246 installr: 
247         @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release _build _install
248
249 installd: 
250         @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   _build _install
251
252 clean:  _cleanr _cleand
253         -if exist Browse\. rd /s Browse < << > nul
254 y
255 <<
256
257 !IF $(USEMAK) == 1
258
259 _cleanr:
260         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET=CLEAN _build
261
262 _cleand:  
263         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   CTARGET=CLEAN _build
264
265 _build:
266         echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
267         cd srclib\apr
268          $(MAKE) $(MAKEOPT) -f apr.mak             CFG="apr - Win32 $(LONG)" RECURSE=0 $(CTARGET)
269          $(MAKE) $(MAKEOPT) -f libapr.mak          CFG="libapr - Win32 $(LONG)" RECURSE=0 $(CTARGET)
270         cd ..\..
271         cd srclib\apr-iconv
272          $(MAKE) $(MAKEOPT) -f apriconv.mak  CFG="apriconv - Win32 $(LONG)" RECURSE=0 $(CTARGET)
273          $(MAKE) $(MAKEOPT) -f libapriconv.mak  CFG="libapriconv - Win32 $(LONG)" RECURSE=0 $(CTARGET)
274 !IF "$(CTARGET)" == "CLEAN"
275         $(MAKE) $(MAKEOPT) -f build\modules.mk.win clean \
276                 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=.
277 !ELSE
278         cd ccs
279         $(MAKE) $(MAKEOPT) -f Makefile.win all \
280                 BUILD_MODE=$(LONG) BIND_MODE=shared
281         cd ..\ces
282         $(MAKE) $(MAKEOPT) -f Makefile.win all \
283                 BUILD_MODE=$(LONG) BIND_MODE=shared
284         cd ..
285 !ENDIF
286         cd ..\..
287         cd srclib\apr-util\xml\expat\lib
288          $(MAKE) $(MAKEOPT) -f xml.mak             CFG="xml - Win32 $(LONG)" RECURSE=0 $(CTARGET)
289         cd ..\..\..
290          $(MAKE) $(MAKEOPT) -f aprutil.mak         CFG="aprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET)
291          $(MAKE) $(MAKEOPT) -f libaprutil.mak      CFG="libaprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET)
292         cd ldap
293          $(MAKE) $(MAKEOPT) -f apr_ldap.mak        CFG="apr_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
294         cd ..
295         cd dbd
296           for %d in (odbc $(DBD_LIST)) do \
297             $(MAKE) $(MAKEOPT) -f apr_dbd_%d.mak   CFG="apr_dbd_%d - Win32 $(LONG)" RECURSE=0 $(CTARGET)
298         cd ..
299         cd ..\..
300         cd server
301          $(MAKE) $(MAKEOPT) -f gen_test_char.mak   CFG="gen_test_char - Win32 $(LONG)" RECURSE=0 $(CTARGET)
302         cd ..
303          $(MAKE) $(MAKEOPT) -f libhttpd.mak        CFG="libhttpd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
304          $(MAKE) $(MAKEOPT) -f httpd.mak           CFG="httpd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
305 # build ldap prior to authnz_ldap
306         cd modules\ldap
307          $(MAKE) $(MAKEOPT) -f mod_ldap.mak        CFG="mod_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
308         cd ..\..
309         cd modules\database
310          $(MAKE) $(MAKEOPT) -f mod_dbd.mak         CFG="mod_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
311         cd ..\..
312         cd modules\aaa
313          $(MAKE) $(MAKEOPT) -f mod_access_compat.mak CFG="mod_access_compat - Win32 $(LONG)" RECURSE=0 $(CTARGET)
314          $(MAKE) $(MAKEOPT) -f mod_auth_basic.mak  CFG="mod_auth_basic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
315          $(MAKE) $(MAKEOPT) -f mod_auth_digest.mak CFG="mod_auth_digest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
316          $(MAKE) $(MAKEOPT) -f mod_auth_form.mak   CFG="mod_auth_form - Win32 $(LONG)" RECURSE=0 $(CTARGET)
317          $(MAKE) $(MAKEOPT) -f mod_authn_anon.mak  CFG="mod_authn_anon - Win32 $(LONG)" RECURSE=0 $(CTARGET)
318          $(MAKE) $(MAKEOPT) -f mod_authn_core.mak  CFG="mod_authn_core - Win32 $(LONG)" RECURSE=0 $(CTARGET)
319          $(MAKE) $(MAKEOPT) -f mod_authn_dbd.mak   CFG="mod_authn_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
320          $(MAKE) $(MAKEOPT) -f mod_authn_dbm.mak   CFG="mod_authn_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
321          $(MAKE) $(MAKEOPT) -f mod_authn_file.mak  CFG="mod_authn_file - Win32 $(LONG)" RECURSE=0 $(CTARGET)
322          $(MAKE) $(MAKEOPT) -f mod_authnz_ldap.mak CFG="mod_authnz_ldap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
323          $(MAKE) $(MAKEOPT) -f mod_authz_core.mak  CFG="mod_authz_core - Win32 $(LONG)" RECURSE=0 $(CTARGET)
324          $(MAKE) $(MAKEOPT) -f mod_authz_dbd.mak   CFG="mod_authz_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
325          $(MAKE) $(MAKEOPT) -f mod_authz_dbm.mak   CFG="mod_authz_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
326          $(MAKE) $(MAKEOPT) -f mod_authz_groupfile.mak CFG="mod_authz_groupfile - Win32 $(LONG)" RECURSE=0 $(CTARGET)
327          $(MAKE) $(MAKEOPT) -f mod_authz_host.mak  CFG="mod_authz_host - Win32 $(LONG)" RECURSE=0 $(CTARGET)
328          $(MAKE) $(MAKEOPT) -f mod_authz_owner.mak CFG="mod_authz_owner - Win32 $(LONG)" RECURSE=0 $(CTARGET)
329          $(MAKE) $(MAKEOPT) -f mod_authz_user.mak  CFG="mod_authz_user - Win32 $(LONG)" RECURSE=0 $(CTARGET)
330         cd ..\..
331         cd modules\arch\win32
332          $(MAKE) $(MAKEOPT) -f mod_isapi.mak       CFG="mod_isapi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
333         cd ..\..\..
334         cd modules\cache
335          $(MAKE) $(MAKEOPT) -f mod_cache.mak       CFG="mod_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
336          $(MAKE) $(MAKEOPT) -f mod_file_cache.mak  CFG="mod_file_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
337          $(MAKE) $(MAKEOPT) -f mod_disk_cache.mak  CFG="mod_disk_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
338          $(MAKE) $(MAKEOPT) -f mod_socache_dbm.mak CFG="mod_socache_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
339 #        $(MAKE) $(MAKEOPT) -f mod_socache_dc.mak  CFG="mod_socache_dc - Win32 $(LONG)" RECURSE=0 $(CTARGET)
340          $(MAKE) $(MAKEOPT) -f mod_socache_memcache.mak CFG="mod_socache_memcache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
341          $(MAKE) $(MAKEOPT) -f mod_socache_shmcb.mak CFG="mod_socache_shmcb - Win32 $(LONG)" RECURSE=0 $(CTARGET)
342         cd ..\..
343         cd modules\core
344          $(MAKE) $(MAKEOPT) -f mod_watchdog.mak    CFG="mod_watchdog - Win32 $(LONG)" RECURSE=0 $(CTARGET)
345         cd ..\..
346         cd modules\cluster
347          $(MAKE) $(MAKEOPT) -f mod_heartbeat.mak   CFG="mod_heartbeat - Win32 $(LONG)" RECURSE=0 $(CTARGET)
348          $(MAKE) $(MAKEOPT) -f mod_heartmonitor.mak CFG="mod_heartmonitor - Win32 $(LONG)" RECURSE=0 $(CTARGET)
349         cd ..\..
350         cd modules\dav\main
351          $(MAKE) $(MAKEOPT) -f mod_dav.mak         CFG="mod_dav - Win32 $(LONG)" RECURSE=0 $(CTARGET)
352         cd ..\..\..
353         cd modules\dav\fs
354          $(MAKE) $(MAKEOPT) -f mod_dav_fs.mak      CFG="mod_dav_fs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
355         cd ..\..\..
356         cd modules\dav\lock
357          $(MAKE) $(MAKEOPT) -f mod_dav_lock.mak    CFG="mod_dav_lock - Win32 $(LONG)" RECURSE=0 $(CTARGET)
358         cd ..\..\..
359         cd modules\debugging
360 !IFDEF ALL
361          $(MAKE) $(MAKEOPT) -f mod_bucketeer.mak   CFG="mod_bucketeer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
362 !ENDIF
363          $(MAKE) $(MAKEOPT) -f mod_dumpio.mak      CFG="mod_dumpio - Win32 $(LONG)" RECURSE=0 $(CTARGET)
364         cd ..\..
365         cd modules\echo
366 !IFDEF ALL
367          $(MAKE) $(MAKEOPT) -f mod_echo.mak        CFG="mod_echo - Win32 $(LONG)" RECURSE=0 $(CTARGET)
368 !ENDIF
369         cd ..\..
370 !IFDEF ALL
371         cd modules\examples
372          $(MAKE) $(MAKEOPT) -f mod_case_filter.mak    CFG="mod_case_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
373          $(MAKE) $(MAKEOPT) -f mod_case_filter_in.mak CFG="mod_case_filter_in - Win32 $(LONG)" RECURSE=0 $(CTARGET)
374          $(MAKE) $(MAKEOPT) -f mod_example_hooks.mak  CFG="mod_example_hooks - Win32 $(LONG)" RECURSE=0 $(CTARGET)
375          $(MAKE) $(MAKEOPT) -f mod_example_ipc.mak    CFG="mod_example_ipc - Win32 $(LONG)" RECURSE=0 $(CTARGET)
376         cd ..\..
377 !ENDIF
378         cd modules\filters
379          $(MAKE) $(MAKEOPT) -f mod_buffer.mak      CFG="mod_buffer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
380          $(MAKE) $(MAKEOPT) -f mod_charset_lite.mak CFG="mod_charset_lite - Win32 $(LONG)" RECURSE=0 $(CTARGET)
381 !IF EXIST("srclib\zlib")
382          $(MAKE) $(MAKEOPT) -f mod_deflate.mak     CFG="mod_deflate - Win32 $(LONG)" RECURSE=0 $(CTARGET)
383 !ENDIF
384          $(MAKE) $(MAKEOPT) -f mod_ext_filter.mak  CFG="mod_ext_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
385          $(MAKE) $(MAKEOPT) -f mod_filter.mak      CFG="mod_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
386          $(MAKE) $(MAKEOPT) -f mod_include.mak     CFG="mod_include - Win32 $(LONG)" RECURSE=0 $(CTARGET)
387          $(MAKE) $(MAKEOPT) -f mod_ratelimit.mak   CFG="mod_ratelimit - Win32 $(LONG)" RECURSE=0 $(CTARGET)
388          $(MAKE) $(MAKEOPT) -f mod_request.mak     CFG="mod_request - Win32 $(LONG)" RECURSE=0 $(CTARGET)
389          $(MAKE) $(MAKEOPT) -f mod_sed.mak         CFG="mod_sed - Win32 $(LONG)" RECURSE=0 $(CTARGET)
390          $(MAKE) $(MAKEOPT) -f mod_substitute.mak  CFG="mod_substitute - Win32 $(LONG)" RECURSE=0 $(CTARGET)
391         cd ..\..
392         cd modules\generators
393          $(MAKE) $(MAKEOPT) -f mod_asis.mak        CFG="mod_asis - Win32 $(LONG)" RECURSE=0 $(CTARGET)
394          $(MAKE) $(MAKEOPT) -f mod_autoindex.mak   CFG="mod_autoindex - Win32 $(LONG)" RECURSE=0 $(CTARGET)
395          $(MAKE) $(MAKEOPT) -f mod_cgi.mak         CFG="mod_cgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
396          $(MAKE) $(MAKEOPT) -f mod_info.mak        CFG="mod_info - Win32 $(LONG)" RECURSE=0 $(CTARGET)
397          $(MAKE) $(MAKEOPT) -f mod_status.mak      CFG="mod_status - Win32 $(LONG)" RECURSE=0 $(CTARGET)
398         cd ..\..
399         cd modules\http
400          $(MAKE) $(MAKEOPT) -f mod_mime.mak        CFG="mod_mime - Win32 $(LONG)" RECURSE=0 $(CTARGET)
401         cd ..\..
402         cd modules\loggers
403          $(MAKE) $(MAKEOPT) -f mod_log_config.mak  CFG="mod_log_config - Win32 $(LONG)" RECURSE=0 $(CTARGET)
404          $(MAKE) $(MAKEOPT) -f mod_log_forensic.mak CFG="mod_log_forensic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
405          $(MAKE) $(MAKEOPT) -f mod_logio.mak       CFG="mod_logio - Win32 $(LONG)" RECURSE=0 $(CTARGET)
406         cd ..\..
407 !IF EXIST("srclib\lua")
408         cd modules\lua
409          $(MAKE) $(MAKEOPT) -f mod_lua.mak         CFG="mod_lua - Win32 $(LONG)" RECURSE=0 $(CTARGET)
410         cd ..\..
411 !ENDIF
412         cd modules\mappers
413          $(MAKE) $(MAKEOPT) -f mod_actions.mak     CFG="mod_actions - Win32 $(LONG)" RECURSE=0 $(CTARGET)
414          $(MAKE) $(MAKEOPT) -f mod_alias.mak       CFG="mod_alias - Win32 $(LONG)" RECURSE=0 $(CTARGET)
415          $(MAKE) $(MAKEOPT) -f mod_dir.mak         CFG="mod_dir - Win32 $(LONG)" RECURSE=0 $(CTARGET)
416          $(MAKE) $(MAKEOPT) -f mod_imagemap.mak    CFG="mod_imagemap - Win32 $(LONG)" RECURSE=0 $(CTARGET)
417          $(MAKE) $(MAKEOPT) -f mod_negotiation.mak CFG="mod_negotiation - Win32 $(LONG)" RECURSE=0 $(CTARGET)
418          $(MAKE) $(MAKEOPT) -f mod_rewrite.mak     CFG="mod_rewrite - Win32 $(LONG)" RECURSE=0 $(CTARGET)
419          $(MAKE) $(MAKEOPT) -f mod_speling.mak     CFG="mod_speling - Win32 $(LONG)" RECURSE=0 $(CTARGET)
420          $(MAKE) $(MAKEOPT) -f mod_userdir.mak     CFG="mod_userdir - Win32 $(LONG)" RECURSE=0 $(CTARGET)
421          $(MAKE) $(MAKEOPT) -f mod_vhost_alias.mak CFG="mod_vhost_alias - Win32 $(LONG)" RECURSE=0 $(CTARGET)
422         cd ..\..
423         cd modules\metadata
424          $(MAKE) $(MAKEOPT) -f mod_cern_meta.mak   CFG="mod_cern_meta - Win32 $(LONG)" RECURSE=0 $(CTARGET)
425          $(MAKE) $(MAKEOPT) -f mod_env.mak         CFG="mod_env - Win32 $(LONG)" RECURSE=0 $(CTARGET)
426          $(MAKE) $(MAKEOPT) -f mod_expires.mak     CFG="mod_expires - Win32 $(LONG)" RECURSE=0 $(CTARGET)
427          $(MAKE) $(MAKEOPT) -f mod_headers.mak     CFG="mod_headers - Win32 $(LONG)" RECURSE=0 $(CTARGET)
428          $(MAKE) $(MAKEOPT) -f mod_ident.mak       CFG="mod_ident - Win32 $(LONG)" RECURSE=0 $(CTARGET)
429          $(MAKE) $(MAKEOPT) -f mod_mime_magic.mak  CFG="mod_mime_magic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
430          $(MAKE) $(MAKEOPT) -f mod_remoteip.mak    CFG="mod_remoteip - Win32 $(LONG)" RECURSE=0 $(CTARGET)
431          $(MAKE) $(MAKEOPT) -f mod_setenvif.mak    CFG="mod_setenvif - Win32 $(LONG)" RECURSE=0 $(CTARGET)
432          $(MAKE) $(MAKEOPT) -f mod_unique_id.mak   CFG="mod_unique_id - Win32 $(LONG)" RECURSE=0 $(CTARGET)
433          $(MAKE) $(MAKEOPT) -f mod_usertrack.mak   CFG="mod_usertrack - Win32 $(LONG)" RECURSE=0 $(CTARGET)
434          $(MAKE) $(MAKEOPT) -f mod_version.mak     CFG="mod_version - Win32 $(LONG)" RECURSE=0 $(CTARGET)
435         cd ..\..
436         cd modules\proxy
437          $(MAKE) $(MAKEOPT) -f mod_proxy.mak       CFG="mod_proxy - Win32 $(LONG)" RECURSE=0 $(CTARGET)
438          $(MAKE) $(MAKEOPT) -f mod_proxy_ajp.mak   CFG="mod_proxy_ajp - Win32 $(LONG)" RECURSE=0 $(CTARGET)
439          $(MAKE) $(MAKEOPT) -f mod_proxy_balancer.mak  CFG="mod_proxy_balancer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
440          $(MAKE) $(MAKEOPT) -f mod_proxy_connect.mak CFG="mod_proxy_connect - Win32 $(LONG)" RECURSE=0 $(CTARGET)
441          $(MAKE) $(MAKEOPT) -f mod_proxy_fcgi.mak  CFG="mod_proxy_fcgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
442          $(MAKE) $(MAKEOPT) -f mod_proxy_ftp.mak   CFG="mod_proxy_ftp - Win32 $(LONG)" RECURSE=0 $(CTARGET)
443          $(MAKE) $(MAKEOPT) -f mod_proxy_http.mak  CFG="mod_proxy_http - Win32 $(LONG)" RECURSE=0 $(CTARGET)
444         cd ..\..
445         cd modules\proxy\balancers
446          $(MAKE) $(MAKEOPT) -f mod_lbmethod_bybusyness.mak CFG="mod_lbmethod_bybusyness - Win32 $(LONG)" RECURSE=0 $(CTARGET)
447          $(MAKE) $(MAKEOPT) -f mod_lbmethod_byrequests.mak CFG="mod_lbmethod_byrequests - Win32 $(LONG)" RECURSE=0 $(CTARGET)
448          $(MAKE) $(MAKEOPT) -f mod_lbmethod_bytraffic.mak  CFG="mod_lbmethod_bytraffic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
449          $(MAKE) $(MAKEOPT) -f mod_lbmethod_heartbeat.mak  CFG="mod_lbmethod_heartbeat - Win32 $(LONG)" RECURSE=0 $(CTARGET)
450         cd ..\..\..
451 !IFDEF ALL
452         cd modules\proxy\examples
453          $(MAKE) $(MAKEOPT) -f mod_lbmethod_rr.mak CFG="mod_lbmethod_rr - Win32 $(LONG)" RECURSE=0 $(CTARGET)
454         cd ..\..\..
455 !ENDIF
456         cd modules\session
457          $(MAKE) $(MAKEOPT) -f mod_session.mak        CFG="mod_session - Win32 $(LONG)" RECURSE=0 $(CTARGET)
458          $(MAKE) $(MAKEOPT) -f mod_session_cookie.mak CFG="mod_session_cookie - Win32 $(LONG)" RECURSE=0 $(CTARGET)
459          $(MAKE) $(MAKEOPT) -f mod_session_dbd.mak    CFG="mod_session_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
460         cd ..\..
461 !IF EXIST("srclib\openssl")
462         #cd modules\session
463         # $(MAKE) $(MAKEOPT) -f mod_session_crypto.mak CFG="mod_session_crypto - Win32 $(LONG)" RECURSE=0 $(CTARGET)
464         #cd ..\..
465         cd modules\ssl
466          $(MAKE) $(MAKEOPT) -f mod_ssl.mak         CFG="mod_ssl - Win32 $(LONG)" RECURSE=0 $(CTARGET)
467         cd ..\..
468         cd support
469          $(MAKE) $(MAKEOPT) -f abs.mak             CFG="abs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
470         cd ..
471 !ENDIF
472         cd support
473          $(MAKE) $(MAKEOPT) -f ab.mak              CFG="ab - Win32 $(LONG)" RECURSE=0 $(CTARGET)
474 #        $(MAKE) $(MAKEOPT) -f fcgistarter.mak     CFG="fcgistarter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
475          $(MAKE) $(MAKEOPT) -f htcacheclean.mak    CFG="htcacheclean - Win32 $(LONG)" RECURSE=0 $(CTARGET)
476          $(MAKE) $(MAKEOPT) -f htdbm.mak           CFG="htdbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
477          $(MAKE) $(MAKEOPT) -f htdigest.mak        CFG="htdigest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
478          $(MAKE) $(MAKEOPT) -f htpasswd.mak        CFG="htpasswd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
479          $(MAKE) $(MAKEOPT) -f httxt2dbm.mak       CFG="httxt2dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
480          $(MAKE) $(MAKEOPT) -f logresolve.mak      CFG="logresolve - Win32 $(LONG)" RECURSE=0 $(CTARGET)
481          $(MAKE) $(MAKEOPT) -f rotatelogs.mak      CFG="rotatelogs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
482         cd ..
483         cd support\win32
484          $(MAKE) $(MAKEOPT) -f ApacheMonitor.mak   CFG="ApacheMonitor - Win32 $(LONG)" RECURSE=0 $(CTARGET)
485          $(MAKE) $(MAKEOPT) -f wintty.mak          CFG="wintty - Win32 $(LONG)" RECURSE=0 $(CTARGET)
486         cd ..\..
487
488 !ELSEIF $(USESLN) == 1
489
490 _cleanr:  
491         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/clean" _build
492
493 _cleand:  
494         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   CTARGET="/clean" _build
495
496 _build:
497         echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
498 !IFDEF ALL
499         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project BuildAll
500 !ELSE
501         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project BuildBin
502 !ENDIF
503 !IF EXIST("srclib\openssl")
504         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_ssl
505         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project abs
506 !ENDIF
507 !IF EXIST("srclib\zlib")
508         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_deflate
509 !ENDIF
510 !IF EXIST("srclib\lua")
511         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_lua
512 !ENDIF
513
514 !ELSE
515
516 _cleanr:  
517         @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/CLEAN" _build
518
519 _cleand:  
520         @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   CTARGET="/CLEAN" _build
521
522 _build:
523         @echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
524 !IFDEF ALL
525         @msdev Apache.dsw /USEENV /MAKE \
526                 "BuildAll - Win32 $(LONG)" $(CTARGET)
527 !ELSE
528         @msdev Apache.dsw /USEENV /MAKE \
529                 "BuildBin - Win32 $(LONG)" $(CTARGET)
530 !ENDIF
531 !IF "$(CTARGET)" == "/CLEAN"
532         @cd srclib\apr-iconv
533         @$(MAKE) $(MAKEOPT) -f build\modules.mk.win clean \
534                 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=.
535         @cd ..\..
536 !ENDIF
537 !IF EXIST("srclib\openssl")
538         @msdev Apache.dsw /USEENV /MAKE \
539                 "mod_ssl - Win32 $(LONG)" \
540                 "abs - Win32 $(LONG)" /NORECURSE $(CTARGET)
541 !ENDIF
542 !IF EXIST("srclib\zlib")
543         @msdev Apache.dsw /USEENV /MAKE \
544                 "mod_deflate - Win32 $(LONG)" /NORECURSE $(CTARGET)
545 !ENDIF
546 !IF EXIST("srclib\lua")
547         @msdev Apache.dsw /USEENV /MAKE \
548                 "mod_lua - Win32 $(LONG)" /NORECURSE $(CTARGET)
549 !ENDIF
550
551 !ENDIF
552
553
554 _copybin:
555         copy $(LONG)\httpd.$(src_exe)                           "$(inst_exe)" <.y
556         copy $(LONG)\libhttpd.$(src_dll)                        "$(inst_dll)" <.y
557         copy srclib\apr\$(LONG)\libapr-1.$(src_dll)             "$(inst_dll)" <.y
558         copy srclib\apr-iconv\$(LONG)\libapriconv-1.$(src_dll)  "$(inst_dll)" <.y
559         copy srclib\apr-util\$(LONG)\libaprutil-1.$(src_dll)    "$(inst_dll)" <.y
560         copy srclib\apr-util\ldap\$(LONG)\apr_ldap-1.$(src_dll) "$(inst_dll)" <.y
561         for %d in (odbc $(DBD_LIST)) do ( \
562           copy srclib\apr-util\dbd\$(LONG)\apr_dbd_%d-1.$(src_dll) "$(inst_dll)" <.y \
563         )
564         copy srclib\pcre\pcre.$(src_dll)                        "$(inst_dll)" <.y
565         copy modules\aaa\$(LONG)\mod_access_compat.$(src_so)    "$(inst_so)" <.y
566         copy modules\aaa\$(LONG)\mod_auth_basic.$(src_so)       "$(inst_so)" <.y
567         copy modules\aaa\$(LONG)\mod_auth_digest.$(src_so)      "$(inst_so)" <.y
568         copy modules\aaa\$(LONG)\mod_auth_form.$(src_so)        "$(inst_so)" <.y
569         copy modules\aaa\$(LONG)\mod_authn_anon.$(src_so)       "$(inst_so)" <.y
570         copy modules\aaa\$(LONG)\mod_authn_core.$(src_so)       "$(inst_so)" <.y
571         copy modules\aaa\$(LONG)\mod_authn_dbd.$(src_so)        "$(inst_so)" <.y
572         copy modules\aaa\$(LONG)\mod_authn_dbm.$(src_so)        "$(inst_so)" <.y
573         copy modules\aaa\$(LONG)\mod_authn_file.$(src_so)       "$(inst_so)" <.y
574         copy modules\aaa\$(LONG)\mod_authnz_ldap.$(src_so)      "$(inst_so)" <.y
575         copy modules\aaa\$(LONG)\mod_authz_core.$(src_so)       "$(inst_so)" <.y
576         copy modules\aaa\$(LONG)\mod_authz_dbd.$(src_so)        "$(inst_so)" <.y
577         copy modules\aaa\$(LONG)\mod_authz_dbm.$(src_so)        "$(inst_so)" <.y
578         copy modules\aaa\$(LONG)\mod_authz_core.$(src_so)       "$(inst_so)" <.y
579         copy modules\aaa\$(LONG)\mod_authz_groupfile.$(src_so)  "$(inst_so)" <.y
580         copy modules\aaa\$(LONG)\mod_authz_host.$(src_so)       "$(inst_so)" <.y
581         copy modules\aaa\$(LONG)\mod_authz_owner.$(src_so)      "$(inst_so)" <.y
582         copy modules\aaa\$(LONG)\mod_authz_user.$(src_so)       "$(inst_so)" <.y
583         copy modules\arch\win32\$(LONG)\mod_isapi.$(src_so)     "$(inst_so)" <.y
584         copy modules\cache\$(LONG)\mod_cache.$(src_so)          "$(inst_so)" <.y
585         copy modules\cache\$(LONG)\mod_file_cache.$(src_so)     "$(inst_so)" <.y
586         copy modules\cache\$(LONG)\mod_disk_cache.$(src_so)     "$(inst_so)" <.y
587         copy modules\cache\$(LONG)\mod_socache_dbm.$(src_so)    "$(inst_so)" <.y
588 #       copy modules\cache\$(LONG)\mod_socache_dc.$(src_so)     "$(inst_so)" <.y
589         copy modules\cache\$(LONG)\mod_socache_memcache.$(src_so) "$(inst_so)" <.y
590         copy modules\cache\$(LONG)\mod_socache_shmcb.$(src_so)  "$(inst_so)" <.y
591         copy modules\core\$(LONG)\mod_watchdog.$(src_so)        "$(inst_so)" <.y
592         copy modules\cluster\$(LONG)\mod_heartbeat.$(src_so)    "$(inst_so)" <.y
593         copy modules\cluster\$(LONG)\mod_heartmonitor.$(src_so) "$(inst_so)" <.y
594         copy modules\database\$(LONG)\mod_dbd.$(src_so)         "$(inst_so)" <.y
595         copy modules\dav\fs\$(LONG)\mod_dav_fs.$(src_so)        "$(inst_so)" <.y
596         copy modules\dav\lock\$(LONG)\mod_dav_lock.$(src_so)    "$(inst_so)" <.y
597         copy modules\dav\main\$(LONG)\mod_dav.$(src_so)         "$(inst_so)" <.y
598 !IFDEF ALL
599         copy modules\debugging\$(LONG)\mod_bucketeer.$(src_so)  "$(inst_so)" <.y
600 !ENDIF
601         copy modules\debugging\$(LONG)\mod_dumpio.$(src_so)     "$(inst_so)" <.y
602 !IFDEF ALL
603         copy modules\echo\$(LONG)\mod_echo.$(src_so)            "$(inst_so)" <.y
604         copy modules\examples\$(LONG)\mod_case_filter.$(src_so)    "$(inst_so)" <.y
605         copy modules\examples\$(LONG)\mod_case_filter_in.$(src_so) "$(inst_so)" <.y
606         copy modules\examples\$(LONG)\mod_example_hooks.$(src_so)  "$(inst_so)" <.y
607         copy modules\examples\$(LONG)\mod_example_ipc.$(src_so)    "$(inst_so)" <.y
608 !ENDIF
609         copy modules\filters\$(LONG)\mod_buffer.$(src_so)       "$(inst_so)" <.y
610         copy modules\filters\$(LONG)\mod_charset_lite.$(src_so) "$(inst_so)" <.y
611 !IF EXIST("srclib\zlib")
612         copy modules\filters\$(LONG)\mod_deflate.$(src_so)      "$(inst_so)" <.y
613 !IF EXIST("srclib\zlib\zlib1.$(src_dll)")
614         copy srclib\zlib\zlib1.$(src_dll)                       "$(inst_dll)" <.y
615 !ENDIF
616 !ENDIF
617         copy modules\filters\$(LONG)\mod_ext_filter.$(src_so)   "$(inst_so)" <.y
618         copy modules\filters\$(LONG)\mod_filter.$(src_so)       "$(inst_so)" <.y
619         copy modules\filters\$(LONG)\mod_include.$(src_so)      "$(inst_so)" <.y
620         copy modules\filters\$(LONG)\mod_ratelimit.$(src_so)    "$(inst_so)" <.y
621         copy modules\filters\$(LONG)\mod_request.$(src_so)      "$(inst_so)" <.y
622         copy modules\filters\$(LONG)\mod_sed.$(src_so)          "$(inst_so)" <.y
623         copy modules\filters\$(LONG)\mod_substitute.$(src_so)   "$(inst_so)" <.y
624         copy modules\generators\$(LONG)\mod_asis.$(src_so)      "$(inst_so)" <.y
625         copy modules\generators\$(LONG)\mod_autoindex.$(src_so) "$(inst_so)" <.y
626         copy modules\generators\$(LONG)\mod_cgi.$(src_so)       "$(inst_so)" <.y
627         copy modules\generators\$(LONG)\mod_info.$(src_so)      "$(inst_so)" <.y
628         copy modules\generators\$(LONG)\mod_status.$(src_so)    "$(inst_so)" <.y
629         copy modules\http\$(LONG)\mod_mime.$(src_so)            "$(inst_so)" <.y
630         copy modules\ldap\$(LONG)\mod_ldap.$(src_so)            "$(inst_so)" <.y
631         copy modules\loggers\$(LONG)\mod_log_config.$(src_so)   "$(inst_so)" <.y
632         copy modules\loggers\$(LONG)\mod_log_forensic.$(src_so) "$(inst_so)" <.y
633         copy modules\loggers\$(LONG)\mod_logio.$(src_so)        "$(inst_so)" <.y
634 !IF EXIST("srclib\lua")
635         copy modules\lua\$(LONG)\mod_lua.$(src_so)              "$(inst_so)" <.y
636 !IF EXIST("srclib\lua\src\lua51.$(src_dll)")
637         copy srclib\lua\src\lua51.$(src_dll)                    "$(inst_dll)" <.y
638 !ENDIF
639 !ENDIF
640         copy modules\mappers\$(LONG)\mod_actions.$(src_so)      "$(inst_so)" <.y
641         copy modules\mappers\$(LONG)\mod_alias.$(src_so)        "$(inst_so)" <.y
642         copy modules\mappers\$(LONG)\mod_dir.$(src_so)          "$(inst_so)" <.y
643         copy modules\mappers\$(LONG)\mod_imagemap.$(src_so)     "$(inst_so)" <.y
644         copy modules\mappers\$(LONG)\mod_negotiation.$(src_so)  "$(inst_so)" <.y
645         copy modules\mappers\$(LONG)\mod_rewrite.$(src_so)      "$(inst_so)" <.y
646         copy modules\mappers\$(LONG)\mod_speling.$(src_so)      "$(inst_so)" <.y
647         copy modules\mappers\$(LONG)\mod_userdir.$(src_so)      "$(inst_so)" <.y
648         copy modules\mappers\$(LONG)\mod_vhost_alias.$(src_so)  "$(inst_so)" <.y
649         copy modules\metadata\$(LONG)\mod_cern_meta.$(src_so)   "$(inst_so)" <.y
650         copy modules\metadata\$(LONG)\mod_env.$(src_so)         "$(inst_so)" <.y
651         copy modules\metadata\$(LONG)\mod_expires.$(src_so)     "$(inst_so)" <.y
652         copy modules\metadata\$(LONG)\mod_headers.$(src_so)     "$(inst_so)" <.y
653         copy modules\metadata\$(LONG)\mod_ident.$(src_so)       "$(inst_so)" <.y
654         copy modules\metadata\$(LONG)\mod_mime_magic.$(src_so)  "$(inst_so)" <.y
655         copy modules\metadata\$(LONG)\mod_remoteip.$(src_so)    "$(inst_so)" <.y
656         copy modules\metadata\$(LONG)\mod_setenvif.$(src_so)    "$(inst_so)" <.y
657         copy modules\metadata\$(LONG)\mod_unique_id.$(src_so)   "$(inst_so)" <.y
658         copy modules\metadata\$(LONG)\mod_usertrack.$(src_so)   "$(inst_so)" <.y
659         copy modules\metadata\$(LONG)\mod_version.$(src_so)     "$(inst_so)" <.y
660         copy modules\proxy\$(LONG)\mod_proxy.$(src_so)          "$(inst_so)" <.y
661         copy modules\proxy\$(LONG)\mod_proxy_ajp.$(src_so)      "$(inst_so)" <.y
662         copy modules\proxy\$(LONG)\mod_proxy_balancer.$(src_so) "$(inst_so)" <.y
663         copy modules\proxy\$(LONG)\mod_proxy_connect.$(src_so)  "$(inst_so)" <.y
664         copy modules\proxy\$(LONG)\mod_proxy_fcgi.$(src_so)     "$(inst_so)" <.y
665         copy modules\proxy\$(LONG)\mod_proxy_ftp.$(src_so)      "$(inst_so)" <.y
666         copy modules\proxy\$(LONG)\mod_proxy_http.$(src_so)     "$(inst_so)" <.y
667         copy modules\proxy\balancers\$(LONG)\mod_lbmethod_bybusyness.$(src_so) "$(inst_so)" <.y
668         copy modules\proxy\balancers\$(LONG)\mod_lbmethod_byrequests.$(src_so) "$(inst_so)" <.y
669         copy modules\proxy\balancers\$(LONG)\mod_lbmethod_bytraffic.$(src_so)  "$(inst_so)" <.y
670         copy modules\proxy\balancers\$(LONG)\mod_lbmethod_heartbeat.$(src_so)  "$(inst_so)" <.y
671 !IFDEF ALL
672         copy modules\proxy\examples\$(LONG)\mod_lbmethod_rr.$(src_so) "$(inst_so)" <.y
673 !ENDIF
674         copy modules\session\$(LONG)\mod_session.$(src_so)        "$(inst_so)" <.y
675         copy modules\session\$(LONG)\mod_session_cookie.$(src_so) "$(inst_so)" <.y
676         copy modules\session\$(LONG)\mod_session_dbd.$(src_so)    "$(inst_so)" <.y
677 !IF EXIST("srclib\openssl")
678 #       copy modules\session\$(LONG)\mod_session_crypto.$(src_so) "$(inst_so)" <.y
679         copy modules\ssl\$(LONG)\mod_ssl.$(src_so)              "$(inst_so)" <.y
680         -copy srclib\openssl\$(SSLBIN)\libeay32.$(src_dll)      "$(inst_dll)" <.y
681         -copy srclib\openssl\$(SSLBIN)\ssleay32.$(src_dll)      "$(inst_dll)" <.y
682         -copy srclib\openssl\$(SSLBIN)\openssl.$(src_exe)       "$(inst_exe)" <.y
683         copy support\$(LONG)\abs.$(src_exe)                     "$(inst_exe)" <.y
684 !ENDIF
685         copy support\$(LONG)\ab.$(src_exe)                      "$(inst_exe)" <.y
686 #       copy support\$(LONG)\fcgistarter.$(src_exe)             "$(inst_exe)" <.y
687         copy support\$(LONG)\htcacheclean.$(src_exe)            "$(inst_exe)" <.y
688         copy support\$(LONG)\htdbm.$(src_exe)                   "$(inst_exe)" <.y
689         copy support\$(LONG)\htdigest.$(src_exe)                "$(inst_exe)" <.y
690         copy support\$(LONG)\htpasswd.$(src_exe)                "$(inst_exe)" <.y
691         copy support\$(LONG)\httxt2dbm.$(src_exe)               "$(inst_exe)" <.y
692         copy support\$(LONG)\logresolve.$(src_exe)              "$(inst_exe)" <.y
693         copy support\$(LONG)\rotatelogs.$(src_exe)              "$(inst_exe)" <.y
694         copy support\win32\$(LONG)\ApacheMonitor.$(src_exe)     "$(inst_exe)" <.y
695         copy support\win32\$(LONG)\wintty.$(src_exe)            "$(inst_exe)" <.y
696
697
698 # First we create the tree and populate the README so that 
699 # whatever happens, all licensing has already propagated.  
700 # Then repeatedly invoke the _copybin build to copy the
701 # real binaries, then pdb symbols, anf finally dbg syms.
702 # Then hit docs of various sorts, then includes and libs,
703 # and finally do the .conf magic.
704 #
705 _install:
706         echo Y >.y
707         echo A >.A
708         -mkdir "$(INSTDIR)"
709         -mkdir "$(INSTDIR)\bin"
710         -mkdir "$(INSTDIR)\bin\iconv"
711         -mkdir "$(INSTDIR)\cgi-bin"
712         -mkdir "$(INSTDIR)\conf"
713         -mkdir "$(INSTDIR)\conf\extra"
714         -mkdir "$(INSTDIR)\conf\original"
715         -mkdir "$(INSTDIR)\conf\original\extra"
716         -mkdir "$(INSTDIR)\error"
717         -mkdir "$(INSTDIR)\htdocs"
718         -mkdir "$(INSTDIR)\manual"
719         -mkdir "$(INSTDIR)\icons"
720         -mkdir "$(INSTDIR)\include"
721         -mkdir "$(INSTDIR)\lib"
722         -mkdir "$(INSTDIR)\logs"
723         -mkdir "$(INSTDIR)\modules"
724         -mkdir "$(INSTDIR)\symbols"
725         -mkdir "$(INSTDIR)\symbols\exe"
726         -mkdir "$(INSTDIR)\symbols\dll"
727         -mkdir "$(INSTDIR)\symbols\so"
728         copy ABOUT_APACHE "$(INSTDIR)\ABOUT_APACHE.txt" <.y
729         copy CHANGES      "$(INSTDIR)\CHANGES.txt" <.y
730         copy INSTALL      "$(INSTDIR)\INSTALL.txt" <.y
731         copy LICENSE      "$(INSTDIR)\LICENSE.txt" <.y
732         copy NOTICE       "$(INSTDIR)\NOTICE.txt" <.y
733         copy README       "$(INSTDIR)\README.txt" <.y
734         type << >> "$(INSTDIR)\NOTICE.txt"
735
736 Regular expression support is provided by the PCRE library package,
737 which is open source software, written by Philip Hazel, and copyright
738 by the University of Cambridge, England. The original software is
739 available from
740   ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
741 <<
742         -awk -f <<script1.awk < "srclib\pcre\LICENCE" >> "$(INSTDIR)\LICENSE.txt"
743 BEGIN {
744     print "";
745     print "For the pcre.dll component:";
746     print "";
747     while ( getline > 0 ) {
748         if ( $$0 ~ /^End$$/ ) $$0 = "END OF PCRE LICENSE";
749         print $$0;
750    }
751 }
752 <<
753 !IF EXIST("srclib\openssl")
754         -copy srclib\openssl\apps\openssl.cnf "$(INSTDIR)\conf\openssl.cnf" <.y
755         type << >> "$(INSTDIR)\NOTICE.txt"
756
757 This binary distribution includes cryptographic software written by
758 Eric Young (eay@cryptsoft.com), software written by Tim Hudson 
759 (tjh@cryptsoft.com), and software developed by the OpenSSL Project 
760 for use in the OpenSSL Toolkit <http://www.openssl.org/>.
761 <<
762         -awk -f <<script.awk < "srclib\openssl\LICENSE" >> "$(INSTDIR)\LICENSE.txt"
763 BEGIN {
764     print "";
765     print "For the libeay32.dll, ssleay32.dll and openssl.exe components:";
766     print "";
767     while ( getline > 0 ) {
768         print $$0;
769    }
770 }
771 <<
772         copy << "$(INSTDIR)\OPENSSL-NEWS.txt" <.y
773
774  Apache HTTP Server 2.3 Limited OpenSSL Distribution
775
776  This binary distribution includes the minimal components of OpenSSL required
777  to support mod_ssl for Apache HTTP Server version 2.3 (details are listed 
778  in OPENSSL-README.txt.)  For the complete list of CHANGES to this and later 
779  versions of OpenSSL, please refer to the definative source,
780  <http://www.openssl.org/news/changelog.html>, or see the CHANGES file in the
781  full binary or source distribution package from <http://www.openssl.org/>.
782
783  These OpenSSL binaries were built for distribution from the U.S. without 
784  support for the patented encryption methods IDEA, MDC-2 or RC5.
785
786 --------------------------------------------------------------------------------
787
788 <<
789         -copy "$(INSTDIR)\OPENSSL-NEWS.txt" \
790             + srclib\openssl\NEWS "$(INSTDIR)\OPENSSL-NEWS.txt"
791         copy << "$(INSTDIR)\OPENSSL-README.txt" <.y
792
793  Apache HTTP Server 2.3 Limited OpenSSL Distribution
794
795  This binary installation of OpenSSL is a limited distribution of the
796  files derived from the OpenSSL project:
797
798    LICENSE.txt (includes openssl LICENSE)
799    OPENSSL-NEWS.txt
800    OPENSSL-README.txt
801    conf\openssl.cnf
802    bin\libeay32.dll
803    bin\ssleay32.dll
804    bin\openssl.exe
805
806  These are the minimal libraries and tools required to use mod_ssl as 
807  distributed with Apache HTTP Server version 2.3.  No library link files, 
808  headers or sources are distributed with this binary distribution.  Please 
809  refer to the <http://www.openssl.org/> site for complete source or binary 
810  distributions.
811
812  These OpenSSL binaries were built for distribution from the U.S. without 
813  support for the patented encryption methods IDEA, MDC-2 or RC5.
814
815  The Apache HTTP Project only supports the binary distribution of these files
816  and development of the mod_ssl module.  We cannot provide support assistance
817  for using or configuring the OpenSSL package or these modules.  Please refer
818  all installation and configuration questions to the appropriate forum,
819  such as the user supported lists, <http://httpd.apache.org/userslist.html> 
820  the Apache HTTP Server user's list or <http://www.openssl.org/support/> the
821  OpenSSL support page.
822
823 --------------------------------------------------------------------------------
824
825 <<
826         -copy "$(INSTDIR)\OPENSSL-README.txt" \
827             + srclib\openssl\README "$(INSTDIR)\OPENSSL-README.txt"
828 !ENDIF
829 !IF EXIST("srclib\zlib")
830         type << >> "$(INSTDIR)\NOTICE.txt"
831
832 This binary distribution of mod_deflate.so includes zlib compression code
833 <http://www.gzip.org/zlib/> written by Jean-loup Gailly (jloup@gzip.org)
834 and Mark Adler (madler@alumni.caltech.edu) .
835 <<
836         -awk -f <<script.awk < "srclib\zlib\README" >> "$(INSTDIR)\LICENSE.txt"
837 BEGIN {
838     while ( getline > 0 ) {
839         if ( $$0 ~ /Copyright notice:/ ) {
840             print "";
841             print "For the mod_deflate zlib compression component:";
842             while ( getline > 0 && $$0 !~ /^[^ ]/ ) {
843                 print $$0;
844             }
845             exit 0;
846         }
847     }
848     exit 1;
849 }
850 <<
851 !ENDIF
852 !IF EXIST("srclib\lua")
853         type << >> "$(INSTDIR)\NOTICE.txt"
854
855 This binary distribution of mod_lua.so includes the Lua language, 
856 developed at Lua.org, a laboratory of the Department of Computer Science 
857 of PUC-Rio (the Pontifical Catholic University of Rio de Janeiro in Brazil).
858 For complete information, visit Lua's web site at http://www.lua.org/
859 <<
860         -awk -f <<script.awk < "srclib\lua\COPYRIGHT" >> "$(INSTDIR)\LICENSE.txt"
861 BEGIN {
862     print "";
863     print "For the mod_lua language component:";
864     print "";
865     while ( getline > 0 && $$0 !~ /end of COPYRIGHT/ ) {
866         print $$0;
867     }
868     exit 0;
869 }
870 <<
871 !ENDIF
872         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=$(SHORT) LONG=$(LONG) \
873                 _copybin src_exe=exe src_dll=dll src_so=so             \
874                 inst_exe="$(INSTDIR)\bin"                              \
875                 inst_dll="$(INSTDIR)\bin"                              \
876                 inst_so="$(INSTDIR)\modules"
877         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=$(SHORT) LONG=$(LONG) \
878                 _copybin src_exe=pdb src_dll=pdb src_so=pdb            \
879                 inst_exe="$(INSTDIR)\bin"                              \
880                 inst_dll="$(INSTDIR)\bin"                              \
881                 inst_so="$(INSTDIR)\modules"
882         cd srclib\apr-iconv
883         $(MAKE) $(MAKEOPT) -f build\modules.mk.win install \
884                 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=. \
885                 INSTALL_DIR="$(INSTDIR)\bin\iconv"
886         cd ..\..
887         copy docs\cgi-examples\printenv "$(INSTDIR)\cgi-bin\printenv.pl" <.y
888         -awk -f <<script.awk "docs/cgi-examples/printenv" > "$(INSTDIR)\cgi-bin\printenv.pl"
889     BEGIN { 
890         if ( "perl -e \"print $$^X;\"" | getline perlroot ) {
891             gsub( /\\/, "/", perlroot );
892             print "#!" perlroot;
893         }
894     }
895     {
896         if ( $$0 !~ /^#!/ ) {
897             print $$0;
898         }
899     }
900 <<
901         xcopy docs\error        "$(INSTDIR)\error" /s /d < .a
902         xcopy docs\docroot      "$(INSTDIR)\htdocs" /d < .a
903         xcopy docs\icons        "$(INSTDIR)\icons" /s /d < .a
904         xcopy docs\manual       "$(INSTDIR)\manual" /s /d < .a
905         for %f in ( \
906                 srclib\apr-util\xml\expat\lib\expat.h \
907                 srclib\apr\include\*.h \
908                 srclib\apr-util\include\*.h \
909                 include\*.h \
910                 os\win32\os.h \
911                 modules\cache\mod_cache.h \
912                 modules\core\mod_so.h \
913                 modules\core\mod_watchdog.h \
914                 modules\database\mod_dbd.h \
915                 modules\dav\main\mod_dav.h \
916                 modules\filters\mod_include.h \
917                 modules\generators\mod_cgi.h \
918                 modules\generators\mod_status.h \
919                 modules\loggers\mod_log_config.h \
920                 modules\mappers\mod_rewrite.h \
921                 modules\proxy\mod_proxy.h \
922                 modules\proxy\mod_serf.h \
923                 modules\ssl\mod_ssl.h \
924           ) do \
925             @copy %f "$(INSTDIR)\include" < .y > nul
926         copy srclib\apr\Lib$(SHORT)\apr-1.lib           "$(INSTDIR)\lib" <.y
927         copy srclib\apr\Lib$(SHORT)\apr-1.pdb           "$(INSTDIR)\lib" <.y
928         copy srclib\apr-util\Lib$(SHORT)\aprutil-1.lib  "$(INSTDIR)\lib" <.y
929         copy srclib\apr-util\Lib$(SHORT)\aprutil-1.pdb  "$(INSTDIR)\lib" <.y
930         copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml.lib "$(INSTDIR)\lib" <.y
931         copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml.pdb "$(INSTDIR)\lib" <.y
932         copy srclib\apr\$(LONG)\libapr-1.lib            "$(INSTDIR)\lib" <.y
933         copy srclib\apr\$(LONG)\libapr-1.exp            "$(INSTDIR)\lib" <.y
934         copy srclib\apr-iconv\$(LONG)\libapriconv-1.lib "$(INSTDIR)\lib" <.y
935         copy srclib\apr-iconv\$(LONG)\libapriconv-1.exp "$(INSTDIR)\lib" <.y
936         copy srclib\apr-util\$(LONG)\libaprutil-1.lib   "$(INSTDIR)\lib" <.y
937         copy srclib\apr-util\$(LONG)\libaprutil-1.exp   "$(INSTDIR)\lib" <.y
938         copy $(LONG)\libhttpd.exp                       "$(INSTDIR)\lib" <.y
939         copy $(LONG)\libhttpd.lib                       "$(INSTDIR)\lib" <.y
940         copy modules\dav\main\$(LONG)\mod_dav.exp       "$(INSTDIR)\lib" <.y
941         copy modules\dav\main\$(LONG)\mod_dav.lib       "$(INSTDIR)\lib" <.y
942         for %f in ( charset.conv magic mime.types ) do ( \
943           copy docs\conf\%f "$(INSTDIR)\conf\original\%f" <.y )
944         awk -f build\installwinconf.awk $(DOMAINNAME) $(SERVERNAME) \
945             $(SERVERADMIN) $(PORT) $(SSLPORT) "$(INSTDIR) " docs/conf/ 
946         copy "support\dbmmanage.in" "$(INSTDIR)\bin\dbmmanage.pl"
947         -awk -f <<script.awk "support/dbmmanage.in" >"$(INSTDIR)\bin\dbmmanage.pl"
948     { if ( $$0 ~ /^BEGIN \{ @AnyDBM_File::/ ) {
949           sub( /ISA = qw\(.*\)/, "ISA = qw(SDBM_File)" ); 
950       }
951       if ( $$0 !~ /^#!@perlbin@/ )
952           print $$0;
953     }
954 <<
955         del .y
956         del .a