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/raring/dependencies/sip4-tqt/debian/rules

162 lines
5.3 KiB

#!/usr/bin/make -f
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
DEB_DH_BUILDDEB_ARGS += -- -Z$(shell dpkg-deb --help | grep -q ":.* xz[,.]" \
&& echo xz || echo bzip2)
export DH_OPTIONS
INSTDIR=$(CURDIR)/debian
CFLAGS=
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0 -g
else
CFLAGS += -O2 -g
endif
PYTHONS := $(shell pyversions -vr debian/control)
DEB_PYTHON_SYSTEM = $(if $(wildcard /usr/bin/dh_python2),,pysupport)
DH_PYTHON2 = $(if $(wildcard /usr/bin/dh_python2),dh_python2,dh_pysupport)
-include /usr/share/python/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
.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 \
-d /usr/lib/python$*/$(call py_sitename,$*) \
-u STRIP="" CFLAGS="${CFLAGS} -I/usr/include/tqt -I/usr/include/tqt3 -I/usr/include/qt3" CFLAGS_RELEASE="" CXXFLAGS="${CFLAGS} -I/usr/include/tqt -I/usr/include/tqt3 -I/usr/include/qt3" CXXFLAGS_RELEASE=""
touch $@
dbg-build-%/configure-stamp:
dh_testdir
mkdir -p dbg-build-$*
cd dbg-build-$* \
&& python$*-dbg ../configure.py \
-d /usr/lib/python$*/$(call py_sitename,$*) \
-e /usr/include/python$*_d \
-u CFLAGS="-O0 -g -I/usr/include/tqt -I/usr/include/tqt3 -I/usr/include/qt3" CFLAGS_RELEASE="" CXXFLAGS="-O0 -g -I/usr/include/tqt -I/usr/include/tqt3 -I/usr/include/qt3" CXXFLAGS_RELEASE="" STRIP=""
touch $@
build: $(PYTHONS:%=build-%/build-stamp) $(PYTHONS:%=dbg-build-%/build-stamp)
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 -rf *-stamp siputils.pyc $(PYTHONS:%=build-%) $(PYTHONS:%=dbg-build-%)
dh_clean
install-arch: build
dh_testdir
dh_testroot
dh_prep -a
dh_installdirs -a
# This is needed to enforce that the install-arch-% rules are
# not run in parallel. Both rules install into the same directory,
# and therefore might try to access the same files at the same time.
# Therefore, instead of depending on the install-arch-% rules,
# we invoke them explicitly.
for p in $(PYTHONS) ; do \
$(MAKE) -f debian/rules install-arch-$$p;\
done
for i in $$(find debian/python-sip-dbg -name '*.so'); do \
b=$$(basename $$i .so); \
mv $$i $$(dirname $$i)/$${b}_d.so; \
done
find debian/python-sip-dbg ! -type d ! -name '*_d.*' | xargs rm -f
find debian/python-sip-dbg -depth -empty -exec rmdir {} \;
dh_install -a --sourcedir=$(CURDIR)/debian/tmp
install -m 755 -o root -g root debian/dh_sip debian/python-sip-dev/usr/bin
install-arch-%:
$(MAKE) -C build-$* install DESTDIR=$(CURDIR)/debian/tmp
$(MAKE) -C dbg-build-$* install DESTDIR=$(CURDIR)/debian/python-sip-dbg
mkdir -p debian/python-sip/usr/lib/python$*/$(call py_sitename,$*)/
install -m 644 -o root -g root debian/sipconfig.py debian/python-sip/usr/lib/python$*/$(call py_sitename,$*)/
install -m 644 -o root -g root build-$*/sipconfig.py debian/python-sip/usr/lib/python$*/$(call py_sitename,$*)/sipconfig_nd.py
# install *_d.py into wrong package to prevent deletion in dh_python2
install -m 644 -o root -g root dbg-build-$*/sipconfig.py debian/python-sip/usr/lib/python$*/$(call py_sitename,$*)/sipconfig_d.py
mkdir -p debian/python-sip-dev/usr/include/python$*
install -m 644 -o root -g root siplib/sip.h debian/python-sip-dev/usr/include/python$*/
mkdir -p debian/python-sip-dev/usr/include/python$*_d
ln -s ../python$*/sip.h \
debian/python-sip-dev/usr/include/python$*_d/sip.h
mkdir -p debian/python-sip-dev/usr/lib/python$*/$(call py_sitename,$*)
install -m 644 -o root -g root sipdistutils.py debian/python-sip-dev/usr/lib/python$*/$(call py_sitename,$*)
# 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
dh_installdocs -A
dh_installexamples
dh_link
# don't call strip twice, it's in binary-common
ifneq (,$(findstring -a, $(DH_OPTIONS)))
DH_OPTIONS= dh_strip -ppython-sip-dev
DH_OPTIONS= dh_strip -ppython-sip -Npython-sip-dev --dbg-package=python-sip-dbg
rm -rf debian/python-sip-dbg/usr/share/doc/python-sip-dbg
mkdir -p debian/python-sip-dbg/usr/share/doc
ln -s python-sip debian/python-sip-dbg/usr/share/doc/python-sip-dbg
endif
dh_compress
dh_fixperms
${DH_PYTHON2}
# move *_d.py back into right package
find debian/python-sip -name "*_d.py" | \
while read f; do \
mkdir -p $${f%/*}; \
mv "$${f}" "debian/python-sip-dbg/$${f#debian/python-sip/}" ; \
done
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb $(DEB_DH_BUILDDEB_ARGS)
# Build architecture independant packages using the common target.
binary-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 clean binary-indep binary-arch binary configure