#!/usr/bin/make -f

PYVERS  = $(shell pyversions -rv)
DESTDIR = $(CURDIR)/debian/picard

FILE_FLUFF = \# Updated by DPKG installer to be nonempty \#

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

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

build-arch: build

build-indep:

build-stamp%:
	dh_testdir
	CFLAGS="$(CFLAGS)" python$* setup.py config
	CFLAGS="$(CFLAGS)" python$* setup.py build_ext
	echo "$(FILE_FLUFF)" >> picard/plugins/__init__.py
	python$* setup.py install --install-layout=deb --root=$(DESTDIR) --prefix=/usr \
	  --no-compile --disable-autoupdate
	rm -rf build/ build.cfg scripts/picard
	touch $@

clean:
	dh_testdir
	dh_testroot
	rm -rf build/ build.cfg scripts/picard build-stamp*
	find $(CURDIR) \( -name '*.mo' -o -name '*.pyc' \) -delete
	-cp picard/plugins/__init__.py picard/plugins/__init__.py-temp && \
		grep -v "$(FILE_FLUFF)" < picard/plugins/__init__.py-temp > picard/plugins/__init__.py
	-rm picard/plugins/__init__.py-temp
	dh_clean

install: build
	dh_testdir
	dh_testroot
	dh_installdirs
	# Let's create some icons
	mkdir -p $(DESTDIR)/usr/share/pixmaps
	convert $(CURDIR)/resources/images/32x32/picard.png -resize 22 $(DESTDIR)/usr/share/pixmaps/picard-22.xpm
	mkdir -p $(DESTDIR)/usr/share/icons/hicolor/22x22/apps
	convert $(CURDIR)/resources/images/32x32/picard.png -resize 22 $(DESTDIR)/usr/share/icons/hicolor/22x22/apps/picard.png
	for size in 16 24 32; do \
		convert $(CURDIR)/resources/images/$${size}x$${size}/picard.png $(DESTDIR)/usr/share/pixmaps/picard-$${size}.xpm || exit 1; \
	done
	# And fix the shebang
	sed -i 's,^#!/usr/bin/python.*,#!/usr/bin/python,' $(DESTDIR)/usr/bin/picard
	find $(DESTDIR) -type d -empty -delete

binary-indep: build install
binary-arch: build install
	dh_testroot
	dh_installchangelogs -s NEWS.txt
	dh_installdocs -s
	dh_installmenu -s
	dh_icons -s
	dh_python2 -s
	dh_installman -s
	dh_link -s
	dh_strip -s
	dh_compress -s
	dh_fixperms -s
	dh_installdeb -s
	dh_shlibdeps -s
	dh_gencontrol -s
	dh_md5sums -s
	dh_builddeb -s

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