#!/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.emcc Makefile.gnustep \
		 Makefile.nestedvm Makefile.osx Makefile.vc Makefile.wce \
		 preprocessed.but puzzles.txt puzzles.hlp puzzles.cnt HACKING

%:
	dh $@

override_dh_auto_configure:
	./mkfiles.pl
	[ -L po ] || ln -s debian/po po
	rm -f preprocessed.but

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 BINPREFIX=sgt-

override_dh_auto_install:
	$(MAKE) DESTDIR=debian/sgt-puzzles BINPREFIX=sgt- 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)" && \
	    install -m644 $$icon debian/sgt-puzzles/usr/share/icons/hicolor/48x48/apps/sgt-$$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 gamedesc.txt version2.def

# The test rule doesn't currently work with the combined executable we build
override_dh_auto_test:
	:
