Makefile.common revision 1.2 1 # $NetBSD: Makefile.common,v 1.2 2020/03/23 13:56:12 kim Exp $
2
3 all: ${LOCALES:S/$/.out/g}
4 realall: ${LOCALES:S/$/.out/g}
5
6 FILES= ${LOCALES:S/$/.out/g}
7 CLEANFILES+= ${LOCALES:S/$/.out/g}
8
9 .SUFFIXES: .src .out
10 .src.out:
11 ${_MKTARGET_CREATE}
12 ${TOOL_MKLOCALE} -t ${CATEGORY} -o ${.TARGET} < ${.IMPSRC}
13
14 .PATH: ${.CURDIR}/converted
15
16 .for locale in ${LOCALES}
17 ${locale}.out: ${locale}.src
18 .endfor
19
20 .PHONY: update-converted
21
22 update-converted:
23 @mkdir -p ${.CURDIR}/converted
24 .for locale in ${LOCALES:O}
25 . for charset in ${locale:C/([^\.]*)\.([^\.]*)/\2/}
26 . for locale_name in ${locale:C/([^\.]*)\.([^\.]*)/\1/}
27 . if ${locale} == "ja_JP.ct"
28 @echo Generating character set ${charset} of ${locale_name}...
29 @rm -f ${.CURDIR}/converted/${locale}.src
30 @iconv -f UTF-8 -t eucJP < ${.CURDIR}/${locale_name}.UTF-8.src \
31 | iconv -f eucJP -t ctext > ${.CURDIR}/converted/${locale}.src.tmp; \
32 sed "s,\(Character set:\) UTF-8,\1 COMPOUND_TEXT," \
33 < ${.CURDIR}/converted/${locale}.src.tmp \
34 > ${.CURDIR}/converted/${locale}.src; \
35 rm ${.CURDIR}/converted/${locale}.src.tmp
36 . elif !exists(${.CURDIR}/${locale}.src)
37 @echo Generating character set ${charset} of ${locale_name}...
38 @rm -f ${.CURDIR}/converted/${locale}.src
39 @set -e; cat < ${.CURDIR}/${locale_name}.UTF-8.src \
40 | (case ${locale} in fi_FI.ISO8859-1) sed 's,,e,g';; *) cat ;; esac) \
41 | (case ${charset} in ISO8859-[125]) sed 's,,EUR,g';; *) cat ;; esac) \
42 | (case ${charset} in ISO8859-9) sed 's,,L,g';; *) cat ;; esac) \
43 | (case ${charset} in ISO8859*) sed 's,,-,g';; *) cat ;; esac) \
44 | (case ${charset} in ISO8859*) sed 's,,-,g';; *) cat ;; esac) \
45 | (case ${charset} in ISO8859-1) sed 's,,,g';; *) cat ;; esac) \
46 | (case ${charset} in ISO8859-15) sed 's,,'\'',g';; *) cat ;; esac) \
47 | (case ${charset} in KOI8-U|CP1251|ISO8859-5) sed 's,,'\'',g';; *) cat ;; esac) \
48 | (case ${charset} in ISO8859-2) sed 's,,,g';; *) cat ;; esac) \
49 | (case ${charset} in ISO8859-5|KOI8-U|CP1251) sed 's,,.,g';; *) cat ;; esac) \
50 | iconv -f UTF-8 -t ${charset} \
51 > ${.CURDIR}/converted/${locale}.src.tmp; \
52 sed "s,\(Character set:\) UTF-8,\1 ${charset}," \
53 < ${.CURDIR}/converted/${locale}.src.tmp \
54 > ${.CURDIR}/converted/${locale}.src; \
55 rm ${.CURDIR}/converted/${locale}.src.tmp
56 . endif
57 . endfor
58 . endfor
59 .endfor
60
61 .include <bsd.prog.mk>
62