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