
# source directory for master (english) content
srcdir = .

# variables roughly based on gettextize Makefile format
DOMAIN        =  help-screens
POFILES       = $(shell ls *.po)
I18N_LANGS    = $(patsubst %.po,%,$(POFILES))
LANGS         = C $(I18N_LANGS)
XMLFILES      = $(addprefix $(DOMAIN)-, $(addsuffix .xml, $(I18N_LANGS)))
POTFILES      = $(DOMAIN)-C.pot
UPDATEPOFILES = $(POFILES)
UPDATEXMLFILES = $(XMLFILES)

# package variables
ANACONDADATADIR = /usr/share/anaconda
LANGHTML=$(patsubst %,%-html,$(LANGS))

all: html

%-html: help-screens-%.xml
	rm -f $*/*.html;
	xmlto --skip-validation -o $* html -m onlinehelp.xsl help-screens-$*.xml

html: $(LANGHTML)

install:
	for I in $(LANGS); do \
	    rm -f $$I/book.*; \
	done

	mkdir -p $(DESTDIR)/$(ANACONDADATADIR)/help
	for I in $(LANGS); do \
            mkdir -p $(DESTDIR)/$(ANACONDADATADIR)/help/$$I; \
	    install $$I/*.html $(DESTDIR)/$(ANACONDADATADIR)/help/$$I; \
        done

depend:

###############################################################################
# i18n section - Paul Gampe <pgampe@redhat.com>
###############################################################################

# tools
MSGMERGE_UPDATE = msgmerge --update
PO2XML		= po2xml
XML2POT		= xml2pot
MSGUNIQ		= msguniq -u

ENTITY2POT	= ./entity2pot.pl
PO2ENTITY	= ./po2entity.pl

# conversion targets
%.pot:	%.xml
	$(XML2POT) $*.xml > $*.pot
	$(ENTITY2POT) $*.xml >> $*.pot
	$(MSGUNIQ) $*.pot > $*.pot.uniq && mv $*.pot.uniq $*.pot

help-screens-%.xml:	%.po
	@lang=`echo $@ | sed -e 's/help-screens-//' -e 's/\.xml$$//'`; \
	echo "$(PO2XML) $(DOMAIN)-C.xml $${lang}.po > $(DOMAIN)-$${lang}.xml"; \
	echo "$(PO2ENTITY) $(DOMAIN)-$${lang}-tmp.xml $${lang}.po > $(DOMAIN)-$${lang}.xml"; \
	$(PO2XML) $(DOMAIN)-C.xml $${lang}.po > $(DOMAIN)-$${lang}-tmp.xml; \
	$(PO2ENTITY) $(DOMAIN)-$${lang}-tmp.xml $${lang}.po > $(DOMAIN)-$${lang}.xml; \
	rm -f $(DOMAIN)-$${lang}-tmp.xml

$(POFILES): $(POTFILES)
	@lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
	test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
	if test -f $${lang}.po; then \
		echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(POTFILES)"; \
		cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(POTFILES) ; \
	else \
		msginit -i $(POTFILES) -o $${lang}.po --no-translator -l $${lang}; \
	fi

# user facing targets
update-po:
	$(MAKE) $(POTFILES)
	$(MAKE) $(UPDATEPOFILES)

update-xml: $(POFILES)
	$(MAKE) $(UPDATEXMLFILES)

clean:
	rm -f $(XMLFILES) *~
