]>
Commit | Line | Data |
---|---|---|
1 | <?xml version="1.0" ?> | |
2 | <!-- $Id$ --> | |
3 | ||
4 | ||
5 | <!-- Master bakefile for wxWidgets --> | |
6 | ||
7 | <makefile> | |
8 | ||
9 | <!-- make sure setup.h is created as soon as possible: --> | |
10 | <phony id="setup_h" cond="FORMAT!='autoconf'"> | |
11 | <dependency-of>all</dependency-of> | |
12 | </phony> | |
13 | ||
14 | <set var="BUILDING_LIB">1</set> | |
15 | ||
16 | <!-- common rules, names etc. for wx: --> | |
17 | <include file="common.bkl"/> | |
18 | ||
19 | <!-- list of files sorted into categories: --> | |
20 | <include file="files.bkl"/> | |
21 | ||
22 | <!-- wxWidgets variant where everything is in one library: --> | |
23 | <include file="monolithic.bkl"/> | |
24 | <!-- ...and when there are multiple libraries: --> | |
25 | <include file="multilib.bkl"/> | |
26 | ||
27 | <if cond="FORMAT in ['msvc6prj','msevc4prj']"> | |
28 | <set var="MSVC6PRJ_MERGED_TARGETS"> | |
29 | <if cond="MONOLITHIC=='0'">$(MSVC6PRJ_MERGED_TARGETS_MULTILIB)</if> | |
30 | <if cond="MONOLITHIC=='1'">$(MSVC6PRJ_MERGED_TARGETS_MONOLIB)</if> | |
31 | </set> | |
32 | </if> | |
33 | ||
34 | <!-- OpenGL canvas is built as separate library in both cases: --> | |
35 | <include file="opengl.bkl"/> | |
36 | <!-- Dynamically loadable plugins: --> | |
37 | <include file="plugins.bkl"/> | |
38 | ||
39 | <!-- Samples target (not dependency of 'all'): --> | |
40 | <subproject id="samples"> | |
41 | <installable>no</installable> | |
42 | <dir cond="FORMAT=='autoconf'">samples</dir> | |
43 | <dir cond="FORMAT!='autoconf' and TOOLKIT in ['PM','MSW','MGL','MOTIF']">../../samples</dir> | |
44 | </subproject> | |
45 | ||
46 | <if cond="FORMAT=='autoconf'"> | |
47 | ||
48 | <!-- WXRC compiler is built by default: --> | |
49 | <!-- FIXME: this is dirty hack, better bakefile support for | |
50 | conditional and optional subprojects is needed --> | |
51 | <action id="wxrc" cond="USE_XRC=='1'"> | |
52 | <dependency-of>all</dependency-of> | |
53 | ||
54 | <!-- some of these are not built in all configurations, <depends> | |
55 | takes care of ignoring the disabled ones: --> | |
56 | <depends>monodll</depends> | |
57 | <depends>monolib</depends> | |
58 | <depends>basedll</depends> | |
59 | <depends>baselib</depends> | |
60 | <depends>xmldll</depends> | |
61 | <depends>xmllib</depends> | |
62 | ||
63 | <command> | |
64 | (if test -d utils/wxrc ; then cd utils/wxrc && $(DOLLAR)(MAKE) all ; fi) | |
65 | </command> | |
66 | </action> | |
67 | <action id="clean-wxrc" cond="USE_XRC=='1'"> | |
68 | <dependency-of>clean</dependency-of> | |
69 | <command> | |
70 | (if test -d utils/wxrc ; then cd utils/wxrc && $(DOLLAR)(MAKE) clean ; fi) | |
71 | </command> | |
72 | </action> | |
73 | <action id="install-wxrc" cond="USE_XRC=='1'"> | |
74 | <dependency-of>install</dependency-of> | |
75 | <depends>wxrc</depends> | |
76 | <command> | |
77 | (if test -d utils/wxrc ; then cd utils/wxrc && $(DOLLAR)(MAKE) install ; fi) | |
78 | </command> | |
79 | </action> | |
80 | ||
81 | <!-- "make install": --> | |
82 | ||
83 | <data-files> | |
84 | <files>wxwin.m4</files> | |
85 | <install-to>$(DATADIR)/aclocal</install-to> | |
86 | </data-files> | |
87 | ||
88 | <data-files> | |
89 | <srcdir>$(SRCDIR)/build/bakefiles/wxpresets/presets</srcdir> | |
90 | <files>wx.bkl wx_unix.bkl wx_win32.bkl</files> | |
91 | <install-to>$(DATADIR)/bakefile/presets</install-to> | |
92 | </data-files> | |
93 | ||
94 | <action id="install-wxconfig"> | |
95 | <dependency-of>install</dependency-of> | |
96 | <command> | |
97 | $(INSTALL_DIR) $(DESTDIR)$(BINDIR) | |
98 | $(INSTALL_DIR) $(DESTDIR)$(LIBDIR)/wx/config | |
99 | $(INSTALL_PROGRAM) lib/wx/config/$(TOOLCHAIN_FULLNAME) $(DESTDIR)$(LIBDIR)/wx/config | |
100 | (cd $(DESTDIR)$(BINDIR) && rm -f wx-config && $(LN_S) $(LIBDIR)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config) | |
101 | </command> | |
102 | </action> | |
103 | ||
104 | <set var="RCDEFS_H"> | |
105 | <if cond="TOOLKIT=='MSW'">msw/rcdefs.h</if> | |
106 | </set> | |
107 | <headers> | |
108 | <srcdir> | |
109 | $(BUILDDIR)/lib/wx/include/$(TOOLCHAIN_FULLNAME)/wx | |
110 | </srcdir> | |
111 | <files> | |
112 | setup.h $(RCDEFS_H) | |
113 | </files> | |
114 | <install-to> | |
115 | $(LIBDIR)/wx/include/$(TOOLCHAIN_FULLNAME)/wx | |
116 | </install-to> | |
117 | </headers> | |
118 | ||
119 | <headers> | |
120 | <srcdir>$(SRCDIR)/include</srcdir> | |
121 | <files>$(ALL_HEADERS)</files> | |
122 | <install-to> | |
123 | $(INCLUDEDIR)/wx-$(WX_RELEASE)$(WX_FLAVOUR) | |
124 | </install-to> | |
125 | </headers> | |
126 | ||
127 | <!-- Locales: --> | |
128 | <using module="gettext"/> | |
129 | <gettext-catalogs id="locale"> | |
130 | <srcdir>$(SRCDIR)/locale</srcdir> | |
131 | <catalog-name>wxstd</catalog-name> | |
132 | <linguas> | |
133 | ca cs da de el es fi fr hu id it ja nl pl ru sl sv tr uk | |
134 | zh zh_CN zh_TW | |
135 | </linguas> | |
136 | <install-to>$(LOCALEDIR)</install-to> | |
137 | </gettext-catalogs> | |
138 | <gettext-catalogs id="locale_msw"> | |
139 | <srcdir>$(SRCDIR)/locale/msw</srcdir> | |
140 | <catalog-name>wxmsw</catalog-name> | |
141 | <linguas>it</linguas> | |
142 | <install-to>$(LOCALEDIR)</install-to> | |
143 | </gettext-catalogs> | |
144 | ||
145 | ||
146 | <!-- Mac OS X resources: --> | |
147 | <set var="MACOS_R">lib/libwx_$(TOOLCHAIN_NAME).$(WXSOVERSION[0]).r</set> | |
148 | <set var="MACOS_RSRC">lib/libwx_$(TOOLCHAIN_NAME).$(WXSOVERSION[0]).rsrc</set> | |
149 | <action id="cocoa-res" cond="TOOLKIT=='COCOA'"> | |
150 | <dependency-of>all</dependency-of> | |
151 | <set var="__targetname">$(MACOS_R)</set> | |
152 | <command> | |
153 | $(REZ) -d __UNIX__ -useDF $(top_srcdir)/src/cocoa/dummy.r -o $(MACOS_RSRC) | |
154 | $(DEREZ) $(MACOS_RSRC) -useDF >$(MACOS_R) | |
155 | </command> | |
156 | <clean-files>$(MACOS_RSRC) $(MACOS_R)</clean-files> | |
157 | </action> | |
158 | <action id="cocoa-res-install" cond="TOOLKIT=='COCOA'"> | |
159 | <dependency-of>install</dependency-of> | |
160 | <depends>cocoa-res</depends> | |
161 | <command> | |
162 | $(INSTALL_DATA) $(MACOS_R) $(LIBDIR) | |
163 | $(INSTALL_DATA) $(MACOS_RSRC) $(LIBDIR) | |
164 | </command> | |
165 | </action> | |
166 | ||
167 | </if> | |
168 | ||
169 | ||
170 | <!-- copy setup.h on DOS/OS2/Windows: --> | |
171 | <if cond="FORMAT!='autoconf' and TOOLKIT in ['PM','MSW','MGL','MOTIF']"> | |
172 | <mkdir id="libdir"> | |
173 | <dir>$(LIBDIRNAME)</dir> | |
174 | </mkdir> | |
175 | <mkdir id="libdir_setup"> | |
176 | <depends>libdir</depends> | |
177 | <dir>$(SETUPHDIR)</dir> | |
178 | </mkdir> | |
179 | <mkdir id="libdir_setup_wx"> | |
180 | <depends>libdir_setup</depends> | |
181 | <dependency-of>setup_h</dependency-of> | |
182 | <dir>$(SETUPHDIR)/wx</dir> | |
183 | </mkdir> | |
184 | ||
185 | <set var="SETUP_H_SUBDIR"> | |
186 | <if cond="WXUNIV=='1'">univ</if> | |
187 | <if cond="WXUNIV=='0' and TOOLKIT!='PM'">$(TOOLKIT_LOWERCASE)</if> | |
188 | <if cond="WXUNIV=='0' and TOOLKIT=='PM'">os2</if> | |
189 | </set> | |
190 | ||
191 | <copy-file-to-file-if-not-exist id="master_setup.h"> | |
192 | <src>$(SRCDIR)/include/wx/$(SETUP_H_SUBDIR)/setup0.h</src> | |
193 | <dst>$(SRCDIR)/include/wx/$(SETUP_H_SUBDIR)/setup.h</dst> | |
194 | <dependency-of>setup_h</dependency-of> | |
195 | </copy-file-to-file-if-not-exist> | |
196 | <copy-file-to-file-if-not-exist id="setup.h"> | |
197 | <dependency-of>setup_h</dependency-of> | |
198 | <src>$(SRCDIR)/include/wx/$(SETUP_H_SUBDIR)/setup.h</src> | |
199 | <dst>$(SETUPHDIR)/wx/setup.h</dst> | |
200 | </copy-file-to-file-if-not-exist> | |
201 | ||
202 | </if> | |
203 | ||
204 | ||
205 | <!-- create rcdefs.h on Windows: --> | |
206 | <if cond="FORMAT in ['borland','mingw','msvc','watcom'] and TOOLKIT == 'MSW'"> | |
207 | ||
208 | <mkdir id="libdir_setup_wx_msw"> | |
209 | <depends>libdir_setup_wx</depends> | |
210 | <dir>$(SETUPHDIR)/wx/msw</dir> | |
211 | </mkdir> | |
212 | ||
213 | <action id="rcdefs.h"> | |
214 | ||
215 | <!-- Can't seem to set id to a name with a dollar sign | |
216 | so use __targetname as a temporary work around --> | |
217 | <set var="__targetname">$(SETUPHDIR)\wx\msw\rcdefs.h</set> | |
218 | ||
219 | <dependency-of>setup_h</dependency-of> | |
220 | <depends>libdir_setup_wx_msw</depends> | |
221 | <depends-on-file>$(SRCDIR)/include/wx/msw/genrcdefs.h</depends-on-file> | |
222 | ||
223 | <command> | |
224 | $(DOLLAR)(CPP) "$(SRCDIR)\include\wx\msw\genrcdefs.h" > "$(SETUPHDIR)\wx\msw\rcdefs.h" | |
225 | </command> | |
226 | ||
227 | </action> | |
228 | ||
229 | </if> | |
230 | ||
231 | ||
232 | <if cond="FORMAT=='autoconf'"> | |
233 | ||
234 | <!-- Show this banner after installation: --> | |
235 | <modify-target target="install"> | |
236 | <command> | |
237 | @echo " " | |
238 | @echo " ------------------------------------------------------" | |
239 | @echo " " | |
240 | @echo " The installation of wxWidgets is finished. On certain" | |
241 | @echo " platforms (e.g. Linux) you'll now have to run ldconfig" | |
242 | @echo " if you installed a shared library and also modify the" | |
243 | @echo " LD_LIBRARY_PATH (or equivalent) environment variable." | |
244 | @echo " " | |
245 | @echo " wxWidgets comes with no guarantees and doesn't claim" | |
246 | @echo " to be suitable for any purpose." | |
247 | @echo " " | |
248 | @echo " Read the wxWidgets Licence on licencing conditions." | |
249 | @echo " " | |
250 | @echo " ------------------------------------------------------" | |
251 | @echo " " | |
252 | </command> | |
253 | </modify-target> | |
254 | ||
255 | <!-- add "make dist" target to autoconf: --> | |
256 | <set var="VARS_DONT_ELIMINATE" append="1"> | |
257 | ALL_PORTS_BASE_HEADERS ALL_BASE_SOURCES WX_VERSION | |
258 | </set> | |
259 | <fragment format="autoconf" file="make_dist.mk"/> | |
260 | ||
261 | </if> | |
262 | ||
263 | <include file="build_cfg.bkl"/> | |
264 | ||
265 | </makefile> |