#!/usr/bin/make -f

include /usr/share/quilt/quilt.make

# We require some bash features
override SHELL := /bin/bash

DEBIAN_VERSION := $(shell dpkg-parsechangelog | sed -r 's/^Version: //; t; d')
UPSTREAM_VERSION := $(shell echo $(DEBIAN_VERSION) | sed -r 's/^[0-9]*://; s/-[^-]*$$//')

#LANGUAGES := en $(patsubst debian/po/%.po,%,$(wildcard debian/po/*.po))

# Distributed files that we regenerate
DIST_REGEN_FILES := list.c Makefile Makefile.cyg Makefile.nestedvm Makefile.osx Makefile.vc Makefile.wce 
#puzzles.txt puzzles.hlp puzzles.cnt HACKING

build: build-indep build-arch

build-indep: build-indep-stamp
build-indep-stamp:
	touch build-indep-stamp

build-arch: build-arch-stamp
build-arch-stamp: Makefile
	$(MAKE) "VER=-DREVISION=$(UPSTREAM_VERSION)" \
	    "XFLAGS=-DSTYLUS_BASED=1" \
	    puzzles
#	$(MAKE) -f Makefile.doc
	touch build-arch-stamp

# We patch these sources and so must rebuild the Makefile.
Makefile : $(QUILT_STAMPFN) mkfiles.pl Recipe
	./mkfiles.pl

binary : binary-arch binary-indep

binary-arch : build
	dh_testroot
	dh_installdirs
	$(MAKE) DESTDIR=debian/sgt-puzzles install
	dh_strip
	dh_shlibdeps
	dh_installchangelogs
	dh_installdocs
#	cp debian/copyright-prefix \
	    debian/sgt-puzzles/usr/share/doc/sgt-puzzles/copyright
#	iconv -f iso8859-1 -t utf-8 < LICENCE \
	    >> debian/sgt-puzzles/usr/share/doc/sgt-puzzles/copyright
#	for lang in $(LANGUAGES); do \
		dh_installman --language=$${lang/en/C} doc/man-$$lang/* || exit; \
	done
#	dh_install debian/desktop/*.desktop usr/share/applications
#	for icon in icons/*-48d24.png; do \
#	    base="$$(basename $$icon -48d24.png)" && \
#	    if [ $$base = blackbox -o $$base = flip -o $$base = net ]; then \
#		base=$${base}game; \
#	    fi && \
#	    install -m644 $$icon debian/sgt-puzzles/usr/share/icons/hicolor/48x48/apps/$$base.png \
#	    || exit; \
#	done
	dh_link
	dh_compress
	dh_fixperms
	dh_installmenu
	mkdir -p -m755  debian/sgt-puzzles/usr/share/applications/hildon
	install -m644 debian/sgt-puzzles.desktop debian/sgt-puzzles/usr/share/applications/hildon/
	install -m644 icons/net-48d8.png debian/sgt-puzzles/usr/share/icons/hicolor/48x48/apps/netgame.png
	mkdir -p debian/sgt-puzzles/opt/
	mv debian/sgt-puzzles/usr/lib/sgt-puzzles/ debian/sgt-puzzles/opt/
	install -m755 debian/sgt-launcher debian/sgt-puzzles/opt/sgt-puzzles/
	mkdir -p -m755  debian/sgt-puzzles/opt/sgt-puzzles/pixmaps/
	install -m644 debian/desktop/*.xpm debian/sgt-puzzles/opt/sgt-puzzles/pixmaps/
	cp -a debian/help debian/sgt-puzzles/opt/sgt-puzzles/
	dh_installdeb
	dh_gencontrol
	dh_md5sums
	dh_builddeb

binary-indep :

$(QUILT_STAMPFN) : backup-regen-stamp install-po-stamp

backup-regen-stamp :
	mkdir -p debian/orig/
	cp $(DIST_REGEN_FILES) debian/orig/
	touch $@

install-po-stamp :
	mkdir -p po/
	cp -p debian/po/*.po po/
	touch $@

clean : unpatch
	! [ -d debian/orig ] || { mv debian/orig/* . && rmdir debian/orig ; }
	rm -rf po *-stamp
	dh_clean debian/substvars wingames.lst

unpatch : clean-patched

clean-patched :
	! [ -f Makefile ] || $(MAKE) clean
	! [ -d debian/orig ] || $(MAKE) -f Makefile.doc clean

get-orig-source :
	wget -O sgt-puzzles_$(UPSTREAM_VERSION).orig.tar.gz \
	    http://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-r$(UPSTREAM_VERSION).tar.gz

.PHONY : build binary binary-arch binary-dep clean clean-unpatched get-orig-source
