wxWidgets/debian/rules
Ron Lee 3a922bb4bd More build system polishing.. mostly. Some stuff ported over from
recent changes to the 2.2 branch.

Rationalised the autoconf scripts again, removed lots of stuff that
shouldn't be there anymore and pounded the rest into an even tighter
furball. (There's more work to be done here, but we're getting there..)

Implemented the library naming scheme outlined in tn0012.txt -- introduced
'toolchain' and 'widget set' into the autoconf scripts, obsoleted the
top level wx/setup.h and much of the mess associated with it.

More changes for cross compiling and 2.3 debs.

s/burnt_name/soname/g ; s/CC/CXX/g ; s/CCC/CC/g ;  Just because it's Right.
(Thanks Vadim for already doing *FLAGS..)

Fixed libfl Makefile to actually work.

Removed *_DEPS from tmake templates, in every case they can be determined
from the relevant *_OBJS

Added BASE_MSW_OBJS, a couple of missing #includes, some missing files to
the 'dist' targets, and fixed some compile warnings.

Changed setup.py to use wx-config --gl-libs instead of hard coded constants.

 Modified Files:
 	Makefile.in configure configure.in setup.h.in wx-config.in
 	wxBase.spec wxGTK.spec wxMotif.spec
 	contrib/include/wx/applet/window.h contrib/src/Makefile.in
 	contrib/src/applet/appletwindow.cpp contrib/src/fl/Makefile.in
 	debian/changelog debian/control.in debian/libwxbase-dbg.dirs
 	debian/libwxbase-dbg.links debian/libwxbase-dbg.postinst
 	debian/libwxbase-dbg.prerm debian/libwxbase-dev.dirs
 	debian/libwxbase-dev.files debian/libwxbase-dev.links
 	debian/libwxbase-dev.postinst debian/libwxbase-dev.prerm
 	debian/libwxgtk-dbg.dirs debian/libwxgtk-dbg.links
 	debian/libwxgtk-dbg.postinst debian/libwxgtk-dbg.prerm
 	debian/libwxgtk-dev.dirs debian/libwxgtk-dev.files
 	debian/libwxgtk-dev.links debian/libwxgtk-dev.postinst
 	debian/libwxgtk-dev.prerm debian/rules
 	distrib/msw/tmake/base.t distrib/msw/tmake/gtk.t
 	distrib/msw/tmake/mgl.t distrib/msw/tmake/motif.t
 	distrib/msw/tmake/msw.t distrib/msw/tmake/os2.t
 	distrib/msw/tmake/univ.t docs/motif/install.txt
 	include/wx/msw/private.h include/wx/os2/SETUP.H
 	include/wx/os2/SETUP0.H samples/ipc/Makefile.in
 	samples/sockets/Makefile.in src/files.lst src/make.env.in
 	src/makelib.env.in src/makeprog.env.in src/common/strconv.cpp
 	src/gtk/files.lst src/mgl/files.lst src/motif/files.lst
 	src/msw/files.lst src/msw/gsocket.c src/msw/gsockmsw.c
 	src/msw/toplevel.cpp src/msw/utils.cpp src/os2/files.lst
 	src/univ/files.lst wxPython/setup.py
 Added Files:
 	debian/libwxbase-msw-dev.dirs debian/libwxbase-msw-dev.links
 	debian/libwxbase-msw-dev.postinst
 	debian/libwxbase-msw-dev.prerm debian/libwxmsw-dev.dirs
 	debian/libwxmsw-dev.links debian/libwxmsw-dev.postinst
 	debian/libwxmsw-dev.prerm debian/wxwin-doc.doc-base
 	debian/wxwin-headers-msw.dirs
 Removed Files:
 	debian/wxwin-doc.doc-base.in include/wx/setup.h


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11713 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-09-28 07:00:13 +00:00

655 lines
21 KiB
Makefile
Executable File

