1# $FreeBSD$ 2# See https://wiki.freebsd.org/LocaleNewApproach 3# Taken from FreeBSD svn [base]/user/edwin/locale/cldr 4# 5# needs: 6# devel/p5-Tie-IxHash 7# 8# Modified by John Marino to suit DragonFly needs 9# 10 11.OBJDIR: . 12 13.if !defined(UNIDIR) 14.error UNIDIR is not set 15.endif 16PASSON= UNIDIR="${UNIDIR}" 17 18ETCDIR= ${.CURDIR}/etc 19 20KNOWN= monetdef numericdef msgdef colldef ctypedef # timedef 21TYPES?= ${KNOWN} 22LOCALE_DESTDIR?= /tmp/generated-locales/ 23 24COLLATION_SPECIAL?= \ 25 cs_CZ ISO8859-2 \ 26 da_DK ISO8859-1 \ 27 da_DK ISO8859-15 \ 28 hr_HR ISO8859-2 \ 29 hu_HU ISO8859-2 \ 30 nb_NO ISO8859-1 \ 31 nb_NO ISO8859-15 \ 32 sk_SK ISO8859-2 \ 33 sr_Latn_RS ISO8859-2 \ 34 sr_Cyrl_RS ISO8859-5 \ 35 zh_Hans_CN GB2312 \ 36 zh_Hans_CN eucCN \ 37 zh_Hant_TW Big5 \ 38 zh_Hans_CN GB18030 \ 39 zh_Hans_CN GBK \ 40 ja_JP eucJP \ 41 nn_NO ISO8859-15 \ 42 nn_NO ISO8859-1 43 44.for area enc in ${COLLATION_SPECIAL} 45COLLATIONS_SPECIAL_ENV+= ${area}.${enc} 46.endfor 47PASSON+= COLLATIONS_SPECIAL="${COLLATIONS_SPECIAL_ENV}" 48 49all: 50.for t in ${TYPES} 51. if ${KNOWN:M${t}} 52 test -d ${t} || mkdir ${t} 53 make build-${t} 54. endif 55.endfor 56 @echo "" 57 @find . -name *failed 58 59.for t in ${TYPES} 60install: install-${t} 61install-${t}: 62. if ${KNOWN:M${t}} 63 rm -rf ${.CURDIR}/${t}.draft 64 rm -f ${.CURDIR}/../../../share/${t}/Makefile 65 rm -f ${.CURDIR}/../../../share/${t}/*.src 66 mv ${.CURDIR}/${t}/* ${.CURDIR}/../../../share/${t}/ 67. endif 68.endfor 69 70post-install: 71.for t in ${TYPES} 72. if ${KNOWN:M${t}} 73 (cd ${.CURDIR}/../../../share/${t} && \ 74 make && make install && make clean) 75. endif 76.endfor 77 78.for t in ${TYPES} 79gen-${t}: 80 mkdir -p ${t} ${t}.draft 81 perl -I tools tools/cldr2def.pl \ 82 --unidir=$$(realpath ${UNIDIR}) \ 83 --etc=$$(realpath ${ETCDIR}) \ 84 --type=${t} 85 86build-${t}: gen-${t} 87 env ${PASSON} tools/finalize ${t} 88.endfor 89 90gen-ctypedef: ctype-rollup 91static-colldef: gen-colldef 92build-colldef: static-colldef 93 94static-colldef: 95.for area enc in ${COLLATION_SPECIAL} 96 awk -f tools/extract-colldef.awk ${UNIDIR}/posix/${area}.${enc}.src > \ 97 colldef.draft/${area}.${enc}.src 98.endfor 99 100ctype-rollup: 101 perl -I tools tools/utf8-rollup.pl --unidir=$$(realpath ${UNIDIR}) 102 103clean: 104.for t in ${TYPES} 105 rm -rf ${t} ${t}.draft 106.endfor 107 108BASE_LOCALES_OF_INTEREST?= \ 109 af_ZA am_ET ar_AE ar_EG ar_JO ar_MA ar_QA ar_SA \ 110 be_BY bg_BG ca_AD ca_ES ca_FR ca_IT \ 111 cs_CZ da_DK de_AT de_CH de_DE el_GR en_AU en_CA \ 112 en_GB en_HK en_IE en_NZ en_PH en_SG en_US en_ZA \ 113 es_AR es_CR es_ES es_MX et_EE eu_ES fi_FI fr_BE \ 114 fr_CA fr_CH fr_FR ga_IE he_IL hi_IN hr_HR hu_HU hy_AM \ 115 is_IS it_CH it_IT ja_JP ko_KR lt_LT lv_LV \ 116 nb_NO nl_BE nl_NL nn_NO pl_PL pt_BR pt_PT ro_RO \ 117 ru_RU se_FI se_NO sk_SK sl_SI sv_FI sv_SE tr_TR \ 118 uk_UA \ 119 kk_KZ mn_MN sr_Cyrl_RS sr_Latn_RS \ 120 zh_Hans_CN zh_Hant_HK zh_Hant_TW \ 121 bn_IN gu_IN or_IN ta_IN te_IN kn_IN ml_IN si_LK \ 122 th_TH lo_LA bo_IN my_MM pa_Guru_IN ka_GE chr_US \ 123 km_KH shi_Tfng_MA ii_CN vai_Vaii_LR vi_VN 124 125ENCODINGS= Big5 \ 126 CP1251 \ 127 CP866 \ 128 CP949 \ 129 eucCN \ 130 eucJP \ 131 eucKR \ 132 GB18030 \ 133 GB2312 \ 134 GBK \ 135 ISO8859-1 \ 136 ISO8859-13 \ 137 ISO8859-15 \ 138 ISO8859-2 \ 139 ISO8859-5 \ 140 ISO8859-7 \ 141 ISO8859-9 \ 142 KOI8-R \ 143 KOI8-U \ 144 SJIS \ 145 US-ASCII \ 146 UTF-8 \ 147 148 149POSIX: 150.if exists (${UNIDIR}/tools/java/cldr.jar) 151 mkdir -p ${UNIDIR}/posix 152. for area in ${BASE_LOCALES_OF_INTEREST} 153. if !exists(${UNIDIR}/posix/${area}.UTF-8.src) 154 java -DCLDR_DIR=${UNIDIR:Q} -jar ${UNIDIR}/tools/java/cldr.jar \ 155 org.unicode.cldr.posix.GeneratePOSIX \ 156 -d ${UNIDIR}/posix -m ${area} -c UTF-8 157. endif 158. endfor 159. for area encoding in ${COLLATION_SPECIAL} 160. if !exists(${UNIDIR}/posix/${area}.${encoding}.src) 161 java -DCLDR_DIR=${UNIDIR:Q} -jar ${UNIDIR}/tools/java/cldr.jar \ 162 org.unicode.cldr.posix.GeneratePOSIX \ 163 -d ${UNIDIR}/posix -m ${area} -c ${encoding} 164. endif 165. endfor 166. for enc in ${ENCODINGS} 167. if !exists(${UNIDIR}/posix/${enc}.cm) 168 java -DCLDR_DIR=${UNIDIR:Q} -jar ${UNIDIR}/tools/java/cldr.jar \ 169 org.unicode.cldr.posix.GenerateCharmap \ 170 -d ${UNIDIR}/posix -c ${enc} 171. endif 172. endfor 173.else 174 @echo "Please install CLDR toolset for the desired release" 175 @echo "It should go at ${UNIDIR}/tools" 176.endif 177 178clean-POSIX: 179 rm -f ${UNIDIR}/posix/* 180