summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common.mk24
-rw-r--r--src/chroot-tools/Makefile3
-rw-r--r--src/lib/Makefile11
3 files changed, 16 insertions, 22 deletions
diff --git a/common.mk b/common.mk
index 68b5d56..33beed6 100644
--- a/common.mk
+++ b/common.mk
@@ -14,22 +14,16 @@ edit = sed -e 's|m4_include(lib/\(.*\))|. $$(librelib \1)|'
# Normalize a .po(t) file
pofmt = msguniq -Fi
+xgettext-keywords-sh += --keyword={_,print}
+xgettext-keywords-sh += --keyword={msg,msg2,warning,error,stat_busy,die}
+xgettext-keywords-sh += --keyword={lock,slock}:3
+
+xgettext-sh = xgettext --omit-header --from-code=UTF-8 -L shell -o -
+xgettext-sh-std = $(xgettext-sh) $(xgettext-keywords-sh) $^
+
pot-remove-wrap = tr '\n' '\r' | sed 's/"\r\s*"//g' | tr '\r' '\n'
html-whitespace-collapse = sed -r -e 's/(\\n|\\t|\t)/ /g' -e 's/ +/ /g'
-define xgettext-prose =
- xgettext --omit-header --from-code=UTF-8 -L shell \
- -k \
- --keyword={prose,bullet,flag:2} \
- -o - $^ | $(pot-remove-wrap) | $(html-whitespace-collapse) | sed '/^#, sh-format/d'
-endef
-define xgettext-main =
- xgettext --omit-header --from-code=UTF-8 -L shell \
- -k \
- --keyword={_,print} \
- --keyword={msg,msg2,warning,error,stat_busy} \
- --keyword={lock,slock}:3 \
- -o - $^
-endef
+xgettext-sh-prose = $(xgettext-sh) -k --keyword={prose,bullet,flag:2} $^ | $(pot-remove-wrap) | $(html-whitespace-collapse) | sed '/^\#, sh-format/d'
# Usage: as a variable
# relative path to `/` from $(bindir)
@@ -88,7 +82,7 @@ build: PHONY $(build_files)
@chmod 755 "$@" || { rm -f -- '$@'; false; }
%.pot: %
- { $(xgettext-main); $(xgettext-prose); } | $(pofmt) > '$@'
+ { $(xgettext-sh-std); $(xgettext-sh-prose); } | $(pofmt) > '$@'
# Install ######################################################################
diff --git a/src/chroot-tools/Makefile b/src/chroot-tools/Makefile
index 0540636..db1cdf5 100644
--- a/src/chroot-tools/Makefile
+++ b/src/chroot-tools/Makefile
@@ -40,5 +40,4 @@ archroot: %: %.in Makefile
@$(edit) <"$<" >"$@" || { rm -f -- '$@'; false; }
@chmod 755 "$@" || { rm -f -- '$@'; false; }
-distcc-tool.pot: distcc-tool
- xgettext --omit-header -i --from-code=UTF-8 -L shell --keyword={error,errusage} -o $@ $<
+distcc-tool.pot: xgettext-keywords-sh+=--keyword=errusage
diff --git a/src/lib/Makefile b/src/lib/Makefile
index 45fd330..fd6d31d 100644
--- a/src/lib/Makefile
+++ b/src/lib/Makefile
@@ -23,8 +23,9 @@ pot: libreblacklist.pot common.sh.pot librelib.pot
libreblacklist.pot: libreblacklist
{ \
- sed -n '/^# Usage:/,/()/{ /^#/ { =; p; } }' $< | sed -r -e 's/^# (.*)/msgid "\1"/' -e 's/^[0-9]*$$/#. embedded usage text\n#: $<:&/'; \
- sed -rn '/print /{ =; s/\s*print "([^"]*)".*/msgid "\1"/p; }' $< | sed 's/^[0-9]*$$/#. print\n#: $<:&/' ; \
- } | sed 's/^msgid .*/&\nmsgstr ""\n/' > $@
-common.sh.pot: common.sh
- xgettext --omit-header -i --from-code=UTF-8 -L shell -o $@ $<
+ sed -n '/^# Usage:/,/()/{ /^#/ { =; p; } }' $< | \
+ sed -r -e 's/^# (.*)/msgid "\1"\nmsgstr ""\n/' \
+ -e 's/^[0-9]*$$/#. embedded usage text\n#: $<:&/'; \
+ $(xgettext-sh-prose); \
+ $(xgettext-sh-std); \
+ } | $(pofmt) > $@