5ed8add969
Put the man-po pot file under version control like its po/*.pot sibling. Makefile now auto-matically generates the list of man pages as they are in a single directory. There were some missing! pot file target is dependent on the untranslated man pages When downloading from translation project, run po4a to sync the new po files correctly. Downloaded man po files from translation project and synched. Thanks to @gorean for the info References: procps-ng/procps#258 Signed-off-by: Craig Small <csmall@dropbear.xyz>
104 lines
2.9 KiB
Makefile
104 lines
2.9 KiB
Makefile
|
|
# *.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" \
|
|
man_MANS="" \
|
|
src_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" \
|
|
man_MANS="" \
|
|
src_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
|