1<?xml version="1.0" ?> 2<!-- $Id: wx.bkl 53750 2008-05-26 09:21:56Z VS $ --> 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','msvs2005prj']"> 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) "$(nativePaths(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> 266