SV_DIR=/home/moa/projects/savane
SV_CONF=/etc/savannah
SV_CONF_INTERACTIVE=yes
SV_BIN=/usr/local/bin
PERL_INC=/usr/local/lib/site_perl
INSTALLNLSDIR=/usr/share/locale
SV_URLROOT=/savannah
SV_DB=mysql
SV_DB_NAME=savannah
SV_DB_CMD=mysql
SV_DB_OPTIONS=
MM_CGI_DIR=
WWW_SERVER_USER=www-data
 
MSGMERGE = msgmerge
XGETTEXT = xgettext

NLSPACKAGE = savane
CATALOGS = $(shell ls *.po)
FMTCATALOGS = $(patsubst %.po,%.mo,$(CATALOGS))
POTFILES_PHP = $(shell find ../frontend/php -iname "*.php" -or -iname "*.class")

all: $(NLSPACKAGE).pot $(FMTCATALOGS)

x$(NLSPACKAGE).pot: $(POTFILES_PHP)

echo:
	echo $(POTFILES_PHP)

potfile: $(POTFILES_PHP)
# -C -k_ : needed for PHP. It means for now that using the same pot
# for both perl and PHP code is not possible.
	$(XGETTEXT) -L PHP -k_ -s  $(POTFILES_PHP) --output $(NLSPACKAGE).po
	if cmp -s $(NLSPACKAGE).po $(NLSPACKAGE).pot; then \
	    rm -f $(NLSPACKAGE).po; \
	else \
	    mv $(NLSPACKAGE).po $(NLSPACKAGE).pot; \
	fi

refresh-po: Makefile
	catalogs='$(CATALOGS)'; \
	for cat in $$catalogs; do \
		lang=`echo $$cat | sed 's/.po//'`; \
		if $(MSGMERGE) $$lang.po $(NLSPACKAGE).pot > $$lang.pot ; then \
			mv -f $$lang.pot $$lang.po ; \
			echo "$(MSGMERGE) of $$lang succeeded" ; \
		else \
			echo "$(MSGMERGE) of $$lang failed" ; \
			rm -f $$lang.pot ; \
		fi \
	done

update-po: $(NLSPACKAGE).pot Makefile refresh-po

report:
	@for cat in $(CATALOGS); do \
		echo -n "$$cat: "; \
		msgfmt -v --statistics -o /dev/null $$cat; \
	done


install: all
	if [ ! -e $(INSTALLNLSDIR) ]; then  mkdir -p $(INSTALLNLSDIR) ; fi
	for n in $(CATALOGS); do \
	    l=`basename $$n .po`; \
	    mo=$$l.mo; \
	    install -m 755 -d $(INSTALLNLSDIR)/$$l; \
	    install -m 755 -d $(INSTALLNLSDIR)/$$l/LC_MESSAGES; \
	    install -m 644 $$mo \
		$(INSTALLNLSDIR)/$$l/LC_MESSAGES/$(NLSPACKAGE).mo; \
	done


uninstall:
	for n in $(CATALOGS); do \
	    l=`basename $$n .po`; \
	    rm -f $(INSTALLNLSDIR)/$$l/LC_MESSAGES/$(NLSPACKAGE).mo; \
	done

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

clean:
	rm -f Makefile *mo *.pyc
	if [ -x /usr/bin/darius-mrclean ]; then /usr/bin/darius-mrclean . ; fi

stats:
	../backend/devel/sv_po_stats.pl --path=`pwd`