Makefile.am: Add check-po rule.

* Makefile.am (make-check-po-rule): New definition.
Add top-level 'eval' and calls to 'make-check-po-rule' to generate
'check-po.DOMAIN' rules.
(check-po): New rule.
This commit is contained in:
Julien Lepiller 2021-01-22 21:24:23 +01:00
parent c891e7c828
commit b91165460e
No known key found for this signature in database
GPG key ID: 53D457B2D636EE82

View file

@ -1003,14 +1003,49 @@ download-po.$(1):
endef
# Checking po files for issues. This is useful to run after downloading new
# po files.
# make-check-po-rule DOMAIN DIRECTORY [FILE-NAME-PREFIX]
define make-check-po-rule
check-po.$(1):
if [ -f "$(top_srcdir)/$(2)/LINGUAS" ]; then \
LINGUAS="`grep -v '^[[:blank:]]*#' < $(top_srcdir)/$(2)/LINGUAS`" ; \
else \
LINGUAS="`(cd $(top_srcdir)/$(2); \
for i in *.po; do echo $$$$i; done) | cut -d . -f 2`" ; \
fi ; \
for lang in $$$$LINGUAS; do \
if [ -f "$(top_srcdir)/$(2)/$(3)$$$$lang.po" ]; \
then \
if ! msgfmt -c "$(top_srcdir)/$(2)/$(3)$$$$lang.po" ; \
then \
exit 1 ; \
fi ; \
fi ; \
done
.PHONY: check-po.$(1)
endef
$(eval $(call make-download-po-rule,documentation-cookbook,po/doc,guix-cookbook.))
$(eval $(call make-download-po-rule,documentation-manual,po/doc,guix-manual.))
$(eval $(call make-download-po-rule,guix,po/guix))
$(eval $(call make-download-po-rule,packages,po/packages))
$(eval $(call make-check-po-rule,documentation-cookbook,po/doc,guix-cookbook.))
$(eval $(call make-check-po-rule,documentation-manual,po/doc,guix-manual.))
$(eval $(call make-check-po-rule,guix,po/guix))
$(eval $(call make-check-po-rule,packages,po/packages))
download-po: $(foreach domain,guix packages documentation-manual documentation-cookbook,download-po.$(domain))
.PHONY: download-po
check-po: $(foreach domain,guix packages documentation-manual documentation-cookbook,check-po.$(domain))
.PHONY: check-po
## -------------- ##
## Silent rules. ##
## -------------- ##