]> granicus.if.org Git - apache/blob - Makefile.win
Add microsecond timestamps to the error log.
[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_usertrack.mak   CFG="mod_usertrack - Win32 $(LONG)" RECURSE=0 $(CTARGET)
479          $(MAKE) $(MAKEOPT) -f mod_version.mak     CFG="mod_version - Win32 $(LONG)" RECURSE=0 $(CTARGET)
480         cd ..\..
481         cd modules\proxy
482          $(MAKE) $(MAKEOPT) -f mod_proxy.mak       CFG="mod_proxy - Win32 $(LONG)" RECURSE=0 $(CTARGET)
483          $(MAKE) $(MAKEOPT) -f mod_proxy_ajp.mak   CFG="mod_proxy_ajp - Win32 $(LONG)" RECURSE=0 $(CTARGET)
484          $(MAKE) $(MAKEOPT) -f mod_proxy_balancer.mak  CFG="mod_proxy_balancer - Win32 $(LONG)" RECURSE=0 $(CTARGET)
485          $(MAKE) $(MAKEOPT) -f mod_proxy_connect.mak CFG="mod_proxy_connect - Win32 $(LONG)" RECURSE=0 $(CTARGET)
486          $(MAKE) $(MAKEOPT) -f mod_proxy_fcgi.mak  CFG="mod_proxy_fcgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
487          $(MAKE) $(MAKEOPT) -f mod_proxy_ftp.mak   CFG="mod_proxy_ftp - Win32 $(LONG)" RECURSE=0 $(CTARGET)
488          $(MAKE) $(MAKEOPT) -f mod_proxy_http.mak  CFG="mod_proxy_http - Win32 $(LONG)" RECURSE=0 $(CTARGET)
489          $(MAKE) $(MAKEOPT) -f mod_proxy_scgi.mak  CFG="mod_proxy_scgi - Win32 $(LONG)" RECURSE=0 $(CTARGET)
490 !IF EXIST("srclib\serf")
491          $(MAKE) $(MAKEOPT) -f mod_serf.mak        CFG="mod_serf - Win32 $(LONG)" RECURSE=0 $(CTARGET)
492 !ENDIF
493         cd ..\..
494         cd modules\proxy\balancers
495          $(MAKE) $(MAKEOPT) -f mod_lbmethod_bybusyness.mak CFG="mod_lbmethod_bybusyness - Win32 $(LONG)" RECURSE=0 $(CTARGET)
496          $(MAKE) $(MAKEOPT) -f mod_lbmethod_byrequests.mak CFG="mod_lbmethod_byrequests - Win32 $(LONG)" RECURSE=0 $(CTARGET)
497          $(MAKE) $(MAKEOPT) -f mod_lbmethod_bytraffic.mak  CFG="mod_lbmethod_bytraffic - Win32 $(LONG)" RECURSE=0 $(CTARGET)
498          $(MAKE) $(MAKEOPT) -f mod_lbmethod_heartbeat.mak  CFG="mod_lbmethod_heartbeat - Win32 $(LONG)" RECURSE=0 $(CTARGET)
499         cd ..\..\..
500 !IFDEF ALL
501         cd modules\proxy\examples
502          $(MAKE) $(MAKEOPT) -f mod_lbmethod_rr.mak CFG="mod_lbmethod_rr - Win32 $(LONG)" RECURSE=0 $(CTARGET)
503         cd ..\..\..
504 !ENDIF
505         cd modules\session
506          $(MAKE) $(MAKEOPT) -f mod_session.mak        CFG="mod_session - Win32 $(LONG)" RECURSE=0 $(CTARGET)
507          $(MAKE) $(MAKEOPT) -f mod_session_cookie.mak CFG="mod_session_cookie - Win32 $(LONG)" RECURSE=0 $(CTARGET)
508          $(MAKE) $(MAKEOPT) -f mod_session_dbd.mak    CFG="mod_session_dbd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
509         cd ..\..
510 !IF EXIST("srclib\openssl")
511         #cd modules\session
512         # $(MAKE) $(MAKEOPT) -f mod_session_crypto.mak CFG="mod_session_crypto - Win32 $(LONG)" RECURSE=0 $(CTARGET)
513         #cd ..\..
514         cd modules\ssl
515          $(MAKE) $(MAKEOPT) -f mod_ssl.mak         CFG="mod_ssl - Win32 $(LONG)" RECURSE=0 $(CTARGET)
516         cd ..\..
517         cd support
518          $(MAKE) $(MAKEOPT) -f abs.mak             CFG="abs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
519         cd ..
520 !ENDIF
521         cd support
522          $(MAKE) $(MAKEOPT) -f ab.mak              CFG="ab - Win32 $(LONG)" RECURSE=0 $(CTARGET)
523 #        $(MAKE) $(MAKEOPT) -f fcgistarter.mak     CFG="fcgistarter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
524          $(MAKE) $(MAKEOPT) -f htcacheclean.mak    CFG="htcacheclean - Win32 $(LONG)" RECURSE=0 $(CTARGET)
525          $(MAKE) $(MAKEOPT) -f htdbm.mak           CFG="htdbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
526          $(MAKE) $(MAKEOPT) -f htdigest.mak        CFG="htdigest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
527          $(MAKE) $(MAKEOPT) -f htpasswd.mak        CFG="htpasswd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
528          $(MAKE) $(MAKEOPT) -f httxt2dbm.mak       CFG="httxt2dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
529          $(MAKE) $(MAKEOPT) -f logresolve.mak      CFG="logresolve - Win32 $(LONG)" RECURSE=0 $(CTARGET)
530          $(MAKE) $(MAKEOPT) -f rotatelogs.mak      CFG="rotatelogs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
531         cd ..
532         cd support\win32
533          $(MAKE) $(MAKEOPT) -f ApacheMonitor.mak   CFG="ApacheMonitor - Win32 $(LONG)" RECURSE=0 $(CTARGET)
534          $(MAKE) $(MAKEOPT) -f wintty.mak          CFG="wintty - Win32 $(LONG)" RECURSE=0 $(CTARGET)
535         cd ..\..
536
537 !ELSEIF $(USESLN) == 1
538
539 _cleanr:  
540         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/clean" _build
541
542 _cleand:  
543         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   CTARGET="/clean" _build
544
545 _build:
546         echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
547 !IFDEF ALL
548         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project BuildAll
549 !ELSE
550         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project BuildBin
551 !ENDIF
552 !IF EXIST("srclib\openssl")
553         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_ssl
554         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project abs
555 !ENDIF
556 !IF EXIST("srclib\zlib")
557         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_deflate
558 !ENDIF
559 !IF EXIST("srclib\lua")
560         devenv Apache.sln /useenv $(CTARGET) $(LONG) /project mod_lua
561 !ENDIF
562
563 !ELSE
564
565 _cleanr:  
566         @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET="/CLEAN" _build
567
568 _cleand:  
569         @$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   CTARGET="/CLEAN" _build
570
571 _build:
572         @echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
573 !IFDEF ALL
574         @msdev Apache.dsw /USEENV /MAKE \
575                 "BuildAll - Win32 $(LONG)" $(CTARGET)
576 !ELSE
577         @msdev Apache.dsw /USEENV /MAKE \
578                 "BuildBin - Win32 $(LONG)" $(CTARGET)
579 !ENDIF
580 !IF "$(CTARGET)" == "/CLEAN"
581         @cd srclib\apr-iconv
582         @$(MAKE) $(MAKEOPT) -f build\modules.mk.win clean \
583                 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=.
584         @cd ..\..
585 !ENDIF
586 !IF EXIST("srclib\openssl")
587         @msdev Apache.dsw /USEENV /MAKE \
588                 "mod_ssl - Win32 $(LONG)" \
589                 "abs - Win32 $(LONG)" /NORECURSE $(CTARGET)
590 !ENDIF
591 !IF EXIST("srclib\zlib")
592         @msdev Apache.dsw /USEENV /MAKE \
593                 "mod_deflate - Win32 $(LONG)" /NORECURSE $(CTARGET)
594 !ENDIF
595 !IF EXIST("srclib\lua")
596         @msdev Apache.dsw /USEENV /MAKE \
597                 "mod_lua - Win32 $(LONG)" /NORECURSE $(CTARGET)
598 !ENDIF
599
600 !ENDIF
601
602
603 _copybin:
604         copy $(LONG)\httpd.$(src_exe)                           "$(inst_exe)" <.y
605         copy $(LONG)\libhttpd.$(src_dll)                        "$(inst_dll)" <.y
606         copy srclib\apr\$(LONG)\libapr-1.$(src_dll)             "$(inst_dll)" <.y
607         copy srclib\apr-iconv\$(LONG)\libapriconv-1.$(src_dll)  "$(inst_dll)" <.y
608         copy srclib\apr-util\$(LONG)\libaprutil-1.$(src_dll)    "$(inst_dll)" <.y
609         copy srclib\apr-util\ldap\$(LONG)\apr_ldap-1.$(src_dll) "$(inst_dll)" <.y
610 !IF EXIST("srclib\serf")
611         copy srclib\serf\$(LONG)\libserf.$(src_dll)             "$(inst_dll)" <.y
612 !ENDIF
613         for %d in (odbc $(DBD_LIST)) do ( \
614           copy srclib\apr-util\dbd\$(LONG)\apr_dbd_%d-1.$(src_dll) "$(inst_dll)" <.y \
615         )
616         for %d in ($(DBM_LIST) x) do if not %d == x ( \
617           copy srclib\apr-util\dbm\$(LONG)\apr_dbm_%d-1.$(src_dll) "$(inst_dll)" <.y \
618         )
619         copy srclib\pcre\pcre.$(src_dll)                        "$(inst_dll)" <.y
620         copy modules\aaa\$(LONG)\mod_access_compat.$(src_so)    "$(inst_so)" <.y
621         copy modules\aaa\$(LONG)\mod_auth_basic.$(src_so)       "$(inst_so)" <.y
622         copy modules\aaa\$(LONG)\mod_auth_digest.$(src_so)      "$(inst_so)" <.y
623         copy modules\aaa\$(LONG)\mod_auth_form.$(src_so)        "$(inst_so)" <.y
624         copy modules\aaa\$(LONG)\mod_authn_anon.$(src_so)       "$(inst_so)" <.y
625         copy modules\aaa\$(LONG)\mod_authn_core.$(src_so)       "$(inst_so)" <.y
626         copy modules\aaa\$(LONG)\mod_authn_dbd.$(src_so)        "$(inst_so)" <.y
627         copy modules\aaa\$(LONG)\mod_authn_dbm.$(src_so)        "$(inst_so)" <.y
628         copy modules\aaa\$(LONG)\mod_authn_file.$(src_so)       "$(inst_so)" <.y
629         copy modules\aaa\$(LONG)\mod_authnz_ldap.$(src_so)      "$(inst_so)" <.y
630         copy modules\aaa\$(LONG)\mod_authz_core.$(src_so)       "$(inst_so)" <.y
631         copy modules\aaa\$(LONG)\mod_authz_dbd.$(src_so)        "$(inst_so)" <.y
632         copy modules\aaa\$(LONG)\mod_authz_dbm.$(src_so)        "$(inst_so)" <.y
633         copy modules\aaa\$(LONG)\mod_authz_core.$(src_so)       "$(inst_so)" <.y
634         copy modules\aaa\$(LONG)\mod_authz_groupfile.$(src_so)  "$(inst_so)" <.y
635         copy modules\aaa\$(LONG)\mod_authz_host.$(src_so)       "$(inst_so)" <.y
636         copy modules\aaa\$(LONG)\mod_authz_owner.$(src_so)      "$(inst_so)" <.y
637         copy modules\aaa\$(LONG)\mod_authz_user.$(src_so)       "$(inst_so)" <.y
638         copy modules\arch\win32\$(LONG)\mod_isapi.$(src_so)     "$(inst_so)" <.y
639         copy modules\cache\$(LONG)\mod_cache.$(src_so)          "$(inst_so)" <.y
640         copy modules\cache\$(LONG)\mod_file_cache.$(src_so)     "$(inst_so)" <.y
641         copy modules\cache\$(LONG)\mod_disk_cache.$(src_so)     "$(inst_so)" <.y
642         copy modules\cache\$(LONG)\mod_socache_dbm.$(src_so)    "$(inst_so)" <.y
643 #       copy modules\cache\$(LONG)\mod_socache_dc.$(src_so)     "$(inst_so)" <.y
644         copy modules\cache\$(LONG)\mod_socache_memcache.$(src_so) "$(inst_so)" <.y
645         copy modules\cache\$(LONG)\mod_socache_shmcb.$(src_so)  "$(inst_so)" <.y
646         copy modules\core\$(LONG)\mod_watchdog.$(src_so)        "$(inst_so)" <.y
647         copy modules\cluster\$(LONG)\mod_heartbeat.$(src_so)    "$(inst_so)" <.y
648         copy modules\cluster\$(LONG)\mod_heartmonitor.$(src_so) "$(inst_so)" <.y
649         copy modules\database\$(LONG)\mod_dbd.$(src_so)         "$(inst_so)" <.y
650         copy modules\dav\fs\$(LONG)\mod_dav_fs.$(src_so)        "$(inst_so)" <.y
651         copy modules\dav\lock\$(LONG)\mod_dav_lock.$(src_so)    "$(inst_so)" <.y
652         copy modules\dav\main\$(LONG)\mod_dav.$(src_so)         "$(inst_so)" <.y
653 !IFDEF ALL
654         copy modules\debugging\$(LONG)\mod_bucketeer.$(src_so)  "$(inst_so)" <.y
655 !ENDIF
656         copy modules\debugging\$(LONG)\mod_dumpio.$(src_so)     "$(inst_so)" <.y
657 !IFDEF ALL
658         copy modules\echo\$(LONG)\mod_echo.$(src_so)            "$(inst_so)" <.y
659         copy modules\examples\$(LONG)\mod_case_filter.$(src_so)    "$(inst_so)" <.y
660         copy modules\examples\$(LONG)\mod_case_filter_in.$(src_so) "$(inst_so)" <.y
661         copy modules\examples\$(LONG)\mod_example_hooks.$(src_so)  "$(inst_so)" <.y
662         copy modules\examples\$(LONG)\mod_example_ipc.$(src_so)    "$(inst_so)" <.y
663 !ENDIF
664         copy modules\filters\$(LONG)\mod_buffer.$(src_so)       "$(inst_so)" <.y
665         copy modules\filters\$(LONG)\mod_charset_lite.$(src_so) "$(inst_so)" <.y
666 !IF EXIST("srclib\zlib")
667         copy modules\filters\$(LONG)\mod_deflate.$(src_so)      "$(inst_so)" <.y
668 !IF EXIST("srclib\zlib\zlib1.$(src_dll)")
669         copy srclib\zlib\zlib1.$(src_dll)                       "$(inst_dll)" <.y
670 !ENDIF
671 !ENDIF
672         copy modules\filters\$(LONG)\mod_ext_filter.$(src_so)   "$(inst_so)" <.y
673         copy modules\filters\$(LONG)\mod_filter.$(src_so)       "$(inst_so)" <.y
674         copy modules\filters\$(LONG)\mod_include.$(src_so)      "$(inst_so)" <.y
675         copy modules\filters\$(LONG)\mod_ratelimit.$(src_so)    "$(inst_so)" <.y
676         copy modules\filters\$(LONG)\mod_reqtimeout.$(src_so)   "$(inst_so)" <.y
677         copy modules\filters\$(LONG)\mod_request.$(src_so)      "$(inst_so)" <.y
678         copy modules\filters\$(LONG)\mod_sed.$(src_so)          "$(inst_so)" <.y
679         copy modules\filters\$(LONG)\mod_substitute.$(src_so)   "$(inst_so)" <.y
680         copy modules\generators\$(LONG)\mod_asis.$(src_so)      "$(inst_so)" <.y
681         copy modules\generators\$(LONG)\mod_autoindex.$(src_so) "$(inst_so)" <.y
682         copy modules\generators\$(LONG)\mod_cgi.$(src_so)       "$(inst_so)" <.y
683         copy modules\generators\$(LONG)\mod_info.$(src_so)      "$(inst_so)" <.y
684         copy modules\generators\$(LONG)\mod_status.$(src_so)    "$(inst_so)" <.y
685         copy modules\http\$(LONG)\mod_mime.$(src_so)            "$(inst_so)" <.y
686         copy modules\ldap\$(LONG)\mod_ldap.$(src_so)            "$(inst_so)" <.y
687         copy modules\loggers\$(LONG)\mod_log_config.$(src_so)   "$(inst_so)" <.y
688         copy modules\loggers\$(LONG)\mod_log_forensic.$(src_so) "$(inst_so)" <.y
689         copy modules\loggers\$(LONG)\mod_logio.$(src_so)        "$(inst_so)" <.y
690 !IF EXIST("srclib\lua")
691         copy modules\lua\$(LONG)\mod_lua.$(src_so)              "$(inst_so)" <.y
692 !IF EXIST("srclib\lua\src\lua51.$(src_dll)")
693         copy srclib\lua\src\lua51.$(src_dll)                    "$(inst_dll)" <.y
694 !ENDIF
695 !ENDIF
696         copy modules\mappers\$(LONG)\mod_actions.$(src_so)      "$(inst_so)" <.y
697         copy modules\mappers\$(LONG)\mod_alias.$(src_so)        "$(inst_so)" <.y
698         copy modules\mappers\$(LONG)\mod_dir.$(src_so)          "$(inst_so)" <.y
699         copy modules\mappers\$(LONG)\mod_imagemap.$(src_so)     "$(inst_so)" <.y
700         copy modules\mappers\$(LONG)\mod_negotiation.$(src_so)  "$(inst_so)" <.y
701         copy modules\mappers\$(LONG)\mod_rewrite.$(src_so)      "$(inst_so)" <.y
702         copy modules\mappers\$(LONG)\mod_speling.$(src_so)      "$(inst_so)" <.y
703         copy modules\mappers\$(LONG)\mod_userdir.$(src_so)      "$(inst_so)" <.y
704         copy modules\mappers\$(LONG)\mod_vhost_alias.$(src_so)  "$(inst_so)" <.y
705         copy modules\metadata\$(LONG)\mod_cern_meta.$(src_so)   "$(inst_so)" <.y
706         copy modules\metadata\$(LONG)\mod_env.$(src_so)         "$(inst_so)" <.y
707         copy modules\metadata\$(LONG)\mod_expires.$(src_so)     "$(inst_so)" <.y
708         copy modules\metadata\$(LONG)\mod_headers.$(src_so)     "$(inst_so)" <.y
709         copy modules\metadata\$(LONG)\mod_ident.$(src_so)       "$(inst_so)" <.y
710         copy modules\metadata\$(LONG)\mod_mime_magic.$(src_so)  "$(inst_so)" <.y
711         copy modules\metadata\$(LONG)\mod_remoteip.$(src_so)    "$(inst_so)" <.y
712         copy modules\metadata\$(LONG)\mod_setenvif.$(src_so)    "$(inst_so)" <.y
713         copy modules\metadata\$(LONG)\mod_unique_id.$(src_so)   "$(inst_so)" <.y
714         copy modules\metadata\$(LONG)\mod_usertrack.$(src_so)   "$(inst_so)" <.y
715         copy modules\metadata\$(LONG)\mod_version.$(src_so)     "$(inst_so)" <.y
716         copy modules\proxy\$(LONG)\mod_proxy.$(src_so)          "$(inst_so)" <.y
717         copy modules\proxy\$(LONG)\mod_proxy_ajp.$(src_so)      "$(inst_so)" <.y
718         copy modules\proxy\$(LONG)\mod_proxy_balancer.$(src_so) "$(inst_so)" <.y
719         copy modules\proxy\$(LONG)\mod_proxy_connect.$(src_so)  "$(inst_so)" <.y
720         copy modules\proxy\$(LONG)\mod_proxy_fcgi.$(src_so)     "$(inst_so)" <.y
721         copy modules\proxy\$(LONG)\mod_proxy_ftp.$(src_so)      "$(inst_so)" <.y
722         copy modules\proxy\$(LONG)\mod_proxy_http.$(src_so)     "$(inst_so)" <.y
723         copy modules\proxy\$(LONG)\mod_proxy_scgi.$(src_so)     "$(inst_so)" <.y
724 !IF EXIST("srclib\serf")
725         copy modules\proxy\$(LONG)\mod_serf.$(src_so)           "$(inst_so)" <.y
726 !ENDIF
727         copy modules\proxy\balancers\$(LONG)\mod_lbmethod_bybusyness.$(src_so) "$(inst_so)" <.y
728         copy modules\proxy\balancers\$(LONG)\mod_lbmethod_byrequests.$(src_so) "$(inst_so)" <.y
729         copy modules\proxy\balancers\$(LONG)\mod_lbmethod_bytraffic.$(src_so)  "$(inst_so)" <.y
730         copy modules\proxy\balancers\$(LONG)\mod_lbmethod_heartbeat.$(src_so)  "$(inst_so)" <.y
731 !IFDEF ALL
732         copy modules\proxy\examples\$(LONG)\mod_lbmethod_rr.$(src_so) "$(inst_so)" <.y
733 !ENDIF
734         copy modules\session\$(LONG)\mod_session.$(src_so)        "$(inst_so)" <.y
735         copy modules\session\$(LONG)\mod_session_cookie.$(src_so) "$(inst_so)" <.y
736         copy modules\session\$(LONG)\mod_session_dbd.$(src_so)    "$(inst_so)" <.y
737 !IF EXIST("srclib\openssl")
738 #       copy modules\session\$(LONG)\mod_session_crypto.$(src_so) "$(inst_so)" <.y
739         copy modules\ssl\$(LONG)\mod_ssl.$(src_so)              "$(inst_so)" <.y
740         -copy srclib\openssl\$(SSLBIN)\libeay32.$(src_dll)      "$(inst_dll)" <.y
741         -copy srclib\openssl\$(SSLBIN)\ssleay32.$(src_dll)      "$(inst_dll)" <.y
742         -copy srclib\openssl\$(SSLBIN)\openssl.$(src_exe)       "$(inst_exe)" <.y
743         copy support\$(LONG)\abs.$(src_exe)                     "$(inst_exe)" <.y
744 !ENDIF
745         copy support\$(LONG)\ab.$(src_exe)                      "$(inst_exe)" <.y
746 #       copy support\$(LONG)\fcgistarter.$(src_exe)             "$(inst_exe)" <.y
747         copy support\$(LONG)\htcacheclean.$(src_exe)            "$(inst_exe)" <.y
748         copy support\$(LONG)\htdbm.$(src_exe)                   "$(inst_exe)" <.y
749         copy support\$(LONG)\htdigest.$(src_exe)                "$(inst_exe)" <.y
750         copy support\$(LONG)\htpasswd.$(src_exe)                "$(inst_exe)" <.y
751         copy support\$(LONG)\httxt2dbm.$(src_exe)               "$(inst_exe)" <.y
752         copy support\$(LONG)\logresolve.$(src_exe)              "$(inst_exe)" <.y
753         copy support\$(LONG)\rotatelogs.$(src_exe)              "$(inst_exe)" <.y
754         copy support\win32\$(LONG)\ApacheMonitor.$(src_exe)     "$(inst_exe)" <.y
755         copy support\win32\$(LONG)\wintty.$(src_exe)            "$(inst_exe)" <.y
756
757
758 # First we create the tree and populate the README so that 
759 # whatever happens, all licensing has already propagated.  
760 # Then repeatedly invoke the _copybin build to copy the
761 # real binaries, then pdb symbols, anf finally dbg syms.
762 # Then hit docs of various sorts, then includes and libs,
763 # and finally do the .conf magic.
764 #
765 _install:
766         echo Y >.y
767         echo A >.A
768         -mkdir "$(INSTDIR)"
769         -mkdir "$(INSTDIR)\bin"
770         -mkdir "$(INSTDIR)\bin\iconv"
771         -mkdir "$(INSTDIR)\cgi-bin"
772         -mkdir "$(INSTDIR)\conf"
773         -mkdir "$(INSTDIR)\conf\extra"
774         -mkdir "$(INSTDIR)\conf\original"
775         -mkdir "$(INSTDIR)\conf\original\extra"
776         -mkdir "$(INSTDIR)\error"
777         -mkdir "$(INSTDIR)\htdocs"
778         -mkdir "$(INSTDIR)\manual"
779         -mkdir "$(INSTDIR)\icons"
780         -mkdir "$(INSTDIR)\include"
781         -mkdir "$(INSTDIR)\lib"
782         -mkdir "$(INSTDIR)\logs"
783         -mkdir "$(INSTDIR)\modules"
784         copy ABOUT_APACHE "$(INSTDIR)\ABOUT_APACHE.txt" <.y
785         copy CHANGES      "$(INSTDIR)\CHANGES.txt" <.y
786         copy INSTALL      "$(INSTDIR)\INSTALL.txt" <.y
787         copy LICENSE      "$(INSTDIR)\LICENSE.txt" <.y
788         copy NOTICE       "$(INSTDIR)\NOTICE.txt" <.y
789         copy README       "$(INSTDIR)\README.txt" <.y
790         type << >> "$(INSTDIR)\NOTICE.txt"
791
792 Regular expression support is provided by the PCRE library package,
793 which is open source software, written by Philip Hazel, and copyright
794 by the University of Cambridge, England. The original software is
795 available from
796   ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
797 <<
798         -awk -f <<script1.awk < "srclib\pcre\LICENCE" >> "$(INSTDIR)\LICENSE.txt"
799 BEGIN {
800     print "";
801     print "For the pcre.dll component:";
802     print "";
803     while ( getline > 0 ) {
804         if ( $$0 ~ /^End$$/ ) $$0 = "END OF PCRE LICENSE";
805         print $$0;
806    }
807 }
808 <<
809 !IF EXIST("srclib\openssl")
810         -copy srclib\openssl\apps\openssl.cnf "$(INSTDIR)\conf\openssl.cnf" <.y
811         type << >> "$(INSTDIR)\NOTICE.txt"
812
813 This binary distribution includes cryptographic software written by
814 Eric Young (eay@cryptsoft.com), software written by Tim Hudson 
815 (tjh@cryptsoft.com), and software developed by the OpenSSL Project 
816 for use in the OpenSSL Toolkit <http://www.openssl.org/>.
817 <<
818         -awk -f <<script.awk < "srclib\openssl\LICENSE" >> "$(INSTDIR)\LICENSE.txt"
819 BEGIN {
820     print "";
821     print "For the libeay32.dll, ssleay32.dll and openssl.exe components:";
822     print "";
823     while ( getline > 0 ) {
824         print $$0;
825    }
826 }
827 <<
828         copy << "$(INSTDIR)\OPENSSL-NEWS.txt" <.y
829
830  Apache HTTP Server 2.3 Limited OpenSSL Distribution
831
832  This binary distribution includes the minimal components of OpenSSL required
833  to support mod_ssl for Apache HTTP Server version 2.3 (details are listed 
834  in OPENSSL-README.txt.)  For the complete list of CHANGES to this and later 
835  versions of OpenSSL, please refer to the definative source,
836  <http://www.openssl.org/news/changelog.html>, or see the CHANGES file in the
837  full binary or source distribution package from <http://www.openssl.org/>.
838
839  These OpenSSL binaries were built for distribution from the U.S. without 
840  support for the patented encryption methods IDEA, MDC-2 or RC5.
841
842 --------------------------------------------------------------------------------
843
844 <<
845         -copy "$(INSTDIR)\OPENSSL-NEWS.txt" \
846             + srclib\openssl\NEWS "$(INSTDIR)\OPENSSL-NEWS.txt"
847         copy << "$(INSTDIR)\OPENSSL-README.txt" <.y
848
849  Apache HTTP Server 2.3 Limited OpenSSL Distribution
850
851  This binary installation of OpenSSL is a limited distribution of the
852  files derived from the OpenSSL project:
853
854    LICENSE.txt (includes openssl LICENSE)
855    OPENSSL-NEWS.txt
856    OPENSSL-README.txt
857    conf\openssl.cnf
858    bin\libeay32.dll
859    bin\ssleay32.dll
860    bin\openssl.exe
861
862  These are the minimal libraries and tools required to use mod_ssl as 
863  distributed with Apache HTTP Server version 2.3.  No library link files, 
864  headers or sources are distributed with this binary distribution.  Please 
865  refer to the <http://www.openssl.org/> site for complete source or binary 
866  distributions.
867
868  These OpenSSL binaries were built for distribution from the U.S. without 
869  support for the patented encryption methods IDEA, MDC-2 or RC5.
870
871  The Apache HTTP Project only supports the binary distribution of these files
872  and development of the mod_ssl module.  We cannot provide support assistance
873  for using or configuring the OpenSSL package or these modules.  Please refer
874  all installation and configuration questions to the appropriate forum,
875  such as the user supported lists, <http://httpd.apache.org/userslist.html> 
876  the Apache HTTP Server user's list or <http://www.openssl.org/support/> the
877  OpenSSL support page.
878
879 --------------------------------------------------------------------------------
880
881 <<
882         -copy "$(INSTDIR)\OPENSSL-README.txt" \
883             + srclib\openssl\README "$(INSTDIR)\OPENSSL-README.txt"
884 !ENDIF
885 !IF EXIST("srclib\zlib")
886         type << >> "$(INSTDIR)\NOTICE.txt"
887
888 This binary distribution of mod_deflate.so includes zlib compression code
889 <http://www.gzip.org/zlib/> written by Jean-loup Gailly (jloup@gzip.org)
890 and Mark Adler (madler@alumni.caltech.edu) .
891 <<
892         -awk -f <<script.awk < "srclib\zlib\README" >> "$(INSTDIR)\LICENSE.txt"
893 BEGIN {
894     while ( getline > 0 ) {
895         if ( $$0 ~ /Copyright notice:/ ) {
896             print "";
897             print "For the mod_deflate zlib compression component:";
898             while ( getline > 0 && $$0 !~ /^[^ ]/ ) {
899                 print $$0;
900             }
901             exit 0;
902         }
903     }
904     exit 1;
905 }
906 <<
907 !ENDIF
908 !IF EXIST("srclib\lua")
909         type << >> "$(INSTDIR)\NOTICE.txt"
910
911 This binary distribution of mod_lua.so includes the Lua language, 
912 developed at Lua.org, a laboratory of the Department of Computer Science 
913 of PUC-Rio (the Pontifical Catholic University of Rio de Janeiro in Brazil).
914 For complete information, visit Lua's web site at http://www.lua.org/
915 <<
916         -awk -f <<script.awk < "srclib\lua\COPYRIGHT" >> "$(INSTDIR)\LICENSE.txt"
917 BEGIN {
918     print "";
919     print "For the mod_lua language component:";
920     print "";
921     while ( getline > 0 && $$0 !~ /end of COPYRIGHT/ ) {
922         print $$0;
923     }
924     exit 0;
925 }
926 <<
927 !ENDIF
928         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=$(SHORT) LONG=$(LONG) \
929                 _copybin src_exe=exe src_dll=dll src_so=so             \
930                 inst_exe="$(INSTDIR)\bin"                              \
931                 inst_dll="$(INSTDIR)\bin"                              \
932                 inst_so="$(INSTDIR)\modules"
933         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=$(SHORT) LONG=$(LONG) \
934                 _copybin src_exe=pdb src_dll=pdb src_so=pdb            \
935                 inst_exe="$(INSTDIR)\bin"                              \
936                 inst_dll="$(INSTDIR)\bin"                              \
937                 inst_so="$(INSTDIR)\modules"
938         cd srclib\apr-iconv
939         $(MAKE) $(MAKEOPT) -f build\modules.mk.win install \
940                 BUILD_MODE=$(LONG) BIND_MODE=shared API_SOURCE=. \
941                 INSTALL_DIR="$(INSTDIR)\bin\iconv"
942         cd ..\..
943         copy docs\cgi-examples\printenv "$(INSTDIR)\cgi-bin\printenv.pl" <.y
944         -awk -f <<script.awk "docs/cgi-examples/printenv" > "$(INSTDIR)\cgi-bin\printenv.pl"
945     BEGIN { 
946         if ( "perl -e \"print $$^X;\"" | getline perlroot ) {
947             gsub( /\\/, "/", perlroot );
948             print "#!" perlroot;
949         }
950     }
951     {
952         if ( $$0 !~ /^#!/ ) {
953             print $$0;
954         }
955     }
956 <<
957         xcopy docs\error        "$(INSTDIR)\error" /s /d < .a
958         xcopy docs\docroot      "$(INSTDIR)\htdocs" /d < .a
959         xcopy docs\icons        "$(INSTDIR)\icons" /s /d < .a
960         xcopy docs\manual       "$(INSTDIR)\manual" /s /d < .a
961         for %f in ( \
962                 srclib\apr-util\xml\expat\lib\expat.h \
963                 srclib\apr\include\*.h \
964                 srclib\apr-util\include\*.h \
965 !IF EXIST("srclib\serf")
966                 srclib\serf\*.h \
967 !ENDIF
968                 include\*.h \
969                 os\win32\os.h \
970                 modules\cache\mod_cache.h \
971                 modules\core\mod_so.h \
972                 modules\core\mod_watchdog.h \
973                 modules\database\mod_dbd.h \
974                 modules\dav\main\mod_dav.h \
975                 modules\filters\mod_include.h \
976                 modules\generators\mod_cgi.h \
977                 modules\generators\mod_status.h \
978                 modules\loggers\mod_log_config.h \
979                 modules\mappers\mod_rewrite.h \
980                 modules\proxy\mod_proxy.h \
981                 modules\proxy\mod_serf.h \
982                 modules\ssl\mod_ssl.h \
983           ) do \
984             @copy %f "$(INSTDIR)\include" < .y > nul
985         copy srclib\apr\Lib$(SHORT)\apr-1.lib           "$(INSTDIR)\lib" <.y
986         copy srclib\apr\Lib$(SHORT)\apr-1.pdb           "$(INSTDIR)\lib" <.y
987         copy srclib\apr-util\Lib$(SHORT)\aprutil-1.lib  "$(INSTDIR)\lib" <.y
988         copy srclib\apr-util\Lib$(SHORT)\aprutil-1.pdb  "$(INSTDIR)\lib" <.y
989         copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml.lib "$(INSTDIR)\lib" <.y
990         copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml.pdb "$(INSTDIR)\lib" <.y
991         copy srclib\apr\$(LONG)\libapr-1.lib            "$(INSTDIR)\lib" <.y
992         copy srclib\apr\$(LONG)\libapr-1.exp            "$(INSTDIR)\lib" <.y
993         copy srclib\apr-iconv\$(LONG)\libapriconv-1.lib "$(INSTDIR)\lib" <.y
994         copy srclib\apr-iconv\$(LONG)\libapriconv-1.exp "$(INSTDIR)\lib" <.y
995         copy srclib\apr-util\$(LONG)\libaprutil-1.lib   "$(INSTDIR)\lib" <.y
996         copy srclib\apr-util\$(LONG)\libaprutil-1.exp   "$(INSTDIR)\lib" <.y
997 !IF EXIST("srclib\serf")
998         copy srclib\serf\$(LONG)\libserf.lib            "$(INSTDIR)\lib" <.y
999         copy srclib\serf\$(LONG)\libserf.exp            "$(INSTDIR)\lib" <.y
1000 !ENDIF
1001         copy $(LONG)\libhttpd.exp                       "$(INSTDIR)\lib" <.y
1002         copy $(LONG)\libhttpd.lib                       "$(INSTDIR)\lib" <.y
1003         copy modules\dav\main\$(LONG)\mod_dav.exp       "$(INSTDIR)\lib" <.y
1004         copy modules\dav\main\$(LONG)\mod_dav.lib       "$(INSTDIR)\lib" <.y
1005         for %f in ( charset.conv magic mime.types ) do ( \
1006           copy docs\conf\%f "$(INSTDIR)\conf\original\%f" <.y )
1007         awk -f build\installwinconf.awk $(DOMAINNAME) $(SERVERNAME) \
1008             $(SERVERADMIN) $(PORT) $(SSLPORT) "$(INSTDIR) " docs/conf/ 
1009         copy "support\dbmmanage.in" "$(INSTDIR)\bin\dbmmanage.pl"
1010         -awk -f <<script.awk "support/dbmmanage.in" >"$(INSTDIR)\bin\dbmmanage.pl"
1011     { if ( $$0 ~ /^BEGIN \{ @AnyDBM_File::/ ) {
1012           sub( /ISA = qw\(.*\)/, "ISA = qw(SDBM_File)" ); 
1013       }
1014       if ( $$0 !~ /^#!@perlbin@/ )
1015           print $$0;
1016     }
1017 <<
1018         del .y
1019         del .a