summaryrefslogtreecommitdiffstats
path: root/po-man/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'po-man/Makefile.am')
-rw-r--r--po-man/Makefile.am101
1 files changed, 101 insertions, 0 deletions
diff --git a/po-man/Makefile.am b/po-man/Makefile.am
new file mode 100644
index 0000000..cb531af
--- /dev/null
+++ b/po-man/Makefile.am
@@ -0,0 +1,101 @@
+
+# *.po and *.pot are kept in VCS and generated by po4a-dist command
+# translated/* are put in distribution but not found in VCS
+#
+# run:
+# rm po-man/man.stamp
+# make -C po-man man.stamp
+# To update man page translations
+
+src_MANS = $(wildcard $(top_srcdir)/man/*.[1-9])
+
+translated_MANS = $(wildcard translated/*/*.[1-9])
+translated_MAN_sections=$(subst .,,$(sort $(suffix $(translated_MANS))))
+
+translated_langs = $(notdir $(wildcard translated/*))
+
+
+EXTRA_DIST = po4a.cfg \
+ procps-man.pot \
+ $(translated_MANS)
+
+# Extract the list of languages from the po4a config file.
+LINGUAS_DIST = $(shell sed -ne 's/^.*\[po4a_langs\] \(.*\)$$/\1/p' $(srcdir)/po4a.cfg)
+
+# If the user has not defined it let's use the default.
+LINGUAS ?= $(LINGUAS_DIST)
+
+PO4A_V = $(PO4A_V_@AM_V@)
+PO4A_V_ = $(PO4A_V_@AM_DEFAULT_V@)
+PO4A_V_0 = @echo " PO4A $@";
+
+PO4A_OPTS = --srcdir $(srcdir) --destdir $(CURDIR) \
+ --package-name $(PACKAGE) --package-version $(VERSION) \
+ --msgid-bugs-address "Procps list <procps@freelists.org>"
+
+all-local: all-local-@USE_PO4A@
+
+all-local-no:
+all-local-yes: man.stamp
+
+# FIXME: Use a stamp file until po4a supports them internally.
+man.stamp:
+ $(PO4A_V) $(PO4A) $(PO4A_OPTS) $(srcdir)/po4a.cfg
+ $(AM_V_at) touch $@
+
+clean-local: clean-local-@USE_PO4A@
+
+clean-local-no:
+clean-local-yes:
+ rm -rf $(LINGUAS_DIST)
+ $(AM_V_at) rm -f man.stamp
+
+.PHONY: update-po
+
+procps-man.pot: $(src_MANS)
+# parafiles = $(patsubst %,-m%,$(subst :, ,$(src_MANS)))
+# parafiles = $(src_MANS:doc=Ente)
+ po4a-gettextize -M utf8 --option groff_code=verbatim --option generated --option untranslated="a.RE,\|" --option unknown_macros=untranslated -f man $(patsubst %,-m%,$(subst :, ,$(src_MANS))) -p $@
+
+update-po:
+ $(PO4A_V) $(PO4A) $(PO4A_OPTS) --force $(srcdir)/po4a.cfg
+
+
+install-data-local:
+ for lang in $(LINGUAS) ; do \
+ files=""; \
+ for trans in $(notdir $(src_MANS)); do \
+ if [ -f $(CURDIR)/$$lang/$$trans ]; then \
+ files="$$files $(CURDIR)/$$lang/$$trans"; \
+ elif [ -f $(srcdir)/$$lang/$$trans ]; then \
+ files="$$files $(srcdir)/$$lang/$$trans"; \
+ fi; \
+ done; \
+ $(MAKE) -C .. install-man \
+ mandir="$(mandir)/$$lang" \
+ dist_man_MANS="$$files"; \
+ done
+
+uninstall-local:
+ for lang in $(LINGUAS); do \
+ files=""; \
+ for trans in $(notdir $(src_MANS)); do \
+ if [ -f $(CURDIR)/$$lang/$$trans ]; then \
+ files="$$files $(CURDIR)/$$lang/$$trans"; \
+ elif [ -f $(srcdir)/$$lang/$$trans ]; then \
+ files="$$files $(srcdir)/$$lang/$$trans"; \
+ fi; \
+ done; \
+ $(MAKE) -C .. uninstall-man \
+ mandir="$(mandir)/$$lang" \
+ dist_man_MANS="$$files"; \
+ done
+
+dist-hook: man.stamp
+ cp $(srcdir)/man.stamp $(distdir)/
+ for lang in $(LINGUAS_DIST); do \
+ cp $(srcdir)/$$lang.po $(distdir); \
+ cp $(srcdir)/$$lang.add $(distdir); \
+ $(MKDIR_P) $(distdir)/$$lang; \
+ cp -r $(srcdir)/$$lang $(distdir)/; \
+ done