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