work on PRINT encoding
[pspp] / po / automake.mk
index d1d26aee6cef229e38d32f7a4e6bd05edc1b69e5..557206c429fc3efb3face3b3a362cb4064e4b2a9 100644 (file)
@@ -4,27 +4,47 @@ XGETTEXT=xgettext
 MSGMERGE=msgmerge
 MSGFMT=msgfmt
 
-POFILES=po/en_GB.po po/nl.po
+POFILES = \
+       po/ca.po \
+       po/cs.po \
+       po/de.po \
+       po/en_GB.po \
+       po/es.po \
+       po/fr.po \
+       po/lt.po \
+       po/nl.po \
+       po/sl.po \
+       po/pt_BR.po
 
 POTFILE=po/$(DOMAIN).pot
 
 TRANSLATABLE_FILES = $(DIST_SOURCES) $(all_q_sources)
 
-$(POTFILE): $(TRANSLATABLE_FILES)
-       @$(MKDIR_P) po
-       $(XGETTEXT) --directory=$(top_srcdir) $(TRANSLATABLE_FILES) \
-       $(XGETTEXT_OPTIONS) \
+XGETTEXT_OPTIONS = \
        --copyright-holder="$(COPYRIGHT_HOLDER)" \
        --package-name=$(PACKAGE) \
        --package-version=$(VERSION) \
        --msgid-bugs-address=$(MSGID_BUGS_ADDRESS) \
-       --add-comments='TRANSLATORS:' \
-       -o $(POTFILE)
+        --from-code=UTF-8 \
+       --add-comments='TRANSLATORS:'
+
+$(POTFILE): $(TRANSLATABLE_FILES) $(UI_FILES) src/ui/gui/gen-dot-desktop.sh
+       @$(MKDIR_P) po
+       $(XGETTEXT) --directory=$(top_srcdir) $(XGETTEXT_OPTIONS)    $(TRANSLATABLE_FILES) --language=C --keyword=_ --keyword=N_ -o $@
+       $(XGETTEXT) --directory=$(top_srcdir) $(XGETTEXT_OPTIONS) -j $(UI_FILES) --language=glade -o $@
+       $(XGETTEXT) --directory=$(top_srcdir) $(XGETTEXT_OPTIONS) -j src/ui/gui/gen-dot-desktop.sh --language=shell --keyword=TRANSLATE -o $@
 
 
 $(POFILES): $(POTFILE)
-       $(MSGMERGE) $(top_srcdir)/$* $< -o $@
+       $(MSGMERGE) $(top_srcdir)/$@ $? -o $@
+       if test -e $(top_srcdir)/$@,aux ; then \
+                touch $@ ; \
+                msgcat --use-first $(top_srcdir)/$@,aux $@ -o $@; \
+       fi ;
+
+
 
+SUFFIXES += .po .gmo
 .po.gmo:
        @$(MKDIR_P) `dirname $@`
        $(MSGFMT) $< -o $@
@@ -32,23 +52,31 @@ $(POFILES): $(POTFILE)
 
 GMOFILES = $(POFILES:.po=.gmo)
 
-all-hook: $(GMOFILES)
+ALL_LOCAL += $(GMOFILES)
 
 install-data-hook: $(GMOFILES)
        for f in $(GMOFILES); do \
          lang=`echo $$f | sed -e 's%po/\(.*\)\.gmo%\1%' ` ; \
-         $(INSTALL) -D $$f $(DESTDIR)$(prefix)/share/locale/$$lang/LC_MESSAGES/$(DOMAIN).mo ; \
+         $(MKDIR_P) $(DESTDIR)$(prefix)/share/locale/$$lang/LC_MESSAGES; \
+         $(INSTALL_DATA) $$f $(DESTDIR)$(prefix)/share/locale/$$lang/LC_MESSAGES/$(DOMAIN).mo ; \
        done
-       
 
 uninstall-hook:
        for f in $(GMOFILES); do \
          lang=`echo $$f | sed -e 's%po/\(.*\)\.gmo%\1%' ` ; \
-         $(RM) $(DESTDIR)$(prefix)/share/locale/$$lang/LC_MESSAGES/$(DOMAIN).mo ; \
+         rm -f $(DESTDIR)$(prefix)/share/locale/$$lang/LC_MESSAGES/$(DOMAIN).mo ; \
        done
 
 
 EXTRA_DIST += $(POFILES) $(POTFILE)
 
-CLEANFILES += $(POFILES) $(GMOFILES) $(POTFILE)
+CLEANFILES += $(GMOFILES) $(POTFILE)
 
+# Clean $(POFILES) from build directory but not if that's the same as
+# the source directory.
+po_CLEAN:
+       @if test "$(srcdir)" != .; then \
+               echo rm -f $(POFILES); \
+               rm -f $(POFILES); \
+       fi
+CLEAN_LOCAL += po_CLEAN