]>
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="IS_MSVC_PRJ"> | |
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 -f utils/wxrc/Makefile ; 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 -f utils/wxrc/Makefile ; 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 -f utils/wxrc/Makefile ; 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 wx_xrc.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 | <modify-target target="install"> | |
105 | <command> | |
106 | $(DYLIB_RPATH_INSTALL) | |
107 | </command> | |
108 | </modify-target> | |
109 | ||
110 | <set var="RCDEFS_H"> | |
111 | <if cond="TOOLKIT=='MSW'">msw/rcdefs.h</if> | |
112 | </set> | |
113 | ||
114 | ||
115 | <data-files-tree> | |
116 | <srcdir> | |
117 | $(BUILDDIR)/lib/wx/include/$(TOOLCHAIN_FULLNAME)/wx | |
118 | </srcdir> | |
119 | <files> | |
120 | setup.h $(RCDEFS_H) | |
121 | </files> | |
122 | <install-to> | |
123 | $(LIBDIR)/wx/include/$(TOOLCHAIN_FULLNAME)/wx | |
124 | </install-to> | |
125 | </data-files-tree> | |
126 | ||
127 | <!-- FIXME: make this use per-target <headers> once it supports | |
128 | prefix removal --> | |
129 | <data-files-tree> | |
130 | <srcdir>$(SRCDIR)/include</srcdir> | |
131 | <files>$(ALL_HEADERS)</files> | |
132 | <install-to> | |
133 | $(INCLUDEDIR)/wx-$(WX_RELEASE)$(WX_FLAVOUR) | |
134 | </install-to> | |
135 | </data-files-tree> | |
136 | ||
137 | <!-- Locales: --> | |
138 | <using module="gettext"/> | |
139 | <gettext-catalogs id="locale"> | |
140 | <srcdir>$(SRCDIR)/locale</srcdir> | |
141 | <catalog-name>wxstd</catalog-name> | |
142 | <linguas> | |
143 | ca cs da de el es fi fr hu id it ja nl pl ru sl sv tr uk | |
144 | zh zh_CN zh_TW | |
145 | </linguas> | |
146 | <install-to>$(LOCALEDIR)</install-to> | |
147 | </gettext-catalogs> | |
148 | <gettext-catalogs id="locale_msw"> | |
149 | <srcdir>$(SRCDIR)/locale/msw</srcdir> | |
150 | <catalog-name>wxmsw</catalog-name> | |
151 | <linguas>it</linguas> | |
152 | <install-to>$(LOCALEDIR)</install-to> | |
153 | </gettext-catalogs> | |
154 | ||
155 | ||
156 | <!-- Mac OS X resources: --> | |
157 | <set var="MACOS_R">lib/libwx_$(TOOLCHAIN_NAME).$(WXSOVERSION[0]).r</set> | |
158 | <set var="MACOS_RSRC">lib/libwx_$(TOOLCHAIN_NAME).$(WXSOVERSION[0]).rsrc</set> | |
159 | <action id="cocoa-res" cond="TOOLKIT=='COCOA'"> | |
160 | <dependency-of>all</dependency-of> | |
161 | <set var="__targetname">$(MACOS_R)</set> | |
162 | <command> | |
163 | $(REZ) -d __UNIX__ -useDF $(top_srcdir)/src/cocoa/dummy.r -o $(MACOS_RSRC) | |
164 | $(DEREZ) $(MACOS_RSRC) -useDF >$(MACOS_R) | |
165 | </command> | |
166 | <clean-files>$(MACOS_RSRC) $(MACOS_R)</clean-files> | |
167 | </action> | |
168 | <action id="cocoa-res-install" cond="TOOLKIT=='COCOA'"> | |
169 | <dependency-of>install</dependency-of> | |
170 | <depends>cocoa-res</depends> | |
171 | <command> | |
172 | $(INSTALL_DATA) $(MACOS_R) $(LIBDIR) | |
173 | $(INSTALL_DATA) $(MACOS_RSRC) $(LIBDIR) | |
174 | </command> | |
175 | </action> | |
176 | ||
177 | </if> | |
178 | ||
179 | ||
180 | <!-- copy setup.h on DOS/OS2/Windows if the format supports it: --> | |
181 | <if cond="FORMAT!='autoconf' and IS_MSVC_PRJ=='0' and TOOLKIT in ['PM','MSW','MGL','MOTIF']"> | |
182 | <mkdir id="libdir"> | |
183 | <dir>$(LIBDIRNAME)</dir> | |
184 | </mkdir> | |
185 | <mkdir id="libdir_setup"> | |
186 | <depends>libdir</depends> | |
187 | <dir>$(SETUPHDIR)</dir> | |
188 | </mkdir> | |
189 | <mkdir id="libdir_setup_wx"> | |
190 | <depends>libdir_setup</depends> | |
191 | <dependency-of>setup_h</dependency-of> | |
192 | <dir>$(SETUPHDIR)/wx</dir> | |
193 | </mkdir> | |
194 | ||
195 | <set var="SETUP_H_SUBDIR"> | |
196 | <if cond="WXUNIV=='1'">univ</if> | |
197 | <if cond="WXUNIV=='0' and TOOLKIT!='PM'">$(TOOLKIT_LOWERCASE)</if> | |
198 | <if cond="WXUNIV=='0' and TOOLKIT=='PM'">os2</if> | |
199 | </set> | |
200 | ||
201 | <copy-file-to-file-if-not-exist id="master_setup.h"> | |
202 | <src>$(SRCDIR)/include/wx/$(SETUP_H_SUBDIR)/setup0.h</src> | |
203 | <dst>$(SRCDIR)/include/wx/$(SETUP_H_SUBDIR)/setup.h</dst> | |
204 | <dependency-of>setup_h</dependency-of> | |
205 | </copy-file-to-file-if-not-exist> | |
206 | <copy-file-to-file-if-not-exist id="setup.h"> | |
207 | <dependency-of>setup_h</dependency-of> | |
208 | <src>$(SRCDIR)/include/wx/$(SETUP_H_SUBDIR)/setup.h</src> | |
209 | <dst>$(SETUPHDIR)/wx/setup.h</dst> | |
210 | </copy-file-to-file-if-not-exist> | |
211 | </if> | |
212 | ||
213 | ||
214 | <!-- create rcdefs.h on Windows: --> | |
215 | <if cond="FORMAT in ['borland','mingw','msvc','watcom'] and TOOLKIT == 'MSW'"> | |
216 | ||
217 | <mkdir id="libdir_setup_wx_msw"> | |
218 | <depends>libdir_setup_wx</depends> | |
219 | <dir>$(SETUPHDIR)/wx/msw</dir> | |
220 | </mkdir> | |
221 | ||
222 | <action id="rcdefs.h"> | |
223 | ||
224 | <!-- Can't seem to set id to a name with a dollar sign | |
225 | so use __targetname as a temporary work around --> | |
226 | <set var="__targetname">$(SETUPHDIR)\wx\msw\rcdefs.h</set> | |
227 | ||
228 | <dependency-of>setup_h</dependency-of> | |
229 | <depends>libdir_setup_wx_msw</depends> | |
230 | <depends-on-file>$(SRCDIR)/include/wx/msw/genrcdefs.h</depends-on-file> | |
231 | ||
232 | <command> | |
233 | $(DOLLAR)(CPP) "$(nativePaths(SRCDIR))\include\wx\msw\genrcdefs.h" > "$(SETUPHDIR)\wx\msw\rcdefs.h" | |
234 | </command> | |
235 | ||
236 | </action> | |
237 | ||
238 | </if> | |
239 | ||
240 | ||
241 | <if cond="FORMAT=='autoconf'"> | |
242 | ||
243 | <!-- Show this banner after installation: --> | |
244 | <modify-target target="install"> | |
245 | <command> | |
246 | @echo " " | |
247 | @echo " ------------------------------------------------------" | |
248 | @echo " " | |
249 | @echo " The installation of wxWidgets is finished. On certain" | |
250 | @echo " platforms (e.g. Linux) you'll now have to run ldconfig" | |
251 | @echo " if you installed a shared library and also modify the" | |
252 | @echo " LD_LIBRARY_PATH (or equivalent) environment variable." | |
253 | @echo " " | |
254 | @echo " wxWidgets comes with no guarantees and doesn't claim" | |
255 | @echo " to be suitable for any purpose." | |
256 | @echo " " | |
257 | @echo " Read the wxWidgets Licence on licencing conditions." | |
258 | @echo " " | |
259 | @echo " ------------------------------------------------------" | |
260 | @echo " " | |
261 | </command> | |
262 | </modify-target> | |
263 | ||
264 | <!-- add "make dist" target to autoconf: --> | |
265 | <set var="VARS_DONT_ELIMINATE" append="1"> | |
266 | ALL_PORTS_BASE_HEADERS ALL_BASE_SOURCES WX_VERSION | |
267 | </set> | |
268 | <fragment format="autoconf" file="make_dist.mk"/> | |
269 | ||
270 | </if> | |
271 | ||
272 | <include file="build_cfg.bkl"/> | |
273 | ||
274 | </makefile> |