changeset 420:53cfc5af7fd7

Add the possibility to update only one translation file using, for example: make update-po PO=fr autogen.sh applies a patch made against glib-gettextize generated Makefile.in.in
author zas_
date Sat, 19 Apr 2008 12:46:59 +0000
parents ce5316d2e2d0
children b8e663fab11f
files autogen.sh po/Makefile.in.in.patch
diffstat 2 files changed, 37 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/autogen.sh	Sat Apr 19 11:11:53 2008 +0000
+++ b/autogen.sh	Sat Apr 19 12:46:59 2008 +0000
@@ -85,6 +85,9 @@
 	  test -r $dr/aclocal.m4 || touch $dr/aclocal.m4
 	  echo "Running glib-gettextize..."
 	  echo "no" | glib-gettextize --force --copy
+	  if [ -r po/Makefile.in.in.patch ]; then
+		patch po/Makefile.in.in < po/Makefile.in.in.patch
+	  fi
 	  echo "Making $dr/aclocal.m4 writable ..."
 	  test -r $dr/aclocal.m4 && chmod u+w $dr/aclocal.m4
         fi
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/po/Makefile.in.in.patch	Sat Apr 19 12:46:59 2008 +0000
@@ -0,0 +1,34 @@
+--- Makefile.in.in	2008-04-19 14:36:53.000000000 +0200
++++ Makefile.in.in.new	2008-04-19 14:39:19.000000000 +0200
+@@ -216,7 +216,30 @@
+ 	    || cp -p $(srcdir)/$$file $(distdir); \
+ 	done
+ 
+-update-po: Makefile
++### Updating po and gmo files
++#
++# Update by merging all .po files with the .po template master file.
++#
++# It is possible to update only a single .po file by setting the PO variable to
++# either <lang> or <lang>.po when calling make. Example: make update-po PO=is
++
++update-po: Makefile $(GETTEXT_PACKAGE).pot
++	@cd $(srcdir); \
++	$(foreach lang,$(basename $(if $(strip $(PO)),$(PO),$(CATALOGS))), \
++	  echo -n "$(lang): "; \
++	  if $(MSGMERGE) $(lang).po $(GETTEXT_PACKAGE).pot -o $(lang).new.po; then \
++	    mv -f $(lang).new.po $(lang).po; \
++	  else \
++	    echo "msgmerge failed!"; \
++	    rm -f $(lang).new.po; \
++	  fi; \
++	)
++	$(MAKE) update-gmo
++
++update-gmo: Makefile $(CATALOGS)
++	@:
++
++update-po-orig: Makefile
+ 	$(MAKE) $(GETTEXT_PACKAGE).pot
+ 	tmpdir=`pwd`; \
+ 	cd $(srcdir); \