procps/po-man/Makefile.am
Werner Fink 31117ae10e build-sys: Remove duplicate manpages
Fix the building of the man pages instead of installing the same
english ones twice.

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-12-06 22:30:35 +11:00

102 lines
2.8 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" \
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