You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tde-packaging/ubuntu/_base/libraries/pytde/debian/rules

182 lines
5.4 KiB

#!/usr/bin/make -f
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
DEB_CONFIGURE_INCLUDEDIR := /opt/trinity/include
DEB_CONFIGURE_MANDIR := /opt/trinity/share/man
DEB_CONFIGURE_PREFIX := /opt/trinity
DEB_CONFIGURE_INFODIR := /opt/trinity/share/info
cdbs_configure_flags := --with-qt-dir=/usr/share/qt3 --disable-rpath --with-xinerama $(cdbs_kde_enable_final) $(cdbs_kde_enable_debug)
# 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
export TQTDIR=/usr/share/tqt3
export QMAKESPEC=$(TQTDIR)/mkspecs/linux-g++
CXXFLAGS = -Wall -g
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CXXFLAGS += -O0
else
CXXFLAGS += -O2
endif
PYTHONS := $(shell py3versions -vr)
GCCVER := $(shell gcc --version | sed -n '/^gcc (GCC)/s/.*(GCC) \(...\).*/\1/p')
ifneq (,$(filter $(GCCVER),4.2 4.3))
SPLIT=20
else
SPLIT=4
endif
.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-$* && python$* ../configure.py \
-c -u -k /opt/trinity -o /opt/trinity/include -n /opt/trinity/lib \
-d /usr/lib/python$*/$(call py_sitename,$*) \
-v /usr/share/sip-tqt/trinity -j $(SPLIT)
touch $@
dbg-build-%/configure-stamp:
dh_testdir
mkdir -p dbg-build-$*
cd dbg-build-$* && python$*-dbg ../configure.py \
-c -u -k /opt/trinity -o /opt/trinity/include -n /opt/trinity/lib \
-d /usr/lib/python$*/$(call py_sitename,$*) \
-v /usr/share/sip-tqt/trinity -j $(SPLIT)
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 $@
clean:
dh_testdir
dh_testroot
rm -f *-stamp
rm -rf $(PYTHONS:%=build-%) $(PYTHONS:%=dbg-build-%)
# remove autogenerated *mod.sip files and clean up sources
for moddir in sip/*;\
do\
if [ -d $$moddir ]; then\
rm -f $$moddir/` basename $${moddir}`mod.sip;\
fi;\
done
dh_clean
install: install-indep install-arch
install-indep:
dh_testdir
dh_testroot
dh_clean -k -i
dh_installdirs -i
dh_install -i -X'\.diff$$' -X'\.in$$' -X'\.html$$'
for version in ${PYTHONS};\
do\
pylib=$$(python$$version -c "import sysconfig; print(sysconfig.get_path('platstdlib'))");\
mkdir -p debian/pytde-dev/$$pylib;\
install -m 644 -o root -g root debian/pytdeconfig.py debian/pytde-dev/$$pylib/pytdeconfig.py;\
install -m 644 -o root -g root build-$$version/pytdeconfig.py debian/pytde-dev/$$pylib/pytdeconfig_nd.py;\
install -m 644 -o root -g root dbg-build-$$version/pytdeconfig.py debian/pytde-dev/$$pylib/pytdeconfig_d.py;\
done
install-arch:
dh_testdir
dh_testroot
dh_clean -k -a
dh_installdirs -a
set -e; \
for version in ${PYTHONS};\
do\
$(MAKE) -C build-$$version install DESTDIR=$(CURDIR)/debian/tmp;\
$(MAKE) -C dbg-build-$$version install DESTDIR=$(CURDIR)/debian/python3-pytde-dbg;\
done
dh_install -a --sourcedir=$(CURDIR)/debian/tmp
mkdir -p $(CURDIR)/debian/python3-pytde/opt/trinity/lib/
ln -s /opt/trinity/lib/trinity/libkonsolepart.so $(CURDIR)/debian/python3-pytde/opt/trinity/lib/
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 {} \;
# 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_installchangelogs ChangeLog
dh_installdocs -A THANKS
dh_installexamples
dh_link
ifeq (,$(findstring -i, $(DH_OPTIONS)))
DH_OPTIONS= dh_strip -ppython3-pytde #--dbg-package=python3-pytde-dbg
endif
dh_compress -X.py -X.ui -X.dtd
dh_fixperms
dh_python3 --no-dbg-cleaning --shebang=/usr/bin/python3
dh_installdeb
dh_shlibdeps -l /opt/trinity/lib
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: build 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 install install-indep install-arch configure