]> git.saurik.com Git - wxWidgets.git/blame - build/bakefiles/wx.bkl
Correct wxImage::Size() again; add unit tests for it.
[wxWidgets.git] / build / bakefiles / wx.bkl
CommitLineData
ddf98968
VS
1<?xml version="1.0" ?>
2<!-- $Id$ -->
3
4
77ffb593 5<!-- Master bakefile for wxWidgets -->
ddf98968
VS
6
7<makefile>
8
6ee3c064
VS
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
ddf98968 14 <set var="BUILDING_LIB">1</set>
1dba7b4c 15
ddf98968
VS
16 <!-- common rules, names etc. for wx: -->
17 <include file="common.bkl"/>
1dba7b4c 18
ddf98968
VS
19 <!-- list of files sorted into categories: -->
20 <include file="files.bkl"/>
1dba7b4c 21
77ffb593 22 <!-- wxWidgets variant where everything is in one library: -->
ddf98968
VS
23 <include file="monolithic.bkl"/>
24 <!-- ...and when there are multiple libraries: -->
e86e1522 25 <include file="multilib.bkl"/>
af594eca 26
b158f13e 27 <if cond="IS_MSVC_PRJ">
af594eca
VS
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>
1dba7b4c 33
4d264332
VS
34 <!-- OpenGL canvas is built as separate library in both cases: -->
35 <include file="opengl.bkl"/>
c79241a2
VS
36 <!-- Dynamically loadable plugins: -->
37 <include file="plugins.bkl"/>
1dba7b4c 38
ddf98968 39 <!-- Samples target (not dependency of 'all'): -->
ddf98968 40 <subproject id="samples">
289919bf
VS
41 <installable>no</installable>
42 <dir cond="FORMAT=='autoconf'">samples</dir>
712593b0 43 <dir cond="FORMAT!='autoconf' and TOOLKIT in ['PM','MSW','MGL','MOTIF']">../../samples</dir>
ddf98968 44 </subproject>
1dba7b4c 45
f9e1c3c5 46 <if cond="FORMAT=='autoconf'">
1dba7b4c 47
f9e1c3c5
VS
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>
7b3dba49
VS
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>
1dba7b4c 62
f9e1c3c5 63 <command>
98a04b4a 64 (if test -f utils/wxrc/Makefile ; then cd utils/wxrc &amp;&amp; $(DOLLAR)(MAKE) all ; fi)
f9e1c3c5
VS
65 </command>
66 </action>
67 <action id="clean-wxrc" cond="USE_XRC=='1'">
68 <dependency-of>clean</dependency-of>
69 <command>
98a04b4a 70 (if test -f utils/wxrc/Makefile ; then cd utils/wxrc &amp;&amp; $(DOLLAR)(MAKE) clean ; fi)
f9e1c3c5
VS
71 </command>
72 </action>
73 <action id="install-wxrc" cond="USE_XRC=='1'">
74 <dependency-of>install</dependency-of>
7b3dba49 75 <depends>wxrc</depends>
f9e1c3c5 76 <command>
98a04b4a 77 (if test -f utils/wxrc/Makefile ; then cd utils/wxrc &amp;&amp; $(DOLLAR)(MAKE) install ; fi)
f9e1c3c5
VS
78 </command>
79 </action>
1dba7b4c 80
ddf98968
VS
81 <!-- "make install": -->
82
83 <data-files>
84 <files>wxwin.m4</files>
85 <install-to>$(DATADIR)/aclocal</install-to>
86 </data-files>
87
07910a9a 88 <data-files>
9f0ff522 89 <srcdir>$(SRCDIR)/build/bakefiles/wxpresets/presets</srcdir>
417f5137 90 <files>wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl</files>
07910a9a
VS
91 <install-to>$(DATADIR)/bakefile/presets</install-to>
92 </data-files>
93
ddf98968
VS
94 <action id="install-wxconfig">
95 <dependency-of>install</dependency-of>
96 <command>
004779cd 97 $(INSTALL_DIR) $(DESTDIR)$(BINDIR)
8708fa76 98 $(INSTALL_DIR) $(DESTDIR)$(LIBDIR)/wx/config
ceec2216 99 $(INSTALL_PROGRAM) lib/wx/config/$(TOOLCHAIN_FULLNAME) $(DESTDIR)$(LIBDIR)/wx/config
710526de 100 (cd $(DESTDIR)$(BINDIR) &amp;&amp; rm -f wx-config &amp;&amp; $(LN_S) $(LIBDIR)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config)
ddf98968
VS
101 </command>
102 </action>
103
19beefa6
KO
104 <modify-target target="install">
105 <command>
106 $(DYLIB_RPATH_INSTALL)
107 </command>
108 </modify-target>
109
c8d58531 110 <set var="RCDEFS_H">
47bff9ff 111 <if cond="TOOLKIT=='MSW'">msw/rcdefs.h</if>
c8d58531 112 </set>
bad4a10f
VS
113
114
115 <data-files-tree>
47bff9ff
MW
116 <srcdir>
117 $(BUILDDIR)/lib/wx/include/$(TOOLCHAIN_FULLNAME)/wx
118 </srcdir>
c8d58531 119 <files>
47bff9ff 120 setup.h $(RCDEFS_H)
c8d58531 121 </files>
47bff9ff
MW
122 <install-to>
123 $(LIBDIR)/wx/include/$(TOOLCHAIN_FULLNAME)/wx
124 </install-to>
bad4a10f 125 </data-files-tree>
ddf98968 126
aa163cb5
VS
127 <!-- FIXME: make this use per-target <headers> once it supports
128 prefix removal -->
bad4a10f 129 <data-files-tree>
ddf98968
VS
130 <srcdir>$(SRCDIR)/include</srcdir>
131 <files>$(ALL_HEADERS)</files>
166bcebb 132 <install-to>
a1bf307a 133 $(INCLUDEDIR)/wx-$(WX_RELEASE)$(WX_FLAVOUR)
166bcebb 134 </install-to>
bad4a10f 135 </data-files-tree>
ddf98968 136
065a32a5
VS
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>
4d931bcc
MW
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>
417f5137 154
ddf98968
VS
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>
25a4727e
DE
159 <action id="cocoa-res" cond="TOOLKIT=='COCOA'">
160 <dependency-of>all</dependency-of>
161 <set var="__targetname">$(MACOS_R)</set>
162 <command>
891ace05 163 $(REZ) -d __UNIX__ -useDF $(top_srcdir)/src/cocoa/dummy.r -o $(MACOS_RSRC)
25a4727e
DE
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>
a4297f6a 170 <depends>cocoa-res</depends>
25a4727e
DE
171 <command>
172 $(INSTALL_DATA) $(MACOS_R) $(LIBDIR)
173 $(INSTALL_DATA) $(MACOS_RSRC) $(LIBDIR)
174 </command>
175 </action>
ddf98968
VS
176
177 </if>
178
4cd612f9 179
b158f13e
VZ
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']">
4cd612f9 182 <mkdir id="libdir">
47652170
VS
183 <dir>$(LIBDIRNAME)</dir>
184 </mkdir>
ee929bcf 185 <mkdir id="libdir_setup">
47652170 186 <depends>libdir</depends>
1dba7b4c 187 <dir>$(SETUPHDIR)</dir>
ee929bcf
VS
188 </mkdir>
189 <mkdir id="libdir_setup_wx">
190 <depends>libdir_setup</depends>
6ee3c064 191 <dependency-of>setup_h</dependency-of>
1dba7b4c 192 <dir>$(SETUPHDIR)/wx</dir>
4cd612f9 193 </mkdir>
399a8824 194
ee929bcf 195 <set var="SETUP_H_SUBDIR">
399a8824 196 <if cond="WXUNIV=='1'">univ</if>
1dba7b4c
WS
197 <if cond="WXUNIV=='0' and TOOLKIT!='PM'">$(TOOLKIT_LOWERCASE)</if>
198 <if cond="WXUNIV=='0' and TOOLKIT=='PM'">os2</if>
399a8824 199 </set>
1dba7b4c 200
399a8824 201 <copy-file-to-file-if-not-exist id="master_setup.h">
ee929bcf
VS
202 <src>$(SRCDIR)/include/wx/$(SETUP_H_SUBDIR)/setup0.h</src>
203 <dst>$(SRCDIR)/include/wx/$(SETUP_H_SUBDIR)/setup.h</dst>
b0251b16 204 <dependency-of>setup_h</dependency-of>
6ee3c064
VS
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>
ee929bcf
VS
208 <src>$(SRCDIR)/include/wx/$(SETUP_H_SUBDIR)/setup.h</src>
209 <dst>$(SETUPHDIR)/wx/setup.h</dst>
6ee3c064 210 </copy-file-to-file-if-not-exist>
4cd612f9
VS
211 </if>
212
289919bf 213
c8d58531 214 <!-- create rcdefs.h on Windows: -->
2a4d2d46 215 <if cond="FORMAT in ['borland','mingw','msvc','watcom'] and TOOLKIT == 'MSW'">
c8d58531
MW
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
58b59bb7
MW
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
c8d58531
MW
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>
2275c732 233 $(DOLLAR)(CPP) "$(nativePaths(SRCDIR))\include\wx\msw\genrcdefs.h" > "$(SETUPHDIR)\wx\msw\rcdefs.h"
c8d58531
MW
234 </command>
235
236 </action>
237
238 </if>
239
240
289919bf 241 <if cond="FORMAT=='autoconf'">
065a32a5
VS
242
243 <!-- Show this banner after installation: -->
289919bf
VS
244 <modify-target target="install">
245 <command>
246@echo " "
d424f5ae
VS
247@echo " ------------------------------------------------------"
248@echo " "
77ffb593 249@echo " The installation of wxWidgets is finished. On certain"
289919bf
VS
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 " "
77ffb593 254@echo " wxWidgets comes with no guarantees and doesn't claim"
289919bf
VS
255@echo " to be suitable for any purpose."
256@echo " "
77ffb593 257@echo " Read the wxWidgets Licence on licencing conditions."
d424f5ae
VS
258@echo " "
259@echo " ------------------------------------------------------"
289919bf
VS
260@echo " "
261 </command>
262 </modify-target>
289919bf 263
065a32a5 264 <!-- add "make dist" target to autoconf: -->
ca58c9bb 265 <set var="VARS_DONT_ELIMINATE" append="1">
2f5e790c 266 ALL_PORTS_BASE_HEADERS ALL_BASE_SOURCES WX_VERSION
ca58c9bb
VS
267 </set>
268 <fragment format="autoconf" file="make_dist.mk"/>
065a32a5 269
ca58c9bb 270 </if>
1dba7b4c 271
5d1000e7 272 <include file="build_cfg.bkl"/>
ca58c9bb 273
ddf98968 274</makefile>