xref: /netbsd-src/share/locale/Makefile.common (revision 4b004442778f1201b2161e87fd65ba87aae6601a)
1# $NetBSD: Makefile.common,v 1.2 2020/03/23 13:56:12 kim Exp $
2
3all:		${LOCALES:S/$/.out/g}
4realall:	${LOCALES:S/$/.out/g}
5
6FILES=		${LOCALES:S/$/.out/g}
7CLEANFILES+=	${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
22update-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