docs
[pspp] / po / automake.mk
index cfb186ab8c2cb5cd97eb2056582eeb143107a6e4..5d207682c3d3fe8079c5ebc179eb816917ae8e17 100644 (file)
@@ -1,19 +1,19 @@
 # PSPP - a program for statistical analysis.
-# Copyright (C) 2017 Free Software Foundation, Inc.
-# 
+# Copyright (C) 2017, 2020, 2021 Free Software Foundation, Inc.
+#
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation, either version 3 of the License, or
 # (at your option) any later version.
-# 
+#
 # This program is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
-# 
+#
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
-# 
+#
 include $(top_srcdir)/po/Makevars
 
 XGETTEXT=xgettext
@@ -39,7 +39,7 @@ POFILES = \
        po/uk.po \
        po/zh_CN.po
 
-LOCALPOFILES = po/cs.po po/en_GB.po
+LOCALPOFILES = po/cs.po
 
 POTFILE=po/$(DOMAIN).pot
 
@@ -51,24 +51,31 @@ XGETTEXT_OPTIONS = \
        --package-version=$(VERSION) \
        --msgid-bugs-address=$(MSGID_BUGS_ADDRESS) \
         --from-code=UTF-8 \
-       --add-comments='TRANSLATORS:'
+       --add-comments='TRANSLATORS:' \
+       --directory=$(top_srcdir)
 
-$(POTFILE): $(TRANSLATABLE_FILES) $(UI_FILES) src/ui/gui/gen-dot-desktop.sh
-       @$(MKDIR_P) po
-       $(AM_V_GEN)$(XGETTEXT) --directory=$(top_srcdir) $(XGETTEXT_OPTIONS)    $(TRANSLATABLE_FILES) --language=C --keyword=_ --keyword=N_ -o $@,tmp
-       $(AM_V_at)$(XGETTEXT) --directory=$(top_srcdir) $(XGETTEXT_OPTIONS) -j $(UI_FILES) --language=glade -o $@,tmp
-       $(AM_V_at)$(XGETTEXT) --directory=$(top_srcdir) $(XGETTEXT_OPTIONS) -j src/ui/gui/gen-dot-desktop.sh --language=shell --keyword=TRANSLATE -o $@,tmp
-       $(AM_V_at)$(SED) -e '/^"POT-Creation-Date: .*/d' $@,tmp > $@
+ALL_TRANSLATABLE_FILES = \
+       $(TRANSLATABLE_FILES) \
+       $(UI_FILES) \
+       doc/org.fsf.pspp.metainfo.xml.in \
+       doc/org.fsf.pspp.desktop.in
 
-$(LOCALPOFILED) $(POFILES): $(POTFILE)
-       $(AM_V_GEN)$(MSGMERGE) --quiet $(top_srcdir)/$@ $? -o $@,tmp
+$(POTFILE): $(ALL_TRANSLATABLE_FILES) Makefile
+       @$(MKDIR_P) po
+       $(AM_V_GEN)$(XGETTEXT) $(XGETTEXT_OPTIONS) $(TRANSLATABLE_FILES) --language=C --keyword=_ --keyword=N_ -o $@,tmp
+       $(AM_V_at)test -z "$(UI_FILES)" || $(XGETTEXT) $(XGETTEXT_OPTIONS) -j $(UI_FILES) --language=Glade -o $@,tmp
+       $(AM_V_at)$(XGETTEXT) $(XGETTEXT_OPTIONS) -j doc/org.fsf.pspp.metainfo.xml.in -o $@,tmp
+       $(AM_V_at)$(XGETTEXT) $(XGETTEXT_OPTIONS) -j doc/org.fsf.pspp.desktop.in -o $@,tmp
+       $(AM_V_at)mv $@,tmp $@
+
+$(LOCALPOFILES) $(POFILES): $(POTFILE)
+       $(AM_V_GEN)$(MSGMERGE) --previous --quiet $(top_srcdir)/$@ $? -o $@,tmp
        $(AM_V_at)if test -e $(top_srcdir)/$@,aux ; then \
-                touch $@,tmp ; \
-                msgcat --use-first $(top_srcdir)/$@,aux $@,tmp -o $@,tmp; \
+               touch $@,tmp ; \
+               msgcat --use-first $(top_srcdir)/$@,aux $@,tmp -o $@,tmp; \
        fi ;
-       $(AM_V_at)$(SED) -e '/^"POT-Creation-Date: /d' $@,tmp > $@,tmp2
-       $(RM) $@,tmp
-       mv $@,tmp2 $@
+       $(MSGFMT) -c $@,tmp -o - > /dev/null
+       mv $@,tmp $@
 
 SUFFIXES += .po .gmo
 .po.gmo:
@@ -87,17 +94,19 @@ install-data-hook: $(GMOFILES)
          $(INSTALL_DATA) $$f $(DESTDIR)$(prefix)/share/locale/$$lang/LC_MESSAGES/$(DOMAIN).mo ; \
        done
 
-uninstall-hook:
+uninstall-hook: uninstall-gmofiles
+uninstall-gmofiles:
        for f in $(GMOFILES); do \
          lang=`echo $$f | $(SED) -e 's%po/\(.*\)\.gmo%\1%' ` ; \
          rm -f $(DESTDIR)$(prefix)/share/locale/$$lang/LC_MESSAGES/$(DOMAIN).mo ; \
        done
-
+.PHONY: uninstall-gmofiles
 
 EXTRA_DIST += \
        $(LOCALPOFILES) \
        $(POFILES) \
        $(POTFILE) \
+       po/LINGUAS \
        po/ChangeLog \
        po/cs.po,aux
 
@@ -112,6 +121,17 @@ po_CLEAN:
        fi
 CLEAN_LOCAL += po_CLEAN
 
-RSYNC = rsync
+# Download the po files from http://translationproject.org
+# The final action to this rule is to remove the .pot file.  This
+# is because the po files must be re-merged against an updated version of it.
+#
+# You can update just one .po file with, e.g.:
+# make po-update POFILES=po/uk.po
+PHONY += po-update
 po-update:
-       $(RSYNC) -Lrtvz translationproject.org::tp/latest/pspp/ $(srcdir)/po
+       for p in $(POFILES); do \
+               wget --no-use-server-timestamps -O $$p,tmp \
+               https://translationproject.org/latest/pspp/`basename $$p` ; \
+               mv $$p,tmp ${top_srcdir}/$$p; \
+       done
+       $(RM) $(POTFILE)