#!/usr/bin/make -f # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 # The default gzip compressor has been changed in dpkg >= 1.17.0. deb_default_compress = $(shell LANG=C dpkg-deb --version | head -n1 | \ sed -e "s|.*version ||" -e "s| .*||" | \ xargs -r dpkg --compare-versions 1.17.0 lt \ && echo xz || echo gzip) ifeq ($(deb_default_compress),gzip) DEB_DH_BUILDDEB_ARGS += -- -Z$(shell dpkg-deb --help | grep -q ":.* xz[,.]" \ && echo xz || echo bzip2) endif export DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) export DEB_HOST_ARCH_CPU ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU) export DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) export DH_OPTIONS -include /usr/share/python3/python.mk ifeq (,$(py_sitename)) py_sitename = site-packages py_libdir = /usr/lib/python$(subst python,,$(1))/site-packages py_sitename_sh = $(py_sitename) py_libdir_sh = $(py_libdir) endif DOC=$(CURDIR)/debian/pytqt-doc/usr/share/doc/pytqt-doc INSTDIR=$(CURDIR)/debian export TQTDIR=/usr/share/tqt3 export QMAKESPEC=$(TQTDIR)/mkspecs/linux-g++ ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) CXXFLAGS += -O0 else CXXFLAGS += -O1 endif CXXFLAGS += "-I/usr/include/tqt" "-I/usr/include/tqt3" PYTHONS := $(shell py3versions -vr) DEB_PARALLEL_JOBS ?= 40 .PRECIOUS: build-%/configure-stamp dbg-build-%/configure-stamp configure: $(PYTHONS:%=build-%/configure-stamp) $(PYTHONS:%=dbg-build-%/configure-stamp) build-%/configure-stamp: dh_testdir mkdir -p build-$* cd build-$* && echo yes \ | python$* ../configure.py \ -c -n /usr/include/tqt3 \ -o /usr/lib/$(DEB_HOST_MULTIARCH) -u -j $(DEB_PARALLEL_JOBS) \ -d /usr/lib/python$*/$(call py_sitename,$*)/PyTQt \ -l /usr/include/python$* \ -v /usr/share/sip-tqt/tqt \ -m /usr/lib/python$*/config \ -z \ CXXFLAGS_RELEASE="" CXXFLAGS="${CXXFLAGS}" STRIP="" touch $@ dbg-build-%/configure-stamp: dh_testdir mkdir -p dbg-build-$* cd dbg-build-$* && echo yes \ | python$*-dbg ../configure.py \ -c -n /usr/include/tqt3 \ -o /usr/lib/$(DEB_HOST_MULTIARCH) -u -j $(DEB_PARALLEL_JOBS) \ -d /usr/lib/python$*/$(call py_sitename,$*)/PyTQt \ -l /usr/include/python$*_d \ -v /usr/share/sip-tqt/tqt \ -m /usr/lib/python$*/config_d \ -z \ CXXFLAGS_RELEASE="" CXXFLAGS="-O0 -g -I/usr/include/tqt" STRIP="" touch $@ build build-arch: $(PYTHONS:%=build-%/build-stamp) $(PYTHONS:%=dbg-build-%/build-stamp) build-indep: build-%/build-stamp: build-%/configure-stamp dh_testdir $(MAKE) -C build-$* touch $@ dbg-build-%/build-stamp: dbg-build-%/configure-stamp dh_testdir $(MAKE) -C dbg-build-$* touch $@ install-indep: configure dh_testdir dh_testroot dh_clean -k -i dh_installdirs -i for version in ${PYTHONS}; do \ pylibdev=debian/pytqt-dev/$$(python$$version -c "import sysconfig; print(sysconfig.get_path('platstdlib'))")/dist-packages/PyTQt;\ mkdir -p $$pylibdev;\ install -m 644 -o root -g root build-$$version/pytqtconfig.py $$pylibdev/pytqtconfig_nd.py; \ install -m 644 -o root -g root dbg-build-$$version/pytqtconfig.py $$pylibdev/pytqtconfig_d.py; \ done dh_install -i mkdir -p debian/pytqt-dev/usr/lib/python3/dist-packages/PyTQt install -m 644 -o root -g root debian/pytqtconfig_py3.py debian/pytqt-dev/usr/lib/python3/dist-packages/PyTQt/pytqtconfig.py install-arch: build dh_testdir dh_testroot dh_clean -k -a dh_installdirs -a for p in ${PYTHONS} ; do \ $(MAKE) -f debian/rules install-arch-$$p;\ done dh_install -a --sourcedir=$(CURDIR)/debian/tmp for i in $$(find debian/python3-*-dbg -name '*.so'); do \ b=$$(basename $$i .so); \ mv $$i $$(dirname $$i)/$${b}_d.so; \ done find debian/python3-*-dbg ! -type d \ ! \( -name '*.so' -o -name '*config_d.py' \) | xargs rm -f find debian/python3-*-dbg -depth -type d -empty -exec rmdir {} \; install-arch-3.%: $(MAKE) -C build-3.$* install DESTDIR=$(CURDIR)/debian/tmp $(MAKE) -C dbg-build-3.$* install DESTDIR=$(CURDIR)/debian/python3-pytqt-dbg mkdir -p debian/python3-pytqt/usr/lib/python3.$*/$(call py_sitename,$$version)/PyTQt cp -a debian/tmp/usr/lib/python3.$*/$(call py_sitename,$$version)/PyTQt/__init__.py \ debian/python3-pytqt/usr/lib/python3.$*/$(call py_sitename,$$version)/PyTQt/__init__.py mkdir -p debian/python3-pytqt-gl-dbg/usr/lib/python3.$*/$(call py_sitename,$$version)/PyTQt mv debian/python3-pytqt-dbg/usr/lib/python3.$*/$(call py_sitename,$$version)/PyTQt/tqtgl.so \ debian/python3-pytqt-gl-dbg/usr/lib/python3.$*/$(call py_sitename,$$version)/PyTQt/ mkdir -p debian/python3-pytqtext-dbg/usr/lib/python3.$*/$(call py_sitename,$$version)/PyTQt mv debian/python3-pytqt-dbg/usr/lib/python3.$*/$(call py_sitename,$$version)/PyTQt/tqtext.so \ debian/python3-pytqtext-dbg/usr/lib/python3.$*/$(call py_sitename,$$version)/PyTQt/ clean: dh_testdir dh_testroot rm -rf $(PYTHONS:%=build-%) $(PYTHONS:%=dbg-build-%) rm -f *-stamp dh_clean # Must not depend on anything. This is to be called by # binary-arch/binary-indep # in another 'make' thread. binary-common: dh_testdir dh_testroot dh_installman dh_installchangelogs ChangeLog dh_installdocs -A NEWS THANKS dh_installexamples dh_link ifeq (,$(findstring -i, $(DH_OPTIONS))) DH_OPTIONS= dh_strip -ppytqt-tools set -e; \ for p in python3-pytqt python3-pytqt-gl python3-pytqtext; do \ DH_OPTIONS= dh_strip -p$$p --dbg-package=$$p-dbg; \ rm -rf debian/$$p-dbg/usr/share/doc/$$p-dbg; \ ln -s $$p debian/$$p-dbg/usr/share/doc/$$p-dbg; \ done endif # dh_strip dh_compress -X.py -X.bmp -X.ui -X.sql dh_fixperms dh_python3 --no-dbg-cleaning dh_py3sip_tqt dh_lintian dh_installdeb dh_shlibdeps dh_gencontrol dh_md5sums dh_builddeb $(DEB_DH_BUILDDEB_ARGS) # Build architecture independant packages using the common target. binary-indep: install-indep $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common # Build architecture dependant packages using the common target. binary-arch: install-arch $(MAKE) -f debian/rules DH_OPTIONS=-a binary-common binary: binary-arch binary-indep .PHONY: build build-arch clean binary-indep binary-arch binary configure