summaryrefslogtreecommitdiff
path: root/src/lib/Makefile
blob: 4ed5e4fe9462840e6dc0b867bb3a349d2fc8a5f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
copy_files = common.sh.in
libexecs = $(filter-out librelib,$(wildcard libre*))
# include common.sh in libs explicitly, because it might not exist yet
# when the wildcard is performed
libs = $(sort $(wildcard *.sh) common.sh)

pots = $(libs)
include ../../common.mk

# Build ##############################################################

common.sh: %: %.in %.top Makefile
	@echo "GEN $@"
	@{ \
	cat '$*.top' && \
	echo && \
	sed -r \
		-e '/encoding problem/d;/LANG=/d' \
		-e 's/mesg=\$$(.)/mesg="$$(_ "$$\1")"/' \
		-e 's/gettext /_l _ /g' \
		-e "s/^(\s+)(msg|error) '/\1_l \2 '/" \
		-e 's|lock\(\)\s*\{|lock()\n{|' \
		'$*.in' && \
	echo && \
	cat '$*.bottom' && \
	:; } > '$@'

# Translate ##########################################################

libreblacklist.pot: libreblacklist
	{ \
		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) > $@