| 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','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) "$(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> |