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