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