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

EXTRA_DIST +=					\
	$(po_files)

if DOCUMENT_AVAILABLE
EXTRA_DIST +=					\
	$(mo_files)
endif

if DOCUMENT_BUILDABLE
BUILT_SOURCES +=				\
	$(mo_files)
endif

SUFFIXES += .pot .edit .po .mo 

.PHONY: gettext update build

all:

.pot.edit:
	msgmerge --quiet --sort-by-file --output-file=$@ $*.po $<
.edit.po:
	msgcat --no-location --output $@ $*.edit
.po.mo:
	msgfmt -o $@ $<

update: pot-build-stamp edit-po-build-stamp $(edit_po_files) $(po_files)

if DOCUMENT_BUILDABLE
build: $(mo_files)
else
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 ../../../source/conf.py

init: gettext
	for pot in *.pot; do								\
	  edit_po=`basename $${pot} | sed -e 's,pot$$,edit,g'`;				\
	  test "$(FORCE_INIT)" = "yes" -o ! -f $${edit_po} &&				\
	    msginit --input=$${pot} --output-file=$${edit_po} --locale=$(LOCALE);	\
	  :;										\
	done

edit:
	for pot in *.pot; do								\
	  edit_po=`basename $${pot} | sed -e 's,pot$$,edit,g'`;				\
	  po=`basename $${pot} | sed -e 's,pot$$,po,g'`;				\
	  test ! -f $${edit_po} && test -f $${po} &&					\
	    msgmerge --quiet --sort-by-file --output-file=$${edit_po} $${po} $${pot};	\
	  test ! -f $${edit_po} && test ! -f $${po} &&					\
	    msginit --input=$${pot} --output-file=$${edit_po} --locale=$(LOCALE);	\
	  :;										\
	done

reinit:
	$(MAKE) FORCE_INIT=yes init

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

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