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