]> granicus.if.org Git - apache/blob - Makefile.win
Build was broken on some pure unixish awks, this fixes.
[apache] / Makefile.win
1 # Makefile for Windows NT and Windows 95/98/2000
2
3 # Targets are:
4 #   _apacher   - build Apache in Release mode
5 #   _apached   - 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 #
12 # The default installation directory is /Apache2.0. This can be changed
13 # with the INSTDIR macro, for example:
14 #
15 #   nmake /f Makefile.win INSTDIR="d:/Program Files/Apache" installr
16 #
17 # Note: this does *NOT* change the compiled in default "server root"
18 # Also be aware that certain awk's will not accept backslahed names,
19 # so the server root should be given in forward slashes (quoted),
20 # preferably with the drive designation!
21
22 !IF "$(INSTDIR)" == ""
23 INSTDIR=/Apache2.0
24 !MESSAGE Using default install directory /Apache2.0
25 !ENDIF 
26
27 !IFNDEF MAKEOPT
28 # Only default the behavior if MAKEOPT= is omitted
29 !IF "$(MAKE)" == "NMAKE"
30 # Microsoft NMake options
31 MAKEOPT=-nologo
32 !ELSEIF "($MAKE)" == "make"
33 # Borland make options?  Not really supported (yet)
34 MAKEOPT=-s -N
35 !ENDIF
36 !ENDIF
37
38 default:        _apacher
39
40 _apacher: 
41         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release _build
42
43 _apached: 
44         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   _build
45
46 installr: 
47         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release _build _install
48
49 installd: 
50         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   _build _install
51
52 _cleanr:  
53         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET=CLEAN _build
54
55 _cleand:  
56         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   CTARGET=CLEAN _build
57
58 clean:
59         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=R LONG=Release CTARGET=CLEAN _build
60         $(MAKE) $(MAKEOPT) -f Makefile.win SHORT=D LONG=Debug   CTARGET=CLEAN _build
61
62 _build:
63         echo Building Win32 $(LONG) targets ($(SHORT) suffixes)
64         cd srclib\apr
65 #        aprlibdll creates the dynamic libapr.dll from the static library project apr.dsp
66          $(MAKE) $(MAKEOPT) -f apr.mak CFG="apr - Win32 $(LONG)" RECURSE=0 $(CTARGET)
67          $(MAKE) $(MAKEOPT) -f libapr.mak CFG="libapr - Win32 $(LONG)" RECURSE=0 $(CTARGET)
68         cd ..\..
69         cd srclib\apr-util
70 #        libaprutil creates the dynamic libaprutil.dll from the static library project aprutil.dsp
71          $(MAKE) $(MAKEOPT) -f aprutil.mak CFG="aprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET)
72          $(MAKE) $(MAKEOPT) -f libaprutil.mak CFG="libaprutil - Win32 $(LONG)" RECURSE=0 $(CTARGET)
73         cd ..\..
74         cd srclib\expat-lite
75          $(MAKE) $(MAKEOPT) -f libexpat.mak CFG="libexpat - Win32 $(LONG)" RECURSE=0 $(CTARGET)
76         cd ..\..
77         cd srclib\pcre
78          $(MAKE) $(MAKEOPT) -f dftables.mak CFG="dftables - Win32 $(LONG)" RECURSE=0 $(CTARGET)
79          $(MAKE) $(MAKEOPT) -f pcre.mak CFG="pcre - Win32 $(LONG)" RECURSE=0 $(CTARGET)
80          $(MAKE) $(MAKEOPT) -f pcreposix.mak CFG="pcreposix - Win32 $(LONG)" RECURSE=0 $(CTARGET)
81         cd ..\..
82         cd server
83          $(MAKE) $(MAKEOPT) -f gen_uri_delims.mak CFG="gen_uri_delims - Win32 $(LONG)" RECURSE=0 $(CTARGET)
84          $(MAKE) $(MAKEOPT) -f gen_test_char.mak CFG="gen_test_char - Win32 $(LONG)" RECURSE=0 $(CTARGET)
85         cd ..
86          -del Core$(SHORT)\buildmark.obj
87 #        libhttpd creates the dynamic libhttpd.dll from the static library project httpd
88          $(MAKE) $(MAKEOPT) -f httpd.mak CFG="httpd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
89          $(MAKE) $(MAKEOPT) -f libhttpd.mak CFG="libhttpd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
90          $(MAKE) $(MAKEOPT) -f Apache.mak CFG="Apache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
91         cd modules\aaa
92          $(MAKE) $(MAKEOPT) -f mod_auth_anon.mak CFG="mod_auth_anon - Win32 $(LONG)" RECURSE=0 $(CTARGET)
93          $(MAKE) $(MAKEOPT) -f mod_auth_dbm.mak CFG="mod_auth_dbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
94          $(MAKE) $(MAKEOPT) -f mod_auth_digest.mak CFG="mod_auth_digest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
95         cd ..\..
96         cd modules\cache
97          $(MAKE) $(MAKEOPT) -f mod_file_cache.mak CFG="mod_file_cache - Win32 $(LONG)" RECURSE=0 $(CTARGET)
98         cd ..\..
99         cd modules\dav\main
100          $(MAKE) $(MAKEOPT) -f mod_dav.mak CFG="mod_dav - Win32 $(LONG)" RECURSE=0 $(CTARGET)
101         cd ..\..\..
102         cd modules\dav\fs
103          $(MAKE) $(MAKEOPT) -f mod_dav_fs.mak CFG="mod_dav_fs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
104         cd ..\..\..
105         cd modules\generators
106 #        $(MAKE) $(MAKEOPT) -f mod_info.mak CFG"=mod_info - Win32 $(LONG)" RECURSE=0 $(CTARGET)
107          $(MAKE) $(MAKEOPT) -f mod_status.mak CFG="mod_status - Win32 $(LONG)" RECURSE=0 $(CTARGET)
108         cd ..\..
109         cd modules\mappers
110          $(MAKE) $(MAKEOPT) -f mod_rewrite.mak CFG="mod_rewrite - Win32 $(LONG)" RECURSE=0 $(CTARGET)
111          $(MAKE) $(MAKEOPT) -f mod_speling.mak CFG="mod_speling - Win32 $(LONG)" RECURSE=0 $(CTARGET)
112         cd ..\..
113         cd modules\metadata
114          $(MAKE) $(MAKEOPT) -f mod_cern_meta.mak CFG="mod_cern_meta - Win32 $(LONG)" RECURSE=0 $(CTARGET)
115          $(MAKE) $(MAKEOPT) -f mod_expires.mak CFG="mod_expires - Win32 $(LONG)" RECURSE=0 $(CTARGET)
116          $(MAKE) $(MAKEOPT) -f mod_headers.mak CFG="mod_headers - Win32 $(LONG)" RECURSE=0 $(CTARGET)
117          $(MAKE) $(MAKEOPT) -f mod_usertrack.mak CFG="mod_usertrack - Win32 $(LONG)" RECURSE=0 $(CTARGET)
118         cd ..\..
119         cd modules\proxy
120 #        $(MAKE) $(MAKEOPT) -f mod_proxy.mak CFG="mod_proxy - Win32 $(LONG)" RECURSE=0 $(CTARGET)
121         cd ..\..
122         cd support
123          $(MAKE) $(MAKEOPT) -f ab.mak CFG="ab - Win32 $(LONG)" RECURSE=0 $(CTARGET)
124          $(MAKE) $(MAKEOPT) -f htpasswd.mak CFG="htpasswd - Win32 $(LONG)" RECURSE=0 $(CTARGET)
125          $(MAKE) $(MAKEOPT) -f htdigest.mak CFG="htdigest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
126          $(MAKE) $(MAKEOPT) -f logresolve.mak CFG="logresolve - Win32 $(LONG)" RECURSE=0 $(CTARGET)
127          $(MAKE) $(MAKEOPT) -f rotatelogs.mak CFG="rotatelogs - Win32 $(LONG)" RECURSE=0 $(CTARGET)
128         cd ..
129
130 _install:
131         -mkdir "$(INSTDIR)"
132         -mkdir "$(INSTDIR)\bin"
133         -mkdir "$(INSTDIR)\cgi-bin"
134         -mkdir "$(INSTDIR)\conf"
135         -mkdir "$(INSTDIR)\htdocs"
136         -mkdir "$(INSTDIR)\htdocs\manual"
137         -mkdir "$(INSTDIR)\icons"
138         -mkdir "$(INSTDIR)\include"
139         -mkdir "$(INSTDIR)\include\xml"
140         -mkdir "$(INSTDIR)\include\pcre"
141         -mkdir "$(INSTDIR)\lib"
142         -mkdir "$(INSTDIR)\libexec"
143         -mkdir "$(INSTDIR)\logs"
144         -mkdir "$(INSTDIR)\modules"
145 #       -mkdir "$(INSTDIR)\proxy"
146         copy $(LONG)\Apache.exe "$(INSTDIR)\bin"
147         copy $(LONG)\libhttpd.dll "$(INSTDIR)\bin"
148         copy srclib\apr\$(LONG)\libapr.dll "$(INSTDIR)\bin"
149         copy srclib\apr-util\$(LONG)\libaprutil.dll "$(INSTDIR)\bin"
150         copy srclib\expat-lite\$(LONG)\libexpat.dll "$(INSTDIR)\bin"
151         copy modules\aaa\$(LONG)\mod_auth_anon.so "$(INSTDIR)\modules"
152         copy modules\aaa\$(LONG)\mod_auth_dbm.so "$(INSTDIR)\modules"
153         copy modules\aaa\$(LONG)\mod_auth_digest.so "$(INSTDIR)\modules"
154         copy modules\cache\$(LONG)\mod_file_cache.so "$(INSTDIR)\modules"
155         copy modules\dav\fs\$(LONG)\mod_dav_fs.so "$(INSTDIR)\modules"
156         copy modules\dav\main\$(LONG)\mod_dav.so "$(INSTDIR)\modules"
157 #       copy modules\generators\$(LONG)\mod_info.so "$(INSTDIR)\modules"
158         copy modules\generators\$(LONG)\mod_status.so "$(INSTDIR)\modules"
159         copy modules\mappers\$(LONG)\mod_rewrite.so "$(INSTDIR)\modules"
160         copy modules\mappers\$(LONG)\mod_speling.so "$(INSTDIR)\modules"
161         copy modules\metadata\$(LONG)\mod_cern_meta.so "$(INSTDIR)\modules"
162         copy modules\metadata\$(LONG)\mod_expires.so "$(INSTDIR)\modules"
163         copy modules\metadata\$(LONG)\mod_headers.so "$(INSTDIR)\modules"
164         copy modules\metadata\$(LONG)\mod_usertrack.so "$(INSTDIR)\modules"
165 #       copy modules\proxy\$(LONG)\mod_proxy.so "$(INSTDIR)\modules"
166         copy support\$(LONG)\ab.exe "$(INSTDIR)\bin"
167         copy support\$(LONG)\htpasswd.exe "$(INSTDIR)\bin"
168         copy support\$(LONG)\htdigest.exe "$(INSTDIR)\bin"
169         copy support\$(LONG)\logresolve.exe "$(INSTDIR)\bin"
170         copy support\$(LONG)\rotatelogs.exe "$(INSTDIR)\bin"
171         copy docs\cgi-examples\printenv "$(INSTDIR)\cgi-bin\printenv.pl"
172         xcopy docs\docroot "$(INSTDIR)\htdocs" /d < <<
173 A
174 <<
175         xcopy docs\manual "$(INSTDIR)\htdocs\manual" /s /d < <<
176 A
177 <<
178         xcopy include\*.h "$(INSTDIR)\include" /d < <<
179 A
180 <<
181         xcopy srclib\apr\include\*.h "$(INSTDIR)\include" /d < <<
182 A
183 <<
184         xcopy srclib\apr-util\include\*.h "$(INSTDIR)\include" /d < <<
185 A
186 <<
187         xcopy srclib\expat-lite\*.h "$(INSTDIR)\include\xml" /d < <<
188 A
189 <<
190         xcopy srclib\pcre\*.h "$(INSTDIR)\include\pcre" /d < <<
191 A
192 <<
193         xcopy docs\icons "$(INSTDIR)\icons" /s /d < <<
194 A
195 <<
196         copy srclib\apr\Lib$(SHORT)\apr.lib "$(INSTDIR)\lib"
197         copy srclib\apr-util\Lib$(SHORT)\aprutil.lib "$(INSTDIR)\lib"
198         copy srclib\pcre\Lib$(SHORT)\pcre.lib "$(INSTDIR)\lib"
199         copy srclib\pcre\Lib$(SHORT)\pcreposix.lib "$(INSTDIR)\lib"
200         copy srclib\apr\$(LONG)\libapr.lib "$(INSTDIR)\libexec"
201         copy srclib\apr\$(LONG)\libapr.exp "$(INSTDIR)\libexec"
202         copy srclib\apr-util\$(LONG)\libaprutil.lib "$(INSTDIR)\libexec"
203         copy srclib\apr-util\$(LONG)\libaprutil.exp "$(INSTDIR)\libexec"
204         copy srclib\expat-lite\$(LONG)\libexpat.lib "$(INSTDIR)\libexec"
205         copy srclib\expat-lite\$(LONG)\libexpat.exp "$(INSTDIR)\libexec"
206         copy $(LONG)\libhttpd.exp "$(INSTDIR)\libexec"
207         copy $(LONG)\libhttpd.lib "$(INSTDIR)\libexec"
208         copy modules\dav\main\$(LONG)\mod_dav.exp "$(INSTDIR)\libexec"
209         copy modules\dav\main\$(LONG)\mod_dav.lib "$(INSTDIR)\libexec"
210         copy docs\conf\magic "$(INSTDIR)\conf\magic.default"
211         if not exist "$(INSTDIR)\conf\magic" \
212             copy "$(INSTDIR)\conf\magic.default" "$(INSTDIR)\conf\magic"
213         copy docs\conf\mime.types "$(INSTDIR)\conf\mime.types.default"
214         if not exist "$(INSTDIR)\conf\mime.types" \
215             copy "$(INSTDIR)\conf\mime.types.default" "$(INSTDIR)\conf\mime.types"
216         awk -f <<script.awk docs/conf/httpd-win.conf "$(INSTDIR)/conf/httpd.default.conf" "$(INSTDIR)"
217     BEGIN { 
218         srcfl = ARGV[1];
219         dstfl = ARGV[2];
220         serverroot = ARGV[3];
221         gsub( /\\/, "/", serverroot );
222         while ( ( getline < srcfl ) > 0 ) {
223             gsub( /@@ServerRoot@@/, serverroot );
224             print $$0 > dstfl;
225         }
226     }
227 <<
228         if not exist "$(INSTDIR)\conf\httpd.conf" \
229             copy "$(INSTDIR)\conf\httpd.default.conf" "$(INSTDIR)\conf\httpd.conf"
230         awk -f <<script.awk support/dbmmanage >"$(INSTDIR)/bin/dbmmanage.pl"
231     { if ( $$0 !~ /^#.*-lsdbm/) {
232           gsub( /AnyDBM_File::ISA = qw\(.*\)/, "AnyDBM_File::ISA = qw(SDBM_File)" ); 
233           print $$0;
234       } 
235     }
236 <<