wxWidgets/debian/rules
Ron Lee e653e18150 Bump WX_CURRENT back to 3, this must stay the same as
wx_release_number until bakefile is fixed to unlink the
the soversion from it.  Ideally of course it should track
binary incompatible releases instead.

Update the Debian scripts to suit the new site-packages
location for wxPython.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30489 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-11-12 11:39:03 +00:00

815 lines
28 KiB
Makefile
Executable File

#!/usr/bin/make -f
# debian/rules file to build packages from wx CVS source
#
# Sculpted 13/2/2000 by Ron Lee <ron@debian.org> from new and
# variously stolen code :-)
# It makes copious use of the debhelper utilities written by
# Joey Hess and others.
#export DH_VERBOSE=1
export DH_OPTIONS
ifdef DISTCC_HOSTS
#JOB_COUNT := $(shell set $${DISTCC_HOSTS} > /dev/null 2>&1 ; echo $$(($$\# + $$\#)))
# Nearly as fast, but doesn't raise the room temperature
# or saturate the build machines quite so much.
JOB_COUNT := $(shell set $${DISTCC_HOSTS} > /dev/null 2>&1 ; echo $$\#)
FAST_MAKE = $(MAKE) -j $(JOB_COUNT)
else
FAST_MAKE = $(MAKE)
endif
-include debian/python-version
# This will extract a flavour out of the name of the source directory
# and flavour the packages and binaries with it. 'Official' builds
# should use a source dir of the form wxwidgets$RELEASE-$VERSION.
# Flavoured builds may use wxwidgets$RELEASE-$FLAVOUR-$VERSION, where
# any descriptive alphanumeric name will do for FLAVOUR. This will
# allow a custom build to be installed alongside the mainline ones
# without conflict. You will also need to make a corresponding
# changelog entry for your flavour source package using:
# wxwidget$RELEASE-$FLAVOUR ($VERSION) to satify dpkg-source and
# to correctly set the release below.
DEBIAN_WXFLAVOUR := $(shell pwd | sed -e 's@.*/wxwidgets[0-9.]\+-\?\(.*\)-[0-9.]\+-\?.*@\1@')
release := $(shell dpkg-parsechangelog | sed -n 's/^Source: wxwidgets//p')
soversion := $(shell grep '^WX_CURRENT=' configure.in | sed 's/WX_CURRENT=\([0-9]\+\).*/\1/')
sorelease := $(release:%-$(DEBIAN_WXFLAVOUR)=%).$(soversion)$(addprefix -,$(DEBIAN_WXFLAVOUR))
pydir := usr/lib/$(python_ver)/site-packages
wxpydir := $(pydir)/wx-$(sorelease)-gtk2-unicode
cross_host = i586-mingw32msvc
cross_build = $(shell ./config.guess)
config_cache = ../config_deb.cache
config_cache_cross = ../config_deb_cross.cache
# Packages to build:
package_gtk_lib = libwxgtk$(sorelease)
package_gtk_dev = libwxgtk$(release)-dev
package_gtk_dbg = libwxgtk$(release)-dbg
package_gtk_py_lib = libwxgtk$(sorelease)-python
package_gtk_py = wxpython$(sorelease)
package_common = wx$(release)-common
package_headers = wx$(release)-headers
package_i18n = wx$(release)-i18n
package_doc = wx$(release)-doc
package_examples = wx$(release)-examples
package_gtk_dbg_py = libwxgtk$(sorelease)-dbg-python
package_msw_dev = libwxmsw$(release)-dev
package_msw_dbg = libwxmsw$(release)-dbg
package_headers_msw = wx$(release)-headers-msw
# Build directories:
objdir_gtk_shared = objs_gtk_sh
objdir_gtk_static = objs_gtk_st
objdir_gtk_debug = objs_gtk_d
objdir_gtk_install = objs_gtk_install
objdir_doc_cruft = objs_doc_con
objdir_doc = docs/wx-manual.html
objdir_examples = docs/examples
objdir_i18n = locale
objdir_msw_shared = objs_msw_sh
objdir_msw_static = objs_msw_st
objdir_msw_dbg = objs_msw_d
objdir_msw_install = objs_msw_install
objdirs = $(objdir_gtk_shared) $(objdir_gtk_static) $(objdir_gtk_debug) \
$(objdir_gtk_install) \
$(objdir_doc_cruft) $(objdir_doc) $(objdir_examples) \
$(objdir_msw_shared) $(objdir_msw_static) $(objdir_msw_dbg) \
$(objdir_msw_install)
# note that the i18n package is actually arch indep (once built)
# but must be built (and installed) during the arch any phase as
# it's pulled out of the wxGTK shared lib package.
# Build stamps:
build_arch_stamps = build-gtk-shared-stamp build-gtk-shared-contrib-stamp \
build-gtk-static-stamp build-gtk-static-contrib-stamp \
build-gtk-debug-stamp build-gtk-debug-contrib-stamp \
build-i18n-stamp build-gtk-py-stamp
build_indep_stamps = build-examples-stamp build-doc-stamp
build_cross_stamps = build-msw-shared-stamp build-msw-static-stamp build-msw-dbg-stamp
build_stamps_native = $(build_arch_stamps) $(build_indep_stamps)
build_stamps = $(build_stamps_native) $(build_cross_stamps)
# Install targets:
install_all_arch = install-gtk-lib install-gtk-dev install-gtk-dbg \
install-common install-headers install-i18n \
install-gtk-py
install_all_indep = install-examples install-doc
install_all_cross = install-msw-dev install-msw-dbg install-headers-msw
install_all_native = $(install_all_arch) $(install_all_indep)
install_all = $(install_all_native) $(install_all_cross)
wxconfig := $(shell pwd)/$(objdir_gtk_shared)/wx-config --no_rpath
wxconfig-dbg := $(shell pwd)/$(objdir_gtk_debug)/wx-config --no_rpath
#contrib_libs := $(subst CVS,,$(notdir $(wildcard contrib/include/wx/*)))
# The Rules:
debian/python-version:
echo python_ver := python$(shell python -c "import sys;print sys.version[:3]") > $@
debian/control: $(addprefix debian/,control.in python-version)
sed -e 's/=V/$(release)/g;s/=SOV/$(sorelease)/g;s/=PY/$(python_ver)/g' \
< debian/control.in > debian/control
control-files-stamp: debian/control
dh_testdir
@for f in postinst prerm; do \
echo "generating control file $(package_gtk_dev).$$f"; \
sed -e 's/=V/$(release)/g' < debian/libwxgtk-dev.$$f \
> debian/$(package_gtk_dev).$$f; \
done;
@for f in postinst prerm; do \
echo "generating control file $(package_gtk_dbg).$$f"; \
sed -e 's/=V/$(release)/g' < debian/libwxgtk-dbg.$$f \
> debian/$(package_gtk_dbg).$$f; \
done;
@for f in docs postinst prerm; do \
echo "generating control file $(package_gtk_py_lib).$$f"; \
sed -e 's/=PY/$(python_ver)/g; \
s|=WXPYDIR|$(wxpydir)|g; \
s/=V/$(release)/g; \
s/=SOV/$(sorelease)/g' \
< debian/libwxgtk-python.$$f \
> debian/$(package_gtk_py_lib).$$f; \
done;
@echo "generating control file $(package_gtk_py).menu"; \
sed -e 's/=SOV/$(sorelease)/g' < debian/wxpython.menu \
> debian/$(package_gtk_py).menu;
@for f in docs postinst; do \
echo "generating control file $(package_gtk_dbg_py).$$f"; \
sed -e 's/=PY/$(python_ver)/g;s/=V/$(release)/g;s/=SOV/$(sorelease)/g' \
< debian/libwxgtk-python.$$f \
> debian/$(package_gtk_dbg_py).$$f; \
done;
@echo "generating control file $(package_gtk_dbg_py).prerm"; \
sed 's/=SOV/$(sorelease)/g' < debian/libwxgtk-dbg-python.prerm \
> debian/$(package_gtk_dbg_py).prerm
@for f in docs doc-base; do \
echo "generating control file $(package_doc).$$f"; \
sed -e 's/=V/$(release)/g' < debian/wx-doc.$$f \
> debian/$(package_doc).$$f; \
done;
@for f in examples; do \
echo "generating control file $(package_examples).$$f"; \
cp debian/wx-examples.$$f debian/$(package_examples).$$f; \
done;
@for f in postinst prerm; do \
echo "generating control file $(package_msw_dev).$$f"; \
sed -e 's/=V/$(release)/g;s/=H/$(cross_host)/g' < debian/libwxmsw-dev.$$f \
> debian/$(package_msw_dev).$$f; \
done;
@for f in postinst prerm; do \
echo "generating control file $(package_msw_dbg).$$f"; \
sed -e 's/=V/$(release)/g;s/=H/$(cross_host)/g' < debian/libwxmsw-dbg.$$f \
> debian/$(package_msw_dbg).$$f; \
done;
# @echo "generating control file $(package_common).menu"; \
# sed -e 's/=V/$(release)/g' < debian/wx-common.menu \
# > debian/$(package_common).menu;
@echo "generating control file lintian-override"; \
sed -e 's/=V/$(release)/g' < debian/lintian-override.in \
> debian/lintian-override; \
touch $@
build_arch: control-files-stamp $(build_arch_stamps)
build_all: control-files-stamp $(build_stamps_native)
# Really we should probably do nothing here until we know which
# binary target is being called, but alpha builds were exploding
# (compiler segfaults) in random places when building under fakeroot
# from the binary-arch target. Build all -arch files here then, and
# let the -indep stuff fend for itself later.
build: build_arch
configure-gtk-shared-stamp:
dh_testdir
mkdir -p $(objdir_gtk_shared)
cd $(objdir_gtk_shared) \
&& ../configure --prefix=/usr \
--cache-file=$(config_cache) \
--with-flavour=$(DEBIAN_WXFLAVOUR) \
--with-gtk \
--enable-unicode \
--with-opengl \
--with-zlib=sys \
--with-libjpeg=sys \
--with-libpng=sys \
--with-libtiff=sys \
--enable-dynamic-loader \
--enable-std_iostreams
touch $@
build-gtk-shared-stamp: configure-gtk-shared-stamp
dh_testdir
cd $(objdir_gtk_shared) && $(FAST_MAKE)
touch $@
configure-gtk-static-stamp:
dh_testdir
mkdir -p $(objdir_gtk_static)
cd $(objdir_gtk_static) \
&& ../configure --prefix=/usr \
--cache-file=$(config_cache) \
--with-flavour=$(DEBIAN_WXFLAVOUR) \
--with-gtk \
--enable-unicode \
--with-opengl \
--disable-shared \
--with-zlib=sys \
--with-libjpeg=sys \
--with-libpng=sys \
--with-libtiff=sys \
--enable-dynamic-loader \
--enable-std_iostreams
touch $@
build-gtk-static-stamp: configure-gtk-static-stamp
dh_testdir
cd $(objdir_gtk_static) && $(FAST_MAKE)
touch $@
configure-gtk-debug-stamp:
dh_testdir
mkdir -p $(objdir_gtk_debug)
cd $(objdir_gtk_debug) \
&& ../configure --prefix=/usr \
--cache-file=$(config_cache) \
--with-flavour=$(DEBIAN_WXFLAVOUR) \
--with-gtk \
--enable-unicode \
--with-opengl \
--enable-debug \
--with-zlib=sys \
--with-libjpeg=sys \
--with-libpng=sys \
--with-libtiff=sys \
--enable-dynamic-loader \
--enable-std_iostreams
touch $@
build-gtk-debug-stamp: configure-gtk-debug-stamp
dh_testdir
cd $(objdir_gtk_debug) && $(FAST_MAKE)
touch $@
build-gtk-shared-contrib-stamp: build-gtk-shared-stamp
dh_testdir
cd $(objdir_gtk_shared)/contrib/src && $(FAST_MAKE)
cd $(objdir_gtk_shared)/utils/wxrc && $(FAST_MAKE)
#cd $(objdir_gtk_shared)/contrib/utils/wxrcedit && $(FAST_MAKE)
touch $@
build-gtk-static-contrib-stamp: build-gtk-static-stamp
dh_testdir
cd $(objdir_gtk_static)/contrib/src && $(FAST_MAKE)
touch $@
build-gtk-debug-contrib-stamp: build-gtk-debug-stamp
dh_testdir
cd $(objdir_gtk_debug)/contrib/src && $(FAST_MAKE)
touch $@
purge-dbg-py:
@if [ ! -e build-gtk-py-stamp ]; then \
$(MAKE) -f debian/rules clean-py; \
fi
$(RM) build-gtk-dbg-py-stamp
build-gtk-py-stamp: build-gtk-shared-stamp purge-dbg-py
dh_testdir
touch docs/lgpl.txt
cd wxPython \
&& $(python_ver) ./setup.py build \
WX_CONFIG='$(wxconfig)' \
WXPORT=gtk2 \
UNICODE=1 \
FLAVOUR=$(DEBIAN_WXFLAVOUR)
touch $@
build-doc-stamp: build-gtk-shared-stamp
dh_testdir
cd $(objdir_gtk_shared)/utils/tex2rtf/src && $(FAST_MAKE)
rm -rf $(objdir_doc)
rm -rf $(objdir_doc_cruft)
mkdir $(objdir_doc)
mkdir $(objdir_doc_cruft)
cd $(objdir_doc_cruft) \
&& LD_LIBRARY_PATH=../$(objdir_gtk_shared)/lib:$(LD_LIBRARY_PATH) \
../$(objdir_gtk_shared)/utils/tex2rtf/src/tex2rtf \
../docs/latex/wx/manual.tex \
../$(objdir_doc)/wx$(release)-manual.html \
-twice -html
cp docs/latex/wx/*.gif $(objdir_doc)
rm -rf $(objdir_doc_cruft)
rm -f $(objdir_doc)/wx$(release)-manual.{con,hh*,htx,ref}
touch $@
build-examples-stamp: build-gtk-shared-stamp
dh_testdir
mkdir -p $(objdir_examples)
# copy all samples and the Makefile generated for libwxgtk.
cp -a samples $(objdir_examples)
rm -f $(objdir_examples)/samples/Makefile
cp -a $(objdir_gtk_shared)/samples/Makefile $(objdir_examples)/samples
cd $(objdir_examples)/samples \
&& find -name 'Makefile.in' -exec rm -f '{}' ';' \
&& for d in $$(find -type d); do \
if [ -f $$d/makefile.unx ]; then \
mv $$d/makefile.unx $$d/Makefile; \
fi; \
done \
cp -a wxPython/demo $(objdir_examples)/wxPython
touch $@
build-i18n-stamp: build-gtk-shared-stamp
dh_testdir
# touch .po files first, since if they are not already up
# to date then _now_ is not the time to fix it.
# That should have been been done before cvs was tagged.
cd $(objdir_i18n) \
&& touch *.po \
&& $(MAKE) allmo
touch $@
purge-release-py:
@if [ ! -e build-gtk-dbg-py-stamp ]; then \
$(MAKE) -f debian/rules clean-py; \
fi
$(RM) build-gtk-py-stamp
build-gtk-dbg-py-stamp: build-gtk-debug-stamp purge-release-py
dh_testdir
touch docs/lgpl.txt
cd wxPython \
&& $(python_ver) ./setup.py build \
WX_CONFIG='$(wxconfig-dbg)' \
WXPORT=gtk2 \
UNICODE=1 \
FLAVOUR=$(addsuffix -,$(DEBIAN_WXFLAVOUR))dbg
touch $@
configure-msw-shared-stamp:
dh_testdir
mkdir -p $(objdir_msw_shared)
cd $(objdir_msw_shared) \
&& ../configure --prefix=/usr/$(cross_host) \
--cache-file=$(config_cache_cross) \
--host=$(cross_host) \
--build=$(cross_build) \
--with-flavour=$(DEBIAN_WXFLAVOUR)
touch $@
build-msw-shared-stamp: configure-msw-shared-stamp
dh_testdir
cd $(objdir_msw_shared) && $(FAST_MAKE)
touch $@
configure-msw-static-stamp:
dh_testdir
mkdir -p $(objdir_msw_static)
cd $(objdir_msw_static) \
&& ../configure --prefix=/usr/$(cross_host) \
--cache-file=$(config_cache_cross) \
--host=$(cross_host) \
--build=$(cross_build) \
--with-flavour=$(DEBIAN_WXFLAVOUR) \
--disable-shared
touch $@
build-msw-static-stamp: configure-msw-static-stamp
dh_testdir
cd $(objdir_msw_static) && $(FAST_MAKE)
touch $@
configure-msw-dbg-stamp:
dh_testdir
mkdir -p $(objdir_msw_dbg)
cd $(objdir_msw_dbg) \
&& ../configure --prefix=/usr/$(cross_host) \
--cache-file=$(config_cache_cross) \
--host=$(cross_host) \
--build=$(cross_build) \
--with-flavour=$(DEBIAN_WXFLAVOUR) \
--enable-debug
touch $@
build-msw-dbg-stamp: configure-msw-dbg-stamp
dh_testdir
cd $(objdir_msw_dbg) && $(FAST_MAKE)
touch $@
clean-py:
cd wxPython && rm -rf licence build* docs/xml-raw wx/*.py
# What to do about src/__version__.py ???
# We do the equivalent of this above by removing build, unfortunately
# its not enough by itself to get the tree properly clean again.
# && ./setup.py clean
clean: debian/control clean-py
dh_testdir
dh_testroot
rm -rf config_deb.cache config_deb_cross.cache *-stamp $(objdirs)
rm -f docs/lgpl.txt
rm -f $(objdir_i18n)/*.mo
dh_clean
rm -f debian/$(package_gtk_lib).*
rm -f debian/$(package_gtk_dev).*
rm -f debian/$(package_gtk_dbg).*
rm -f debian/$(package_gtk_py_lib).*
rm -f debian/$(package_gtk_py).*
rm -f debian/$(package_common).*
rm -f debian/$(package_headers).*
rm -f debian/$(package_i18n).*
rm -f debian/$(package_doc).*
rm -f debian/$(package_examples).*
rm -f debian/$(package_gtk_dbg_py).*
rm -f debian/$(package_msw_dev).*
rm -f debian/$(package_msw_dbg).*
rm -f debian/lintian-override
install_arch: build_arch $(install_all_arch)
install: build_all $(install_all_native)
install-gtk-shared-stamp: build-gtk-shared-stamp build-gtk-shared-contrib-stamp
dh_testdir
mkdir -p $(objdir_gtk_install)
cd $(objdir_gtk_shared) \
&& $(MAKE) install prefix=`pwd`/../$(objdir_gtk_install)
cd $(objdir_gtk_shared)/contrib/src \
&& $(MAKE) install prefix=`pwd`/../../../$(objdir_gtk_install)
touch $@
install-gtk-lib: DH_OPTIONS=-p$(package_gtk_lib)
install-gtk-lib: install-gtk-shared-stamp
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
dh_install $(objdir_gtk_install)/lib/libwx_*.so.* usr/lib
install-gtk-dev: DH_OPTIONS=-p$(package_gtk_dev)
install-gtk-dev: build-gtk-static-stamp build-gtk-static-contrib-stamp install-gtk-shared-stamp
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
dh_install $(objdir_gtk_install)/lib/libwx_*.so usr/lib
dh_install $(objdir_gtk_install)/lib/wx/include usr/lib/wx
dh_install $(objdir_gtk_install)/lib/wx/config/gtk* usr/lib/wx/config
dh_install $(objdir_gtk_static)/lib/libwx*.a usr/lib
dh_install $(objdir_gtk_static)/lib/wx/include usr/lib/wx
dh_install $(objdir_gtk_static)/lib/wx/config/gtk* usr/lib/wx/config
install-gtk-dbg: DH_OPTIONS=-p$(package_gtk_dbg)
install-gtk-dbg: build-gtk-debug-stamp build-gtk-debug-contrib-stamp
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs usr/share/lintian/overrides
dh_install $(objdir_gtk_debug)/lib/libwx_* usr/lib
dh_install $(objdir_gtk_debug)/lib/wx/include usr/lib/wx
dh_install $(objdir_gtk_debug)/lib/wx/config/gtk* usr/lib/wx/config
cp debian/lintian-override debian/$(package_gtk_dbg)/usr/share/lintian/overrides/$(package_gtk_dbg)
install-gtk-py-lib: DH_OPTIONS=-p$(package_gtk_py_lib)
install-gtk-py-lib: build-gtk-py-stamp
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
cd wxPython \
&& $(python_ver) ./setup.py install \
--prefix=`pwd`/../debian/$(package_gtk_py_lib)/usr \
WX_CONFIG='$(wxconfig)' \
WXPORT=gtk2 \
UNICODE=1 \
FLAVOUR=$(DEBIAN_WXFLAVOUR)
find debian/$(package_gtk_py_lib)/$(pydir) -name '*.py?' -exec rm '{}' ';'
# This is rather bogus, its included in the main copyright file now though.
rm -f debian/$(package_gtk_py_lib)/$(wxpydir)/wx/tools/XRCed/license.txt
install-gtk-py: DH_OPTIONS=-p$(package_gtk_py)
install-gtk-py: install-gtk-py-lib
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
dh_movefiles --sourcedir=debian/$(package_gtk_py_lib) \
usr/bin \
$(pydir)/{wxversion.py,wx.pth}
rm -r debian/$(package_gtk_py_lib)/usr/bin
dh_installman debian/wxPython-tools.1
dh_link usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/img2py.1 \
usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/img2xpm.1 \
usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/img2png.1 \
usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/pycrust.1 \
usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/pyshell.1 \
usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/xrced.1 \
usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/helpviewer.1 \
usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/pyalacarte.1 \
usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/pyalamode.1 \
usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/pywrap.1 \
usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/pywxrc.1
install-common: DH_OPTIONS=-p$(package_common)
install-common: install-gtk-shared-stamp
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
# We don't need the afm metrics for gtk2, but we might need them to support
# the 2.4 release for a while still and any other ports we might build.
dh_install $(objdir_gtk_install)/share/wx usr/share
dh_install $(objdir_gtk_install)/share/aclocal usr/share
dh_installman debian/wx-config.1
dh_install $(objdir_gtk_shared)/utils/wxrc/wxrc usr/bin
# dh_install $(objdir_gtk_shared)/contrib/utils/wxrcedit/wxrcedit usr/bin
dh_installman debian/wxrc-tools.1
dh_link usr/share/man/man1/wxrc-tools.1 usr/share/man/man1/wxrc.1
# dh_link usr/share/man/man1/wxrc-tools.1 usr/share/man/man1/wxrcedit.1
install-headers: DH_OPTIONS=-p$(package_headers)
install-headers: install-gtk-shared-stamp
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
# The only way to be really sure we get the univ headers correct is to install
# them. Do that in a scratch dirs, and move the gtk ones last, so at least
# they win in the result of any uncaught conflict.
# cd $(objdir_gtk_univ) \
# && $(MAKE) install prefix=`pwd`/../$(objdir_univ_install)/usr
# dh_movefiles --sourcedir=$(objdir_univ_install)
dh_install $(objdir_gtk_install)/include usr
install-i18n: DH_OPTIONS=-p$(package_i18n)
install-i18n: build-i18n-stamp install-gtk-shared-stamp
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
dh_install $(objdir_gtk_install)/share/locale usr/share
install-doc: DH_OPTIONS=-p$(package_doc)
install-doc: build-doc-stamp
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
install-examples: DH_OPTIONS=-p$(package_examples)
install-examples: build-examples-stamp
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
install-gtk-dbg-py: DH_OPTIONS=-p$(package_gtk_dbg_py)
install-gtk-dbg-py: build-gtk-dbg-py-stamp
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
cd wxPython \
&& $(python_ver) ./setup.py install \
--prefix=`pwd`/../debian/$(package_gtk_dbg_py)/usr \
WX_CONFIG='$(wxconfig-dbg)' \
WXPORT=gtk2 \
UNICODE=1 \
FLAVOUR=$(addsuffix -,$(DEBIAN_WXFLAVOUR))dbg
find debian/$(package_gtk_dbg_py)/$(pydir) -name '*.py?' -exec rm '{}' ';'
rm -rf usr/bin $(pydir)/{wxversion.py,wx.pth}
# This is rather bogus, its included in the main copyright file now though.
rm -f debian/$(package_gtk_dbg_py)/$(wxpydir)/wx/tools/XRCed/license.txt
install-msw-dev: DH_OPTIONS=-p$(package_msw_dev)
install-msw-dev: build-msw-shared-stamp build-msw-static-stamp
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
dh_install $(objdir_msw_shared)/lib/*.dll* usr/$(cross_host)/lib
dh_install $(objdir_msw_shared)/lib/wx/include usr/$(cross_host)/lib/wx
dh_install $(objdir_msw_shared)/lib/wx/config/$(cross_host)* usr/$(cross_host)/lib/wx/config
dh_install $(objdir_msw_static)/lib/*.a usr/$(cross_host)/lib
dh_install $(objdir_msw_static)/lib/wx/include usr/$(cross_host)/lib/wx
dh_install $(objdir_msw_static)/lib/wx/config/$(cross_host)* usr/$(cross_host)/lib/wx/config
$(cross_host)-strip --strip-debug debian/$(package_msw_dev)/usr/$(cross_host)/lib/*.a
@# As a special case for the cross packages, we link their config
@# under /usr as well as under the normal cross prefix. This way
@# --prefix=/usr/$(cross_host) and --prefix=/usr --host=$(cross_host)
@# will have a congruent effect on wx-config.
@( for f in `ls -1 debian/$(package_msw_dev)/usr/$(cross_host)/lib/wx/config`; do \
all_cfg="$${all_cfg} usr/$(cross_host)/lib/wx/config/$$f usr/lib/wx/config/$$f"; \
echo "linking cross config /usr/$(cross_host)/lib/wx/config/$$f"; \
done; \
dh_link $${all_cfg}; \
)
install-msw-dbg: DH_OPTIONS=-p$(package_msw_dbg)
install-msw-dbg: build-msw-dbg-stamp
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
dh_install $(objdir_msw_dbg)/lib/*.dll* usr/$(cross_host)/lib
dh_install $(objdir_msw_dbg)/lib/wx/include usr/$(cross_host)/lib/wx
dh_install $(objdir_msw_dbg)/lib/wx/config/$(cross_host)* usr/$(cross_host)/lib/wx/config
# No static lib, they're freakin' huge!
#$(cross_host)-strip --strip-debug debian/$(package_msw_dbg)/usr/$(cross_host)/lib/*.a
@( for f in `ls -1 debian/$(package_msw_dbg)/usr/$(cross_host)/lib/wx/config`; do \
all_cfg="$${all_cfg} usr/$(cross_host)/lib/wx/config/$$f usr/lib/wx/config/$$f"; \
echo "linking cross config /usr/$(cross_host)/lib/wx/config/$$f"; \
done; \
dh_link $${all_cfg}; \
)
install-headers-msw: DH_OPTIONS=-p$(package_headers_msw)
install-headers-msw:
dh_testdir
dh_testroot
dh_clean -k
cd $(objdir_msw_shared) \
&& $(MAKE) install prefix=`pwd`/../$(objdir_msw_install)
# Symlink all the headers that will be installed by the main -headers
# package to where the cross compiler will expect them.
@( for f in `ls -1 $(objdir_msw_install)/include/wx-$(release)/wx`; do \
all_h="$${all_h} usr/include/wx-$(release)/wx/$$f usr/$(cross_host)/include/wx-$(release)/wx/$$f"; \
echo "linking header /usr/include/wx-$(release)/wx/$$f"; \
done; \
dh_link $${all_h}; \
)
# But install this lot for real.
rm -f debian/$(package_headers_msw)/usr/$(cross_host)/include/wx-$(release)/wx/msw
dh_install $(objdir_msw_install)/include/wx-$(release)/wx/msw usr/$(cross_host)/include/wx-$(release)/wx
binary-common:
dh_testdir
dh_testroot
dh_installdocs
dh_installchangelogs
dh_installexamples
dh_installmenu
dh_link
@# Don't strip debug libs at all, and strip cross libs elsewhere
@# with the cross host tools until dh_strip gets smarter.
dh_strip -N$(package_gtk_dbg) -N$(package_msw_dev) -N$(package_msw_dbg)
dh_compress
dh_fixperms
@# Don't do this for the dbg-py special build because dh_makeshlibs
@# will crap out if it is called with no packages to act on.
@if [ "x$(DH_OPTIONS)" != "-p$(package_gtk_dbg_py)" ]; then \
echo "dh_makeshlibs -N$(package_gtk_py) -V"; \
dh_makeshlibs -N$(package_gtk_py) -V; \
fi
dh_installdeb
dh_shlibdeps -ldebian/$(package_gtk_lib)/usr/lib:debian/$(package_gtk_dbg)/usr/lib
dh_gencontrol
dh_md5sums
dh_builddeb
# Build architecture-independent files here.
# Note that you currently can't build the indep packages without first
# building the arch specific package files needed to create them.
binary-indep: build_all install
$(MAKE) -f debian/rules \
DH_OPTIONS="-i -N$(package_gtk_dbg_py) -N$(package_msw_dev) -N$(package_msw_dbg) -N$(package_headers_msw)" \
binary-common
# Build just the architecture-dependent files here.
binary-arch: build_arch install_arch
$(MAKE) -f debian/rules \
DH_OPTIONS="-a -N$(package_gtk_dbg_py) -N$(package_msw_dev) -N$(package_msw_dbg) -N$(package_headers_msw)" \
binary-common
# Build all packages target.
binary: binary-arch binary-indep
# This is a special target for building the wxMSW-cross packages.
# It's not currently called during the official package build run
# but may be run separately to build the extra packages.
# There is an implied build dep on the mingw32 cross compiler
# that is not in the control file.
binary-cross: control-files-stamp $(install_all_cross)
$(MAKE) -f debian/rules \
DH_OPTIONS="-p$(package_msw_dev) -p$(package_msw_dbg) -p$(package_headers_msw)" \
binary-common
# Build wxPython against libwxgtk-dbg. This package will conflict
# with the release build one, but may be useful to some people.
binary-dbg-py: control-files-stamp install-gtk-dbg-py
$(MAKE) -f debian/rules DH_OPTIONS="-p$(package_gtk_dbg_py)" binary-common
############################################################################
#
# Some rules to build a subset of the complete list of packages that can be
# built from CVS. Beware that packages produced with these rules may *NOT*
# be compatible with packages built using the 'binary' target or even with
# Debian policy. Do not distribute packages built with these rules, they
# are currently useful for rapid in-house testing by developers only.
# libwxgtk shared lib package
binary-gtk: control-files-stamp install-gtk-lib install-headers
$(MAKE) -f debian/rules DH_OPTIONS="-p$(package_gtk_lib) -p$(package_headers)" binary-common
binary-gtk-dev: control-files-stamp install-gtk-dev install-headers
$(MAKE) -f debian/rules \
DH_OPTIONS="-p$(package_gtk_lib) -p$(package_gtk_dev) -p$(package_headers)" \
binary-common
binary-gtk-dbg: control-files-stamp install-gtk-dbg install-headers
$(MAKE) -f debian/rules DH_OPTIONS="-p$(package_gtk_dbg) -p$(package_headers)" binary-common
# docs package
binary-doc: control-files-stamp install-doc
$(MAKE) -f debian/rules DH_OPTIONS=-p$(package_doc) binary-common
binary-fast:control-files-stamp install-gtk-dbg install-msw-dev install-headers install-headers-msw
$(MAKE) -f debian/rules DH_OPTIONS="-p$(package_gtk_dbg) -p$(package_msw_dev) -p$(package_headers) -p$(package_headers_msw)" binary-common
.PHONY: build build_all build_arch \
clean clean-py purge-release-py purge-dbg-py \
binary-indep binary-arch binary binary-common \
binary-gtk binary-gtk-dev binary-gtk-dbg binary-doc binary-cross \
install install_arch install-gtk-lib install-gtk-dev \
install-gtk-dbg \
install-gtk-py install-gtk-py-lib install-gtk-dbg-py \
install-common install-headers install-i18n install-doc \
install-examples install-msw-dev install-msw-dbg install-headers-msw