include $(top_srcdir)/doc/files.am
include $(top_srcdir)/build/makefiles/sphinx-build.am

CLEANFILES =

EXTRA_DIST +=					\
	$(po_files)

if DOCUMENT_AVAILABLE
EXTRA_DIST +=					\
	$(mo_files)
endif

if DOCUMENT_BUILDABLE
BUILT_SOURCES +=				\
	mo-build-stamp
CLEANFILES +=					\
	pot-build-stamp				\
	edit-po-build-stamp			\
	mo-build-stamp
endif

SUFFIXES += .pot .po .mo .edit

.PHONY: gettext update build

.pot.edit:
	if test -f $*.po; then			\
	  msgmerge				\
	    --quiet				\
	    --sort-by-file			\
	    --output-file=$@.tmp		\
	    $*.po				\
	    $<;					\
	else					\
	  msginit				\
	    --input=$<				\
	    --output-file=$@.tmp		\
	    --locale=$(LOCALE)			\
	    --no-translator;			\
	fi
	(echo "# -*- po -*-";					\
	 GREP_OPTIONS= grep -v '^# -\*- po -\*-' $@.tmp |	\
	 GREP_OPTIONS= grep -v '^"POT-Creation-Date:') > $@
	rm $@.tmp

.edit.po:
	msgcat --no-location --output $@ $<

.po.mo:
	msgfmt -o $@ $<

if DOCUMENT_BUILDABLE
update: edit-po-build-stamp
build: mo-build-stamp
else
update:
build:
endif

html: build
man: build
pdf: build

gettext:
	rm *.pot || true
	$(SPHINX_BUILD_COMMAND) -d doctrees -b gettext $(ALLSPHINXOPTS) .
	xgettext --language Python --output conf.pot \
	  $(top_srcdir)/doc/source/conf.py

pot-build-stamp: $(absolute_source_files)
	$(MAKE) gettext
	@touch $@

edit-po-build-stamp: pot-build-stamp
	$(MAKE) $(edit_po_files)
	@touch $@

mo_build_stamp_dependencies = edit-po-build-stamp
if DOCUMENT_BUILDABLE
mo_build_stamp_dependencies += $(edit_po_files)
endif

mo-build-stamp: $(mo_build_stamp_dependencies)
	$(MAKE) $(mo_files)
	@touch $@
