<!-- $Id$ -->
-<!-- Master bakefile for wxWindows -->
+<!-- Master bakefile for wxWidgets -->
<makefile>
+ <!-- make sure setup.h is created as soon as possible: -->
+ <phony id="setup_h" cond="FORMAT!='autoconf'">
+ <dependency-of>all</dependency-of>
+ </phony>
+
<set var="BUILDING_LIB">1</set>
<!-- common rules, names etc. for wx: -->
<!-- list of files sorted into categories: -->
<include file="files.bkl"/>
- <!-- wxWindows variant where everything is in one library: -->
+ <!-- wxWidgets variant where everything is in one library: -->
<include file="monolithic.bkl"/>
<!-- ...and when there are multiple libraries: -->
<include file="multilib.bkl"/>
+
+ <if cond="IS_MSVC_PRJ">
+ <set var="MSVC6PRJ_MERGED_TARGETS">
+ <if cond="MONOLITHIC=='0'">$(MSVC6PRJ_MERGED_TARGETS_MULTILIB)</if>
+ <if cond="MONOLITHIC=='1'">$(MSVC6PRJ_MERGED_TARGETS_MONOLIB)</if>
+ </set>
+ </if>
+
<!-- OpenGL canvas is built as separate library in both cases: -->
<include file="opengl.bkl"/>
-
-
+ <!-- Dynamically loadable plugins: -->
+ <include file="plugins.bkl"/>
+
<!-- Samples target (not dependency of 'all'): -->
- <!-- [ FIXME disabled; currently causes make install to go into samples ]
<subproject id="samples">
- <dir>samples</dir>
+ <installable>no</installable>
+ <dir cond="FORMAT=='autoconf'">samples</dir>
+ <dir cond="FORMAT!='autoconf'">../../samples</dir>
</subproject>
- -->
- <if cond="FORMAT=='autoconf'">
+ <if cond="FORMAT=='autoconf'">
+
+ <!-- WXRC compiler is built by default: -->
+ <!-- FIXME: this is dirty hack, better bakefile support for
+ conditional and optional subprojects is needed -->
+ <action id="wxrc" cond="USE_XRC=='1'">
+ <dependency-of>all</dependency-of>
+
+ <!-- some of these are not built in all configurations, <depends>
+ takes care of ignoring the disabled ones: -->
+ <depends>monodll</depends>
+ <depends>monolib</depends>
+ <depends>basedll</depends>
+ <depends>baselib</depends>
+ <depends>xmldll</depends>
+ <depends>xmllib</depends>
+
+ <command>
+ (if test -f utils/wxrc/Makefile ; then cd utils/wxrc && $(DOLLAR)(MAKE) all ; fi)
+ </command>
+ </action>
+ <action id="clean-wxrc" cond="USE_XRC=='1'">
+ <dependency-of>clean</dependency-of>
+ <command>
+ (if test -f utils/wxrc/Makefile ; then cd utils/wxrc && $(DOLLAR)(MAKE) clean ; fi)
+ </command>
+ </action>
+ <action id="install-wxrc" cond="USE_XRC=='1'">
+ <dependency-of>install</dependency-of>
+ <depends>wxrc</depends>
+ <command>
+ (if test -f utils/wxrc/Makefile ; then cd utils/wxrc && $(DOLLAR)(MAKE) install ; fi)
+ </command>
+ </action>
+
<!-- "make install": -->
<data-files>
<install-to>$(DATADIR)/aclocal</install-to>
</data-files>
- <data-files-tg id="install-afm" cond="USE_GUI=='1'">
- <files>misc/afm/*.afm</files>
- <install-to>$(DATADIR)/wx/$(WXVER_MAJOR).$(WXVER_MINOR)/afm</install-to>
- </data-files-tg>
- <data-files-tg id="install-gsafm" cond="USE_GUI=='1'">
- <files>misc/gs_afm/*.afm</files>
- <install-to>$(DATADIR)/wx/$(WXVER_MAJOR).$(WXVER_MINOR)/gs_afm</install-to>
- </data-files-tg>
+ <data-files>
+ <srcdir>$(SRCDIR)/build/bakefiles/wxpresets/presets</srcdir>
+ <files>wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py</files>
+ <install-to>$(DATADIR)/bakefile/presets</install-to>
+ </data-files>
<action id="install-wxconfig">
<dependency-of>install</dependency-of>
<command>
- $(INSTALL_DIR) $(BINDIR)
- $(INSTALL_PROGRAM) wx$(TOOLCHAIN_NAME)-config $(BINDIR)
- (cd $(BINDIR) && rm -f wx-config && $(LN_S) wx$(TOOLCHAIN_NAME)-config wx-config)
+ $(INSTALL_DIR) $(DESTDIR)$(BINDIR)
+ $(INSTALL_DIR) $(DESTDIR)$(LIBDIR)/wx/config
+ $(INSTALL_PROGRAM) lib/wx/config/$(TOOLCHAIN_FULLNAME) $(DESTDIR)$(LIBDIR)/wx/config
+ (cd $(DESTDIR)$(BINDIR) && rm -f wx-config && $(LN_S) ../`basename $(LIBDIR)`/wx/config/$(TOOLCHAIN_FULLNAME) wx-config)
</command>
</action>
- <data-files>
- <srcdir>$(BUILDDIR)</srcdir>
- <files>lib/wx/include/$(TOOLCHAIN_NAME)/wx/setup.h</files>
- <install-to>$(LIBDIR)/wx/include/$(TOOLCHAIN_NAME)/wx</install-to>
- </data-files>
+ <modify-target target="install">
+ <command>
+ $(DYLIB_RPATH_INSTALL)
+ </command>
+ </modify-target>
+
+ <set var="RCDEFS_H">
+ <if cond="TOOLKIT=='MSW'">msw/rcdefs.h</if>
+ </set>
+
- <headers>
+ <data-files-tree>
+ <srcdir>
+ $(BUILDDIR)/lib/wx/include/$(TOOLCHAIN_FULLNAME)/wx
+ </srcdir>
+ <files>
+ setup.h $(RCDEFS_H)
+ </files>
+ <install-to>
+ $(LIBDIR)/wx/include/$(TOOLCHAIN_FULLNAME)/wx
+ </install-to>
+ </data-files-tree>
+
+ <!-- FIXME: make this use per-target <headers> once it supports
+ prefix removal -->
+ <data-files-tree>
<srcdir>$(SRCDIR)/include</srcdir>
<files>$(ALL_HEADERS)</files>
- </headers>
+ <install-to>
+ $(INCLUDEDIR)/wx-$(WX_RELEASE)$(WX_FLAVOUR)
+ </install-to>
+ </data-files-tree>
+
+ <!-- Locales: -->
+ <using module="gettext"/>
+ <gettext-catalogs id="locale">
+ <srcdir>$(SRCDIR)/locale</srcdir>
+ <catalog-name>wxstd</catalog-name>
+ <linguas>
+ ca cs da de el es fi fr hu id it ja nl pl ru sl sv tr uk
+ zh zh_CN zh_TW
+ </linguas>
+ <install-to>$(LOCALEDIR)</install-to>
+ </gettext-catalogs>
+ <gettext-catalogs id="locale_msw">
+ <srcdir>$(SRCDIR)/locale/msw</srcdir>
+ <catalog-name>wxmsw</catalog-name>
+ <linguas>it</linguas>
+ <install-to>$(LOCALEDIR)</install-to>
+ </gettext-catalogs>
<!-- Mac OS X resources: -->
<set var="MACOS_R">lib/libwx_$(TOOLCHAIN_NAME).$(WXSOVERSION[0]).r</set>
<set var="MACOS_RSRC">lib/libwx_$(TOOLCHAIN_NAME).$(WXSOVERSION[0]).rsrc</set>
- <action id="macos-res" cond="TOOLKIT=='MAC'">
+ <action id="cocoa-res" cond="TOOLKIT=='COCOA'">
<dependency-of>all</dependency-of>
<set var="__targetname">$(MACOS_R)</set>
<command>
- $(RESCOMP) -d __UNIX__ -useDF $(top_srcdir)/src/mac/apprsrc.r $(top_srcdir)/src/mac/carbrsrc.r $(top_srcdir)/src/mac/corersrc.r -o $(MACOS_RSRC)
- $(DEREZ) $(MACOS_RSRC) Carbon.r -useDF >$(MACOS_R)
+ $(REZ) -d __UNIX__ -useDF $(top_srcdir)/src/cocoa/dummy.r -o $(MACOS_RSRC)
+ $(DEREZ) $(MACOS_RSRC) -useDF >$(MACOS_R)
</command>
<clean-files>$(MACOS_RSRC) $(MACOS_R)</clean-files>
</action>
- <action id="macos-res-install" cond="TOOLKIT=='MAC'">
+ <action id="cocoa-res-install" cond="TOOLKIT=='COCOA'">
<dependency-of>install</dependency-of>
- <depends>macos-res</depends>
+ <depends>cocoa-res</depends>
<command>
$(INSTALL_DATA) $(MACOS_R) $(LIBDIR)
$(INSTALL_DATA) $(MACOS_RSRC) $(LIBDIR)
</if>
- <!-- copy setup.h on Windows: -->
- <if cond="FORMAT!='autoconf' and TOOLKIT=='MSW'">
+ <!-- copy setup.h on DOS/OS2/Windows if the format supports it: -->
+ <if cond="FORMAT!='autoconf' and IS_MSVC_PRJ=='0'">
<mkdir id="libdir">
<dir>$(LIBDIRNAME)</dir>
</mkdir>
- <mkdir id="libdir_wx">
+ <mkdir id="libdir_setup">
<depends>libdir</depends>
- <dir>$(LIBDIRNAME)/wx</dir>
+ <dir>$(SETUPHDIR)</dir>
+ </mkdir>
+ <mkdir id="libdir_setup_wx">
+ <depends>libdir_setup</depends>
+ <dependency-of>setup_h</dependency-of>
+ <dir>$(SETUPHDIR)/wx</dir>
+ </mkdir>
+
+ <set var="SETUP_H_SUBDIR">
+ <if cond="WXUNIV=='1'">univ</if>
+ <if cond="WXUNIV=='0' and PLATFORM_OS2!='1'">$(TOOLKIT_LOWERCASE)</if>
+ <if cond="WXUNIV=='0' and PLATFORM_OS2=='1'">os2</if>
+ </set>
+
+ <copy-file-to-file-if-not-exist id="master_setup.h">
+ <src>$(SRCDIR)/include/wx/$(SETUP_H_SUBDIR)/setup0.h</src>
+ <dst>$(SRCDIR)/include/wx/$(SETUP_H_SUBDIR)/setup.h</dst>
+ <dependency-of>setup_h</dependency-of>
+ </copy-file-to-file-if-not-exist>
+ <copy-file-to-file-if-not-exist id="setup.h">
+ <dependency-of>setup_h</dependency-of>
+ <src>$(SRCDIR)/include/wx/$(SETUP_H_SUBDIR)/setup.h</src>
+ <dst>$(SETUPHDIR)/wx/setup.h</dst>
+ </copy-file-to-file-if-not-exist>
+ </if>
+
+
+ <!-- create rcdefs.h on Windows: -->
+ <if cond="FORMAT in ['borland','mingw','msvc','watcom']">
+
+ <mkdir id="libdir_setup_wx_msw">
+ <depends>libdir_setup_wx</depends>
+ <dir>$(SETUPHDIR)/wx/msw</dir>
</mkdir>
-
- <copy-file-to-file id="msw/setup.h">
- <src>$(SRCDIR)/include/wx/msw/setup0.h</src>
- <dst>$(SRCDIR)/include/wx/msw/setup.h</dst>
- </copy-file-to-file>
- <copy-file-to-file id="setup.h">
- <depends>msw/setup.h</depends>
- <depends>libdir_wx</depends>
- <src>$(SRCDIR)/include/wx/msw/setup.h</src>
- <dst>$(LIBDIRNAME)/wx/setup.h</dst>
- </copy-file-to-file>
- <phony id="setup_h">
- <depends>setup.h</depends>
- </phony>
+
+ <action id="rcdefs.h">
+
+ <!-- Can't seem to set id to a name with a dollar sign
+ so use __targetname as a temporary work around -->
+ <set var="__targetname">$(SETUPHDIR)\wx\msw\rcdefs.h</set>
+
+ <dependency-of>setup_h</dependency-of>
+ <depends>libdir_setup_wx_msw</depends>
+ <depends-on-file>$(SRCDIR)/include/wx/msw/genrcdefs.h</depends-on-file>
+
+ <command>
+ $(DOLLAR)(CPP) "$(nativePaths(SRCDIR))\include\wx\msw\genrcdefs.h" > "$(SETUPHDIR)\wx\msw\rcdefs.h"
+ </command>
+
+ </action>
+
+ </if>
+
+
+ <if cond="FORMAT=='autoconf'">
+
+ <!-- Show this banner after installation: -->
+ <modify-target target="install">
+ <command>
+@echo " "
+@echo " ------------------------------------------------------"
+@echo " "
+@echo " The installation of wxWidgets is finished. On certain"
+@echo " platforms (e.g. Linux) you'll now have to run ldconfig"
+@echo " if you installed a shared library and also modify the"
+@echo " LD_LIBRARY_PATH (or equivalent) environment variable."
+@echo " "
+@echo " wxWidgets comes with no guarantees and doesn't claim"
+@echo " to be suitable for any purpose."
+@echo " "
+@echo " Read the wxWindows Licence on licencing conditions."
+@echo " "
+@echo " ------------------------------------------------------"
+@echo " "
+ </command>
+ </modify-target>
+
+ <!-- add "make dist" target to autoconf: -->
+ <set var="VARS_DONT_ELIMINATE" append="1">
+ ALL_PORTS_BASE_HEADERS ALL_BASE_SOURCES WX_VERSION
+ </set>
+ <fragment format="autoconf" file="make_dist.mk"/>
+
</if>
+ <include file="build_cfg.bkl"/>
+
</makefile>