#!/usr/bin/make -f
# debian/rules file to build packages from wxWindows 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_COMPAT=2
export DH_OPTIONS
release:=$(shell dpkg-parsechangelog | sed -n 's/^Source: wxwindows//p')
python_dir:=python$(shell python -c "import sys;print sys.version[:3]")
cross_host=i586-mingw32msvc
cross_build=$(shell ./config.guess)
# Packages to build:
package_wxbase_lib=libwxbase$(release)
package_wxbase_dev=libwxbase$(release)-dev
package_wxbase_dbg=libwxbase$(release)-dbg
package_gtk_lib=libwxgtk$(release)
package_gtk_dev=libwxgtk$(release)-dev
package_gtk_dbg=libwxgtk$(release)-dbg
package_gtk_py=libwxgtk$(release)-python
package_gtk_contrib=libwxgtk$(release)-contrib
package_gtk_contrib_dev=libwxgtk$(release)-contrib-dev
package_headers=wxwin$(release)-headers
package_i18n=wxwin$(release)-i18n
package_doc=wxwin$(release)-doc
package_examples=wxwin$(release)-examples
package_wxbase_msw_dev=libwxbase-msw$(release)-dev
package_msw_dev=libwxmsw$(release)-dev
package_headers_msw=wxwin$(release)-headers-msw
# Build directories:
objdir_wxbase_shared=objs_wxbase_sh
objdir_wxbase_static=objs_wxbase_st
objdir_wxbase_debug=objs_wxbase_d
objdir_gtk_shared=objs_gtk_sh
objdir_gtk_static=objs_gtk_st
objdir_gtk_debug=objs_gtk_d
objdir_doc_cruft=objs_doc_con
objdir_doc=docs/wxWindows-manual.html
objdir_examples=docs/examples
objdir_i18n=locale
objdir_wxbase_msw_static=objs_wxbase_msw_st
objdir_msw_static=objs_msw_st
objdirs=$(objdir_wxbase_shared) $(objdir_wxbase_static) $(objdir_wxbase_debug) \
$(objdir_gtk_shared) $(objdir_gtk_static) $(objdir_gtk_debug) \
$(objdir_doc_cruft) $(objdir_doc) $(objdir_examples) \
$(objdir_wxbase_msw_static) $(objdir_msw_static)
# 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-wxbase-shared-stamp build-wxbase-static-stamp \
build-wxbase-debug-stamp build-gtk-shared-stamp \
build-gtk-static-stamp build-gtk-debug-stamp \
build-contrib-shared-stamp build-contrib-static-stamp \
build-gtk-py-stamp build-i18n-stamp
build_indep_stamps=build-examples-stamp build-doc-stamp
build_cross_stamps=build-wxbase-msw-dev-stamp build-msw-dev-stamp
build_stamps_native=$(build_arch_stamps) $(build_indep_stamps)
build_stamps=$(build_stamps_native) $(build_cross_stamps)
# Install targets:
install_all_arch=install-wxbase-lib install-wxbase-dev install-wxbase-dbg \
install-gtk-lib install-gtk-dev install-gtk-dbg \
install-gtk-contrib install-gtk-contrib-dev install-gtk-py \
install-headers install-i18n
install_all_indep=install-examples install-doc
install_all_cross=install-wxbase-msw-dev install-msw-dev 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 \
--prefix=$(shell pwd) \
--exec-prefix=$(shell pwd)/$(objdir_gtk_shared)
# The Rules:
debian/control: debian/control.in
sed -e 's/=V/$(release)/g' < debian/control.in > debian/control
control-files-stamp: debian/control
dh_testdir
@for f in dirs postinst; do \
echo "generating control file $(package_wxbase_lib).$$f"; \
cp debian/libwxbase.$$f debian/$(package_wxbase_lib).$$f; \
done;
@for f in dirs files links postinst prerm; do \
echo "generating control file $(package_wxbase_dev).$$f"; \
sed -e 's/=V/$(release)/g' < debian/libwxbase-dev.$$f \
> debian/$(package_wxbase_dev).$$f; \
done;
@for f in dirs links postinst prerm; do \
echo "generating control file $(package_wxbase_dbg).$$f"; \
sed -e 's/=V/$(release)/g' < debian/libwxbase-dbg.$$f \
> debian/$(package_wxbase_dbg).$$f; \
done;
@for f in dirs postinst; do \
echo "generating control file $(package_gtk_lib).$$f"; \
cp debian/libwxgtk.$$f debian/$(package_gtk_lib).$$f; \
done;
@for f in dirs files links 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 dirs links 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 dirs docs files postinst prerm; do \
echo "generating control file $(package_gtk_py).$$f"; \
sed -e 's/=PY/$(python_dir)/g;s/=V/$(release)/g' < debian/libwxgtk-python.$$f \
> debian/$(package_gtk_py).$$f; \
done;
@for f in dirs postinst; do \
echo "generating control file $(package_gtk_contrib).$$f"; \
cp debian/libwxgtk-contrib.$$f debian/$(package_gtk_contrib).$$f; \
done;
@for f in dirs files; do \
echo "generating control file $(package_gtk_contrib_dev).$$f"; \
cp debian/libwxgtk-contrib-dev.$$f debian/$(package_gtk_contrib_dev).$$f; \
done;
@for f in dirs files; do \
echo "generating control file $(package_headers).$$f"; \
cp debian/wxwin-headers.$$f debian/$(package_headers).$$f; \
done;
@for f in dirs files; do \
echo "generating control file $(package_i18n).$$f"; \
cp debian/wxwin-i18n.$$f debian/$(package_i18n).$$f; \
done;
@for f in dirs docs doc-base; do \
echo "generating control file $(package_doc).$$f"; \
sed -e 's/=V/$(release)/g' < debian/wxwin-doc.$$f \
> debian/$(package_doc).$$f; \
done;
@for f in examples; do \
echo "generating control file $(package_examples).$$f"; \
cp debian/wxwin-examples.$$f debian/$(package_examples).$$f; \
done;
@for f in dirs links postinst prerm; do \
echo "generating control file $(package_wxbase_msw_dev).$$f"; \
sed -e 's/=V/$(release)/g;s/=H/$(cross_host)/g' < debian/libwxbase-msw-dev.$$f \
> debian/$(package_wxbase_msw_dev).$$f; \
done;
@for f in dirs links 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 dirs; do \
echo "generating control file $(package_headers_msw).$$f"; \
sed -e 's/=H/$(cross_host)/g' < debian/wxwin-headers-msw.$$f \
> debian/$(package_headers_msw).$$f; \
done;
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
build-wxbase-shared-stamp:
dh_testdir
mkdir -p $(objdir_wxbase_shared)
cd $(objdir_wxbase_shared) \
&& ../configure --prefix=/usr \
--cache-file=../config_deb.cache \
--disable-gui \
--enable-soname \
--with-zlib=sys \
&& $(MAKE)
touch $@
build-wxbase-static-stamp:
dh_testdir
mkdir -p $(objdir_wxbase_static)
cd $(objdir_wxbase_static) \
&& ../configure --prefix=/usr \
--cache-file=../config_deb.cache \
--disable-gui \
--disable-shared \
--with-zlib=sys \
&& $(MAKE)
touch $@
build-wxbase-debug-stamp:
dh_testdir
mkdir -p $(objdir_wxbase_debug)
cd $(objdir_wxbase_debug) \
&& ../configure --prefix=/usr \
--cache-file=../config_deb.cache \
--disable-gui \
--enable-debug \
--enable-soname \
--with-zlib=sys \
&& $(MAKE)
touch $@
build-gtk-shared-stamp:
dh_testdir
mkdir -p $(objdir_gtk_shared)
cd $(objdir_gtk_shared) \
&& ../configure --prefix=/usr \
--cache-file=../config_deb.cache \
--with-gtk \
--with-opengl \
--enable-soname \
--with-zlib=sys \
--with-libjpeg=sys \
--with-libpng=sys \
--with-libtiff=sys \
&& $(MAKE)
touch $@
build-gtk-static-stamp:
dh_testdir
mkdir -p $(objdir_gtk_static)
cd $(objdir_gtk_static) \
&& ../configure --prefix=/usr \
--cache-file=../config_deb.cache \
--with-gtk \
--with-opengl \
--disable-shared \
--with-zlib=sys \
--with-libjpeg=sys \
--with-libpng=sys \
--with-libtiff=sys \
&& $(MAKE)
touch $@
build-gtk-debug-stamp:
dh_testdir
mkdir -p $(objdir_gtk_debug)
cd $(objdir_gtk_debug) \
&& ../configure --prefix=/usr \
--cache-file=../config_deb.cache \
--with-gtk \
--with-opengl \
--enable-debug \
--enable-soname \
--with-zlib=sys \
--with-libjpeg=sys \
--with-libpng=sys \
--with-libtiff=sys \
&& $(MAKE)
touch $@
build-contrib-shared-stamp: build-gtk-shared-stamp
dh_testdir
cd $(objdir_gtk_shared)/contrib/src \
&& $(MAKE)
touch $@
build-contrib-static-stamp: build-gtk-static-stamp
dh_testdir
cd $(objdir_gtk_static)/contrib/src \
&& $(MAKE)
touch $@
build-gtk-py-stamp: build-gtk-shared-stamp
dh_testdir
touch docs/lgpl.txt
cd wxPython \
&& ./setup.py build IN_CVS_TREE=1 WX_CONFIG='$(wxconfig)'
touch $@
build-doc-stamp: build-gtk-shared-stamp
dh_testdir
cd $(objdir_gtk_shared)/utils/tex2rtf/src \
&& $(MAKE)
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)/wxwin.htm -twice -html
cp docs/latex/wx/*.gif $(objdir_doc)
rm -rf $(objdir_doc_cruft)
rm -f $(objdir_doc)/wxwin.con $(objdir_doc)/wxwin.hh* \
$(objdir_doc)/wxwin.htx $(objdir_doc)/wxwin.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
cp -a demos $(objdir_examples)
cp -a wxPython/demo $(objdir_examples)/wxPython
@for d in $(objdir_examples)/demos $(objdir_examples)/samples; do \
(cd $$d \
&& mv Makefile.in Makefile \
&& rm -f configure* \
&& find -name 'Makefile.in' -exec rm -f '{}' ';' \
&& for f in $$(find -type d); do \
if [ -f $$f/makefile.unx ]; then \
mv $$f/makefile.unx $$f/Makefile; \
fi; \
done) \
done;
touch $@
build-i18n-stamp: build-gtk-shared-stamp
dh_testdir
cd $(objdir_i18n) \
&& $(MAKE) allmo
touch $@
build-wxbase-msw-dev-stamp:
dh_testdir
mkdir -p $(objdir_wxbase_msw_static)
cd $(objdir_wxbase_msw_static) \
&& ../configure --prefix=/usr/$(cross_host) \
--cache-file=../config_deb.cache \
--host=$(cross_host) \
--build=$(cross_build) \
--disable-gui \
--disable-shared \
&& $(MAKE)
touch $@
build-msw-dev-stamp:
dh_testdir
mkdir -p $(objdir_msw_static)
cd $(objdir_msw_static) \
&& ../configure --prefix=/usr/$(cross_host) \
--cache-file=../config_deb.cache \
--host=$(cross_host) \
--build=$(cross_build) \
--with-mingw \
--disable-shared \
&& $(MAKE)
touch $@
clean: debian/control
dh_testdir
dh_testroot
rm -rf config_deb.cache control-files-stamp $(build_stamps) $(objdirs)
rm -f docs/lgpl.txt
cd wxPython && ./setup.py clean
dh_clean
rm -f debian/$(package_wxbase_lib).*
rm -f debian/$(package_wxbase_dev).*
rm -f debian/$(package_wxbase_dbg).*
rm -f debian/$(package_gtk_lib).*
rm -f debian/$(package_gtk_dev).*
rm -f debian/$(package_gtk_dbg).*
rm -f debian/$(package_gtk_py).*
rm -f debian/$(package_gtk_contrib).*
rm -f debian/$(package_gtk_contrib_dev).*
rm -f debian/$(package_headers).*
rm -f debian/$(package_i18n).*
rm -f debian/$(package_doc).*
rm -f debian/$(package_examples).*
rm -f debian/$(package_wxbase_msw_dev).*
rm -f debian/$(package_msw_dev).*
rm -f debian/$(package_headers_msw).*
install_arch: build_arch $(install_all_arch)
install: build_all $(install_all_native)
install-wxbase-lib: DH_OPTIONS=-p$(package_wxbase_lib)
install-wxbase-lib: build-wxbase-shared-stamp
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
cp -a $(objdir_wxbase_shared)/lib/* debian/$(package_wxbase_lib)/usr/lib
cp $(objdir_wxbase_shared)/wxbase-$(release)-config debian/$(package_wxbase_lib)/usr/bin/
install-wxbase-dev: DH_OPTIONS=-p$(package_wxbase_dev)
install-wxbase-dev: build-wxbase-static-stamp install-wxbase-lib
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
dh_movefiles --sourcedir=debian/$(package_wxbase_lib)
cp $(objdir_wxbase_static)/lib/*.a debian/$(package_wxbase_dev)/usr/lib
install-wxbase-dbg: DH_OPTIONS=-p$(package_wxbase_dbg)
install-wxbase-dbg: build-wxbase-debug-stamp
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
cp -a $(objdir_wxbase_debug)/lib/* debian/$(package_wxbase_dbg)/usr/lib
cp $(objdir_wxbase_debug)/wxbased-$(release)-config debian/$(package_wxbase_dbg)/usr/bin/
cp debian/lintian-override debian/$(package_wxbase_dbg)/usr/share/lintian/overrides/$(package_wxbase_dbg)
install-gtk-lib: DH_OPTIONS=-p$(package_gtk_lib)
install-gtk-lib: build-gtk-shared-stamp
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
cd $(objdir_gtk_shared) \
&& $(MAKE) install prefix=`pwd`/../debian/$(package_gtk_lib)/usr
rm -f debian/$(package_gtk_lib)/usr/bin/wx-config
install-gtk-dev: DH_OPTIONS=-p$(package_gtk_dev)
install-gtk-dev: build-gtk-static-stamp install-gtk-lib
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
dh_movefiles --sourcedir=debian/$(package_gtk_lib)
cp $(objdir_gtk_static)/lib/libwx_gtk*.a debian/$(package_gtk_dev)/usr/lib
install-gtk-dbg: DH_OPTIONS=-p$(package_gtk_dbg)
install-gtk-dbg: build-gtk-debug-stamp
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
cp -a $(objdir_gtk_debug)/lib/* debian/$(package_gtk_dbg)/usr/lib
cp $(objdir_gtk_debug)/wxgtkd-$(release)-config debian/$(package_gtk_dbg)/usr/bin/
cp debian/lintian-override debian/$(package_gtk_dbg)/usr/share/lintian/overrides/$(package_gtk_dbg)
install-gtk-contrib: DH_OPTIONS=-p$(package_gtk_contrib)
install-gtk-contrib: build-contrib-shared-stamp
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
cd $(objdir_gtk_shared)/contrib/src \
&& $(MAKE) install prefix=`pwd`/../../../debian/$(package_gtk_contrib)/usr
install-gtk-contrib-dev: DH_OPTIONS=-p$(package_gtk_contrib_dev)
install-gtk-contrib-dev: build-contrib-static-stamp install-gtk-dev
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
dh_movefiles --sourcedir=debian/$(package_gtk_contrib)
cp $(objdir_gtk_static)/lib/*.a debian/$(package_gtk_contrib_dev)/usr/lib
rm -f debian/$(package_gtk_contrib_dev)/usr/lib/libwx_gtk*.a
install-gtk-py: DH_OPTIONS=-p$(package_gtk_py)
install-gtk-py: build-gtk-py-stamp
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
cd wxPython \
&& ./setup.py install --prefix=`pwd`/../debian/$(package_gtk_py)/usr
find debian/$(package_gtk_py)/usr/lib/$(python_dir)/site-packages/wxPython \
-name '*.py?' -exec rm '{}' ';'
install-headers: DH_OPTIONS=-p$(package_headers)
install-headers: install-gtk-lib
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
dh_movefiles --sourcedir=debian/$(package_gtk_lib)
dh_installmanpages \
ansi2knr.1 \
jpegtran.1 \
libpng.3 \
libpngpf.3 \
zlib.3 \
png.5
install-i18n: DH_OPTIONS=-p$(package_i18n)
install-i18n: build-i18n-stamp install-gtk-lib
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
dh_movefiles --sourcedir=debian/$(package_gtk_lib)
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-wxbase-msw-dev: DH_OPTIONS=-p$(package_wxbase_msw_dev)
install-wxbase-msw-dev: build-wxbase-msw-dev-stamp
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
cp -a $(objdir_wxbase_msw_static)/lib/* debian/$(package_wxbase_msw_dev)/usr/$(cross_host)/lib
cp $(objdir_wxbase_msw_static)/wxbase-$(release)-$(cross_host)-config debian/$(package_wxbase_msw_dev)/usr/bin/
$(cross_host)-strip --strip-debug debian/$(package_wxbase_msw_dev)/usr/$(cross_host)/lib/*.a
install-msw-dev: DH_OPTIONS=-p$(package_msw_dev)
install-msw-dev: build-msw-dev-stamp
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
cp -a $(objdir_msw_static)/lib/* debian/$(package_msw_dev)/usr/$(cross_host)/lib
cp $(objdir_msw_static)/wxmsw-$(release)-$(cross_host)-config debian/$(package_msw_dev)/usr/bin/
$(cross_host)-strip --strip-debug debian/$(package_msw_dev)/usr/$(cross_host)/lib/*.a
install-headers-msw: DH_OPTIONS=-p$(package_headers_msw)
install-headers-msw:
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
@# 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 include/wx`; do \
ln -s /usr/include/wx/$$f debian/$(package_headers_msw)/usr/$(cross_host)/include/wx; \
echo "linking header /usr/include/wx/$$f"; \
done;
@# But install this lot for real.
rm -f debian/$(package_headers_msw)/usr/$(cross_host)/include/wx/msw
cp -a include/wx/msw debian/$(package_headers_msw)/usr/$(cross_host)/include/wx
@# and remove this cruft(?)
rm -f debian/$(package_headers_msw)/usr/$(cross_host)/include/wx/treelay.h
binary-common:
dh_testdir
dh_testroot
dh_installdocs
dh_installchangelogs
dh_installexamples
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_wxbase_dbg) -N$(package_wxbase_msw_dev) -N$(package_msw_dev)
dh_compress
dh_fixperms
dh_makeshlibs -N$(package_gtk_py) -V
dh_installdeb
dh_shlibdeps -ldebian/$(package_gtk_lib)/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_wxbase_msw_dev) -N$(package_msw_dev) -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_wxbase_msw_dev) -N$(package_msw_dev) -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_wxbase_msw_dev) -p$(package_msw_dev) -p$(package_headers_msw)" \
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
# libwxbase shared lib package
binary-wxbase: control-files-stamp install-wxbase-lib install-headers
$(MAKE) -f debian/rules DH_OPTIONS="-p$(package_wxbase_lib) -p$(package_headers)" binary-common
binary-wxbase-dev: control-files-stamp install-wxbase-dev install-headers
$(MAKE) -f debian/rules \
DH_OPTIONS="-p$(package_wxbase_lib) -p$(package_wxbase_dev) -p$(package_headers)" \
binary-common
binary-wxbase-dbg: control-files-stamp install-wxbase-dbg install-headers
$(MAKE) -f debian/rules DH_OPTIONS="-p$(package_wxbase_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
.PHONY: build build_all build_arch clean binary-indep binary-arch binary binary-common \
binary-gtk binary-gtk-dev binary-gtk-dbg binary-wxbase binary-wxbase-dev \
binary-wxbase-dbg binary-doc binary-cross \
install install_arch install-wxbase-lib \
install-wxbase-dev install-wxbase-dbg install-gtk-lib install-gtk-dev \
install-gtk-dbg install-gtk-contrib install-gtk-contrib-dev \
install-gtk-py install-headers install-i18n install-doc install-examples \
install-wxbase-msw-dev install-msw-dev install-headers-msw