#!/usr/bin/make -f

# 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
AUTOGEN_FILES := list.c Makefile Makefile.cyg Makefile.nestedvm Makefile.osx \
		 Makefile.vc Makefile.wce puzzles.txt puzzles.hlp puzzles.cnt \
		 HACKING

%:
	dh $@

override_dh_auto_configure:
	./mkfiles.pl
	[ -L po ] || ln -s debian/po po

override_dh_auto_build:
	$(MAKE) "VER=-DREVISION=$(UPSTREAM_VERSION)" \
	    "XFLAGS=-DDEBIAN_VERSION=\"\\\"$(DEBIAN_VERSION)\\\"\" -DHELP_BROWSER_PATH=\"\\\"yelp:khelpcenter:sensible-browser\\\"\"" \
	    puzzles
	$(MAKE) -f Makefile.doc

override_dh_auto_install:
	$(MAKE) DESTDIR=debian/sgt-puzzles install

override_dh_installdocs:
	for lang in $(LANGUAGES); do \
		dh_install doc/html-$$lang/*.html usr/share/sgt-puzzles/help/$$lang \
		|| exit; \
	done
	dh_installdocs

override_dh_installman:
	for lang in $(LANGUAGES); do \
		dh_installman --language=$${lang/en/C} doc/man-$$lang/* || exit; \
	done

override_dh_install:
	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

override_dh_auto_clean:
	! [ -f Makefile ] || $(MAKE) clean
	$(MAKE) -f Makefile.doc clean
	if [ -d .git ]; then				\
		git checkout HEAD $(AUTOGEN_FILES);	\
	else						\
		rm -f $(AUTOGEN_FILES);			\
	fi
	rm -f po
	dh_clean debian/substvars version2.def wingames.lst
