Home | History | Annotate | Line # | Download | only in locale
      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