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