#!/usr/bin/make -f

include /usr/share/cdbs/1/rules/patchsys-quilt.mk
include /usr/share/gnome-pkg-tools/1/rules/uploaders.mk
-include /usr/share/gnome-pkg-tools/1/rules/gnome-get-source.mk

CFLAGS += -Wall -g -O$(if $(findstring noopt,$(DEB_BUILD_OPTIONS)),0,2)

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

configure_flags += \
		--prefix=/usr \
		--enable-thread \
		--build=$(DEB_BUILD_GNU_TYPE)

ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
	configure_flags += --host=$(DEB_HOST_GNU_TYPE)
endif

PYVERS := $(shell pyversions -vs)

build-%/configure-stamp: apply-patches
	dh_testdir
	mkdir -p build-$*
	cd build-$* && \
		PYTHON=/usr/bin/python$* CFLAGS="$(CFLAGS)" \
			$(CURDIR)/configure $(configure_flags)
	touch $@

dbg-build-%/configure-stamp: apply-patches
	dh_testdir
	mkdir -p dbg-build-$*
	cd dbg-build-$* && \
		PYTHON=/usr/bin/python$*-dbg CFLAGS="$(CFLAGS) -O0" \
			$(CURDIR)/configure $(configure_flags)
	touch $@

build-%/build-stamp: build-%/configure-stamp
	dh_testdir
	$(MAKE) -C build-$*
	-$(MAKE) -C build-$* check
	touch $@

dbg-build-%/build-stamp: dbg-build-%/configure-stamp
	dh_testdir
	$(MAKE) -C dbg-build-$*
	touch $@

build: $(PYVERS:%=build-%/build-stamp) $(PYVERS:%=dbg-build-%/build-stamp)

install-clean:
	dh_testdir
	dh_testroot
	dh_clean -k

install-%: build-%/build-stamp
	dh_testdir
	dh_testroot
	$(MAKE) -C build-$* install DESTDIR=$(CURDIR)/debian/python-gobject-dev

dbg-install-%: dbg-build-%/build-stamp
	dh_testdir
	dh_testroot
	$(MAKE) -C dbg-build-$* install DESTDIR=$(CURDIR)/debian/python-gobject-dbg
	find debian/python-gobject-dbg ! -type d ! -name '*.so' | xargs rm -f
	find debian/python-gobject-dbg -depth -empty -exec rmdir {} \;

install: build install-clean $(PYVERS:%=install-%) $(PYVERS:%=dbg-install-%)
	dh_testdir
	dh_testroot
	find debian/python-gobject-dev -name \*.la -exec rm -f \{\} \;
	mkdir -p debian/python-gobject/usr/lib
	mv debian/python-gobject-dev/usr/lib/python* debian/python-gobject/usr/lib/
	for i in $$(find debian/python-gobject-dbg -name '*.so'); do \
		b=$$(basename $$i .so); \
		mv $$i $$(dirname $$i)/$${b}_d.so; \
	done

clean:: reverse-patches
	dh_testdir
	dh_testroot
	rm -Rf build-* dbg-build-*
	-test -f config.sub && \
	  test -r /usr/share/misc/config.sub && \
	  cp -f /usr/share/misc/config.sub config.sub
	-test -f config.guess && \
	  test -r /usr/share/misc/config.guess && \
	  cp -f /usr/share/misc/config.guess config.guess
	dh_clean *.pyc */*.pyc

binary-indep: build install
	dh_testdir
	dh_testroot
	dh_installdocs -i
	dh_installexamples -i
	dh_installchangelogs ChangeLog -i
	dh_link -i
	dh_compress -i -X.py
	dh_fixperms -i
	# More permission fixing
	chmod 755 `grep -rl "^#\!.*python" debian/python-gobject-dev/usr`
	dh_pysupport -i
	dh_installdeb -i
	dh_gencontrol -i
	dh_md5sums -i
	dh_builddeb -i

binary-arch: build install
	dh_testdir
	dh_testroot
	dh_installdocs -a
	dh_installexamples -a
	dh_installchangelogs ChangeLog -a
	dh_strip -ppython-gobject --dbg-package=python-gobject-dbg
	rm -rf debian/python-gobject-dbg/usr/share/doc/python-gobject-dbg
	ln -sf python-gobject debian/python-gobject-dbg/usr/share/doc/python-gobject-dbg
	dh_link -a
	dh_compress -a -X.py
	dh_fixperms -a
	dh_pysupport -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 build install
