build: Correct a mistake in the guix-manual.pot rule.
[jackhill/guix/guix.git] / po / doc / local.mk
1 # GNU Guix --- Functional package management for GNU
2 # Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
3 # Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
4 #
5 # This file is part of GNU Guix.
6 #
7 # GNU Guix is free software; you can redistribute it and/or modify it
8 # under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 3 of the License, or (at
10 # your option) any later version.
11 #
12 # GNU Guix is distributed in the hope that it will be useful, but
13 # WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
16 #
17 # You should have received a copy of the GNU General Public License
18 # along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19
20 DOC_PO_FILES = \
21 %D%/guix-manual.es.po \
22 %D%/guix-manual.de.po \
23 %D%/guix-manual.fa.po \
24 %D%/guix-manual.fr.po \
25 %D%/guix-manual.it.po \
26 %D%/guix-manual.ko.po \
27 %D%/guix-manual.pt_BR.po \
28 %D%/guix-manual.ru.po \
29 %D%/guix-manual.sk.po \
30 %D%/guix-manual.zh_CN.po
31
32 DOC_COOKBOOK_PO_FILES = \
33 %D%/guix-cookbook.de.po \
34 %D%/guix-cookbook.fa.po \
35 %D%/guix-cookbook.fr.po \
36 %D%/guix-cookbook.ko.po \
37 %D%/guix-cookbook.zh_Hans.po
38
39 EXTRA_DIST = \
40 %D%/guix-manual.pot \
41 %D%/guix-cookbook.pot \
42 $(DOC_PO_FILES) \
43 $(DOC_COOKBOOK_PO_FILES)
44
45 POT_OPTIONS = \
46 --package-name "guix manual" --package-version "$(VERSION)" \
47 --copyright-holder "the authors of Guix (msgids)" \
48 --msgid-bugs-address "bug-guix@gnu.org"
49
50 # make-update-po-files-rule PO_FILES POT_FILE_INPUT
51 define make-update-po-files-rule
52 $(1): $(2)
53 @if ! [ -f "$$@" ]; then \
54 echo "File $$po_file does not exist. If you are a translator, \
55 you can create it with 'msginit'." 1>&2; \
56 exit 1; \
57 fi && \
58 lang=$$$$(echo $$@ | $(SED) -E 's|.*\.([^.]*)\.po$$$$|\1|') && \
59 echo $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) \
60 --lang=$$$${lang} "$$@" "$$<" && \
61 $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$$$${lang} "$$@" "$$<"
62 endef
63
64 %D%/%.pot: $(srcdir)/doc/%.texi
65 $(AM_V_PO4A)$(PO4A_UPDATEPO) -M UTF-8 -f texinfo -m "$<" \
66 -p "$@" $(POT_OPTIONS) && \
67 touch $@
68
69 %D%/guix-manual.pot: %D%/guix.pot %D%/contributing.pot
70 msgcat $^ > $@
71
72 $(eval $(call make-update-po-files-rule,$(DOC_PO_FILES),%D%/guix-manual.pot))
73 $(eval $(call make-update-po-files-rule,\
74 $(DOC_COOKBOOK_PO_FILES),%D%/guix-cookbook.pot))
75
76 doc-pot-update: %D%/guix-manual.pot %D%/guix-cookbook.pot
77 doc-po-update: $(DOC_PO_FILES) $(DOC_COOKBOOK_PO_FILES)
78 .PHONY: doc-pot-update doc-po-update