#
# Makefile for the PO files (translation) catalog
#
# $Id: Makefile,v 1.14 2005/10/21 08:57:13 nphilipp Exp $

TOP	 = ../..

# What is this package?
NLSPACKAGE	= system-config-date
POTFILE		= $(NLSPACKAGE).pot
INSTALL		= /usr/bin/install -c
INSTALL_DATA	= $(INSTALL) -m 644
INSTALL_DIR	= /usr/bin/install -d

# destination directory
INSTALL_NLS_DIR = $(DESTDIR)/usr/share/locale

# PO catalog handling
MSGMERGE	= msgmerge -v
XGETTEXT	= xgettext --default-domain=$(NLSPACKAGE) \
		  --add-comments		  
MSGFMT		= msgfmt --statistics --verbose

# What do we need to do
# Languages to be skipped (e.g. missing translation but existing file)
SKIP_LANGUAGES	= he ku mr si ur
POFILES		= $(shell for i in *.po; do skip=0; for j in $(SKIP_LANGUAGES); do if [ "$$i" = "$${j}.po" ]; then skip=1; break; fi; done; if [ "$$skip" = "0" ]; then echo $$i; fi; done)
MOFILES		= $(patsubst %.po,%.mo,$(POFILES))
PYSRC		= $(wildcard ../src/*.py)
GLADESRC	= $(wildcard ../src/*.glade)
CSRC		= ../system-config-date.desktop.in.h
SRCFILES	= $(PYSRC) $(GLADESRC) $(CSRC)

all::  update-po $(MOFILES)

$(POTFILE): $(SRCFILES)
	$(XGETTEXT) --omit-header    --keyword --keyword=_ --keyword=N_ --language=python $(PYSRC)
	$(XGETTEXT) --omit-header -j --keyword --keyword=_ --keyword=N_ --language=Glade $(GLADESRC)
	$(XGETTEXT)               -j --keyword --keyword=_ --keyword=N_ --language=C $(CSRC)
	@if cmp -s $(NLSPACKAGE).po $(POTFILE); then \
	    rm -f $(NLSPACKAGE).po; \
	else \
	    mv -f $(NLSPACKAGE).po $(POTFILE); \
	fi; \

update-po: Makefile $(POTFILE) refresh-po

refresh-po: Makefile
	for cat in $(POFILES); do \
		lang=`basename $$cat .po`; \
		if $(MSGMERGE) $$lang.po $(POTFILE) > $$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

clean:
	@rm -fv *mo *~ .depend

install: $(MOFILES)
	@for n in $(MOFILES); do \
	    l=`basename $$n .mo`; \
	    $(INSTALL_DIR) $(INSTALL_NLS_DIR)/$$l/LC_MESSAGES; \
	    $(INSTALL_DATA) --verbose $$n $(INSTALL_NLS_DIR)/$$l/LC_MESSAGES/$(NLSPACKAGE).mo; \
	done

%.mo: %.po
	$(MSGFMT) -o $@ $<
	if [ -f "timezones/$<" ]; then \
		msgcat --use-first $< timezones/$< ; \
	else \
		msgcat $<; \
	fi | msgfmt --check -o $@ -


.PHONY: missing depend

