#!/usr/bin/make -f
# Sample debian/rules that uses debhelper.
# GNU copyright 1997 to 1999 by Joey Hess.

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

include /usr/share/quilt/quilt.make

export DEB_HOST_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)

ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -g -O0
else
	CFLAGS += -O2
endif
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
	INSTALL_PROGRAM += -s
endif

# For autoconf 2.13 only
CONFFLAGS=
ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
	CONFFLAGS += $(DEB_HOST_GNU_TYPE)
else
	CONFFLAGS += --host $(DEB_BUILD_GNU_TYPE) --build $(DEB_HOST_GNU_TYPE)
endif

package := tmp
prefix  := /usr
share   := $(prefix)/share

version := $(shell dpkg-parsechangelog | \
		sed -ne 's/^Version: *\([0-9]\+:\)*//p')

# Python versions from constraints in XS-Python-Version in debian/control
PYVERS	:= $(shell pyversions -vr debian/control)
# Default python version (this what python-cairo-dev uses)
PYDEF	:= $(shell pyversions -vd)

configure-stamp:
	dh_testdir

	echo "#-----------------------------------"

	apt-cache show python-central
	apt-cache policy python-central
	sb-conf show
	sb-conf version

	echo #-----------------------------------




# Copy in fresh copies of config.{sub,guess}
# (these are from autotools-dev, so must Build-Depend on it)
	for i in config.guess config.sub; do \
	  if test -e $(share)/misc/$$i ; then \
	    if ! test -e $$i.debian-orig ; then \
	      mv $$i $$i.debian-orig ; \
	      cp --remove-destination $(share)/misc/$$i $$i ; \
	    fi ; \
	  fi ; \
	done

# handle timestamp skew; advice from autotools-dev README.Debian
	touch configure.ac && \
	touch aclocal.m4 && \
	touch config.h.in && \
	touch configure && \
	touch Makefile.in

	touch $@

build-%/configure-stamp: configure-stamp
	dh_testdir
	mkdir -p build-$*
	cd build-$* && PYTHON=/usr/bin/python$* ../configure $(CONFFLAGS) \
		--prefix=$(prefix) \
		--mandir=$(share)/man \
		--infodir=$(share)/info \
		--without-pygtk
	touch $@

dbg-build-%/configure-stamp: configure-stamp
	dh_testdir
	mkdir -p dbg-build-$*
	cd dbg-build-$* && CFLAGS="$(CFLAGS) -O0" PYTHON=/usr/bin/python$*-dbg ../configure $(CONFFLAGS) \
		--prefix=$(prefix) \
		--mandir=$(share)/man \
		--infodir=$(share)/info \
		--without-pygtk
	touch $@

build: patch configure-stamp build-stamp
build-stamp: $(PYVERS:%=build-%/build-stamp) $(PYVERS:%=dbg-build-%/build-stamp)
	touch 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: unpatch
	dh_testdir
	dh_testroot
	rm -f build-stamp configure-stamp libtool
	rm -rf build-* dbg-build-*

	[ ! -f Makefile ] || $(MAKE) distclean

	-rm -f config.h config.cache config.status config.log

	for i in config.guess config.sub; do \
	  if test -r $$i.debian-orig ; then \
	    mv -f $$i.debian-orig $$i; \
	  fi; \
	done

	dh_clean

install-pre:
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs

install: install-pre $(PYVERS:%=install-%) $(PYVERS:%=dbg-install-%)
	for i in $$(find debian/python-cairo-dbg -name '*.so'); do \
	  b=$$(basename $$i .so); \
	  mv $$i $$(dirname $$i)/$${b}_d.so; \
	done
	find debian/python-cairo-dbg ! -type d ! -name '*.so' | xargs rm -f
	-find debian/python-cairo-dbg -depth -empty -exec rmdir {} \;

install-%: build-%/build-stamp
	dh_testdir
	dh_testroot
	make -C build-$* install \
		DESTDIR=$(CURDIR)/debian/python-cairo
	find debian/python-cairo/usr/lib \
		\( -name "*.py[co]" -o -name "*.la" \) -exec rm -f {} \;

	if [ $* = $(PYDEF) ]; then \
	  mkdir -p debian/python-cairo-dev/usr/lib; \
	  mv debian/python-cairo/usr/include debian/python-cairo-dev/usr/include; \
	  mv debian/python-cairo/usr/lib/pkgconfig debian/python-cairo-dev/usr/lib/pkgconfig; \
	fi
	rm -rf debian/python-cairo/usr/include debian/python-cairo/usr/lib/pkgconfig
#	cp debian/cairo.pth $(CURDIR)/debian/python-cairo/usr/lib/python$*/site-packages

	#python-cairo-tests
	mkdir -p $(CURDIR)/debian/python-cairo-tests
	mkdir -p $(CURDIR)/debian/python-cairo-tests/usr
	mkdir -p $(CURDIR)/debian/python-cairo-tests/usr/share
	mkdir -p $(CURDIR)/debian/python-cairo-tests/usr/share/python-cairo-tests
	cp -r $(CURDIR)/test $(CURDIR)/debian/python-cairo-tests/usr/share/python-cairo-tests
	cp -r $(CURDIR)/examples $(CURDIR)/debian/python-cairo-tests/usr/share/python-cairo-tests
	#this file is created by a patch
	cp $(CURDIR)/runtests.sh $(CURDIR)/debian/python-cairo-tests/usr/share/python-cairo-tests

dbg-install-%: dbg-build-%/build-stamp
	dh_testdir
	dh_testroot
	make -C dbg-build-$* install \
		DESTDIR=$(CURDIR)/debian/python-cairo-dbg

# Build architecture-independent files here. (just python-cairo-dev)
# Pass -i to all debhelper commands in this target to reduce clutter.
binary-indep: 
	dh_testdir -i
	dh_testroot -i
	dh_installdocs -i README NEWS AUTHORS
	dh_installexamples -i
	dh_installchangelogs ChangeLog -i
	dh_link -i
	dh_compress -i
	dh_fixperms -i
	dh_pycentral -i
	dh_installdeb -i
	dh_gencontrol -i
	dh_md5sums -i
	dh_builddeb -i

# Build architecture-dependent files here.
binary-arch: build install
	dh_testdir -a
	dh_testroot -a

	dh_installdocs -A README NEWS AUTHORS
	dh_installchangelogs ChangeLog
	dh_installexamples
	dh_link -a
	dh_strip -ppython-cairo --dbg-package=python-cairo-dbg
	rm -rf debian/python-cairo-dbg/usr/share/doc/python-cairo-dbg
	ln -s python-cairo debian/python-cairo-dbg/usr/share/doc/python-cairo-dbg
	dh_compress -a
	dh_fixperms -a
	dh_pycentral -a
	dh_makeshlibs -a
	dh_installdeb -a
	dh_shlibdeps -a
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a

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