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