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