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