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