FILES = ../gdeskcal ../code/*.py ../code/planner/*.py
DOMAIN = gdeskcal
LOCALEDIR = ../locale

GETTEXT = xgettext
MSGFMT = msgfmt --statistics
MSGMERGE = msgmerge


.PHONY: help update template new install


help:
	@echo "Makefile for localization"
	@echo "-------------------------"
	@echo "Usage:"
	@echo "  Set environment variable LOCALE to the desired locale and"
	@echo "  invoke Makefile rules:"
	@echo ""
	@echo "  $ make update     Updates the .po file (it must exist)."
	@echo "  $ make template   Creates the .po template."
	@echo "  $ make new        Creates a new locale (template must exist)."
	@echo "  $ make install    Installs the locale (.po file must exist)."


update: template
	@echo "Updating locale [$$LOCALE]"
	@$(MSGMERGE) --update \
                     -vvv \
                     $$LOCALE.po $(DOMAIN).pot



template:
	@echo "Updating template."
	@$(GETTEXT) --output=$(DOMAIN).pot \
                    --output-dir=. \
                    --language=Python \
                    $(FILES)


new:
	@mkdir --parents $(LOCALEDIR)/$$LOCALE/LC_MESSAGES
	@cp $(DOMAIN).pot $$LOCALE.po
	@echo "$$LOCALE.po created."




install:
	@echo "Installing locale for [$$LOCALE]"
	@SOURCE=$$LOCALE.po ; \
	TARGET=$(LOCALEDIR)/$$LOCALE/LC_MESSAGES/$(DOMAIN).mo ; \
	$(MSGFMT) --output=$$TARGET $$SOURCE
