#!/usr/bin/make -f

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

PV	:= $(shell python -c 'import sys; print sys.version[:3]')
PYVERS	:= $(shell pyversions -vs)

d	= debian/tmp
p_test	= qmtest
d_test	= debian/$(p_test)
p_sig	= python-sigmask
d_sig	= debian/$(p_sig)

build-arch: build
build-indep: build
build: build-stamp
build-stamp:
	dh_testdir
	set -e; \
	for v in $(PYVERS); do \
	  python$$v setup.py build; \
	done
	touch build-stamp

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp build-doc-stamp configure-stamp
	for v in $(PYVERS); do \
	  python$$v setup.py clean; \
	done
	-find -type d -name build | xargs rm -rf
	-find -name '*.py[co]' | xargs rm -f
	-find doc -name '*.html' | xargs rm -f
	rm -f qm.spec
	rm -f results.qmr qm/setup_path.py
	dh_clean

install: DH_OPTIONS=
install: build
	dh_testdir
	dh_testroot
	dh_prep

	set -e; \
	for v in $(PYVERS); do \
	  libdir=$$(python$$v -c 'from distutils import sysconfig; print(sysconfig.get_python_lib())'); \
	  python$$v setup.py install --root $(CURDIR)/$(d_test) --install-layout=deb; \
	  sed -i -e "s/2\.[0-9]'$$/%s' % sys.version[:3]/" \
		$(d_test)/$$libdir/qm/config.py; \
	done
	-find $(d_test) -name '*.py[co]' | xargs rm -f

	: # adjust installation
	rm -f $(d_test)/usr/share/doc/qm/COPYING
	rm -f $(d_test)/usr/bin/qmtest.py

	: # qmtest package
	dh_installdirs -p$(p_test) \
		usr/share/man/man1

	: # qm-sigmask package
	dh_movefiles -p$(p_sig) --sourcedir=$(d_test) \
		usr/lib/python*/*-packages/qm/sigmask.so
	for v in $(PYVERS); do \
	  libdir=$$(python$$v -c 'from distutils import sysconfig; print(sysconfig.get_python_lib())'); \
	  dh_link -p$(p_sig) \
		$$libdir/qm/sigmask.so \
		$$libdir/sigmask.so; \
	done

	cp -p debian/qmtest.1 $(d_test)/usr/share/man/man1/.

	: # remove empty directories
	for d in `find debian -depth -type d -empty 2> /dev/null`; do \
	  while rmdir $$d 2> /dev/null; do d=`dirname $$d`; done; \
	done

	: # Replace all '#!' calls to python with /usr/bin/python
	: # and make them executable
	for i in `find debian -mindepth 3 -type f`; do \
	  sed '1s,#!.*python[^ ]*\(.*\),#! /usr/bin/python\1,' \
		$$i > $$i.temp; \
	  if cmp --quiet $$i $$i.temp; then \
	    rm -f $$i.temp; \
	  else \
	    mv -f $$i.temp $$i; \
	    chmod 755 $$i; \
	    echo "fixed interpreter: $$i"; \
	  fi; \
	done

# Build architecture-dependent files here.
binary-arch: build install
	dh_testdir
	dh_testroot
	dh_installdocs -a -A README
	dh_installchangelogs -a
	dh_compress -a -X.pdf
	dh_fixperms -a
	dh_python2 -a
	dh_shlibdeps -a
	dh_strip -a
	dh_installdeb -a
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a

# Build architecture-independent files here.
binary-indep: build install
	dh_testdir
	dh_testroot
	dh_installdocs -i
	mv $(d_test)/usr/share/doc/qmtest/print/tutorial.pdf \
		$(d_test)/usr/share/doc/qmtest/
	rmdir $(d_test)/usr/share/doc/qmtest/print
	mv $(d_test)/usr/share/doc/qmtest/html/tutorial \
		$(d_test)/usr/share/doc/qmtest/
	rmdir $(d_test)/usr/share/doc/qmtest/html
	rm -f $(d_test)/usr/share/doc/qmtest/COPYING
	rm -f $(d_test)/usr/share/doc/qmtest/LICENSE.OPL
	rm -f $(d_test)/usr/share/doc/qmtest/ChangeLog
#	dh_installexamples -i
	dh_installmenu -i
	dh_installcron -i
	dh_installchangelogs -i ChangeLog
	dh_compress -i -X.pdf
	dh_fixperms -i
	dh_python2 -i
	dh_installdeb -i
	dh_gencontrol -i
	dh_md5sums -i
	dh_builddeb -i

binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install configure
