diff options
author | Julien Lepiller <julien@lepiller.eu> | 2021-01-22 21:24:23 +0100 |
---|---|---|
committer | Julien Lepiller <julien@lepiller.eu> | 2021-01-28 16:41:16 +0100 |
commit | b91165460e71f427c30f22ace02a5d775ecea23d (patch) | |
tree | 7c6e49e0208553040cd2fbd1288ef53c5a2409f3 | |
parent | c891e7c828d21530f110c04dabe70515447c7d67 (diff) | |
download | guix-b91165460e71f427c30f22ace02a5d775ecea23d.tar.gz |
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.
-rw-r--r-- | Makefile.am | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am index d479032f83..ee05d79ca0 100644 --- a/Makefile.am +++ b/Makefile.am @@ -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. ## ## -------------- ## |