79949b18ef
I'm not sure why this is needed, but if the dist_man_MANS variable is not copied from the top-level Makefile down to the man-po one then make dist from a clean archive will not work. I'm sure someone with better automake magic than me can make this more elegant but for now it works if a little ugly. References: https://www.freelists.org/post/procps/important-newlib-patches,8
111 lines
3.0 KiB
Makefile
111 lines
3.0 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 man-po/man.stamp
|
|
# make -C man-po man.stamp
|
|
# To update man page translations
|
|
|
|
# Not sure why this needs to be repeated from the top-level Makefile but it does
|
|
dist_man_MANS = \
|
|
../free.1 \
|
|
../pgrep.1 \
|
|
../pkill.1 \
|
|
../pmap.1 \
|
|
../uptime.1 \
|
|
../vmstat.8 \
|
|
../doc/procps.3 \
|
|
../doc/procps_pids.3 \
|
|
../doc/procps_misc.3
|
|
|
|
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:
|
|
# parafiles = $(patsubst %,-m%,$(subst :, ,$(dist_man_MANS)))
|
|
# parafiles = $(dist_man_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 :, ,$(dist_man_MANS))) -p $@
|
|
|
|
|
|
install-data-local:
|
|
for lang in $(LINGUAS) ; do \
|
|
files=""; \
|
|
for trans in $(notdir $(dist_man_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="" \
|
|
dist_man_MANS="$$files"; \
|
|
done
|
|
|
|
uninstall-local:
|
|
for lang in $(LINGUAS); do \
|
|
files=""; \
|
|
for trans in $(notdir $(dist_man_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="" \
|
|
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
|