# Targets
.PHONY: all prepare translation orig deb clean

# Package information
VERSION := $(shell dpkg-parsechangelog -S Version | sed 's/-.*//')
PACKAGE := yms

# Default target
all: prepare

# Debian source archive
orig:
	git archive \
		--format=tar \
		--prefix=$(PACKAGE)-$(VERSION)/ \
		HEAD \
		':(exclude)debian' \
		':(exclude)locale/*.pot' \
		':(exclude)locale/de/LC_MESSAGES' \
		| xz -9 > ../$(PACKAGE)_$(VERSION).orig.tar.xz

# Debian package
deb: orig
	dpkg-buildpackage -us -uc

# Translation files
prepare: ymsgui.py yms/*.py yms/ui/*.ui
	xgettext -L Python -o locale/program.pot ymsgui.py yms/*.py
	xgettext -L Python -o locale/views.pot ymsgui.py yms/view/*.py
	xgettext -L Glade -o locale/ui.pot yms/ui/*.ui
	msgcat -o locale/combined.pot locale/program.pot locale/views.pot locale/ui.pot
	msgmerge -U locale/de.po locale/combined.pot

translation: locale/de/LC_MESSAGES/ymsgui.mo

locale/de/LC_MESSAGES/ymsgui.mo: locale/de.po
	mkdir -p locale/de/LC_MESSAGES
	msgfmt locale/de.po -o locale/de/LC_MESSAGES/ymsgui.mo

# Clean generated files
clean:
	find . -type d -name "__pycache__" -prune -exec rm -rf {} +
	find . -type f -name "*.pyc" -delete
	rm -f locale/program.pot
	rm -f locale/ui.pot
	rm -f locale/combined.pot
	rm -f locale/de/LC_MESSAGES/ymsgui.mo
	dh_clean
