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