1# See https://wiki.freebsd.org/LocaleNewApproach 2# Taken from FreeBSD svn [base]/user/edwin/locale/cldr 3# 4# needs: 5# devel/p5-Tie-IxHash 6# 7# Modified by John Marino to suit DragonFly needs 8# 9 10.if !defined(CLDRDIR) 11CLDRDIR!= grep ^cldr etc/unicode.conf | cut -f 2 -d " " 12.endif 13.if !defined(UNIDATADIR) 14UNIDATADIR!= grep ^unidata etc/unicode.conf | cut -f 2 -d " " 15.endif 16PASSON= CLDRDIR="${CLDRDIR}" UNIDATADIR="${UNIDATADIR}" 17 18ETCDIR= ${.CURDIR}/etc 19 20KNOWN= monetdef numericdef msgdef timedef colldef ctypedef 21TYPES?= ${KNOWN} 22LOCALE_DESTDIR?= /tmp/generated-locales/ 23 24.if defined(LC) 25LC:= --lc=${LC} 26.endif 27 28all: 29 cp ${ETCDIR}/common.UTF-8.src ${CLDRDIR}/posix/xx_Comm_US.UTF-8.src 30.for t in ${TYPES} 31. if ${KNOWN:M${t}} 32 test -d ${t} || mkdir ${t} 33 make build-${t} 34. endif 35.endfor 36 @echo "" 37 @find . -name *failed 38 39install: 40.for t in ${TYPES} 41. if ${KNOWN:M${t}} 42 rm -rf ${.CURDIR}/${t}.draft 43 rm -rf ${.CURDIR}/../../../share/${t} 44 mv ${.CURDIR}/${t} ${.CURDIR}/../../../share/ 45. endif 46.endfor 47 48post-install: 49.for t in ${TYPES} 50. if ${KNOWN:M${t}} 51 (cd ${.CURDIR}/../../../share/${t} && \ 52 make && make install && make clean) 53. endif 54.endfor 55 56.for t in ${TYPES} 57build-${t}: 58 mkdir -p ${t} ${t}.draft 59 perl -I tools tools/cldr2def.pl \ 60 --cldr=$$(realpath ${CLDRDIR}) \ 61 --unidata=$$(realpath ${UNIDATADIR}) \ 62 --etc=$$(realpath ${ETCDIR}) \ 63 --type=${t} ${LC} 64 env ${PASSON} tools/finalize ${t} 65.endfor 66 67build-ctypedef: transfer-rollup 68 69transfer-rollup: 70 cp ${ETCDIR}/common.UTF-8.src ${CLDRDIR}/posix/xx_Comm_US.UTF-8.src 71 72rollup: 73 perl -I tools tools/utf8-rollup.pl \ 74 --cldr=$$(realpath ${CLDRDIR}) \ 75 --etc=$$(realpath ${ETCDIR}) 76 77clean: 78.for t in ${TYPES} 79 rm -rf ${t} ${t}.draft 80.endfor 81 82BASE_LOCALES_OF_INTEREST?= \ 83 af_ZA am_ET ar_AE ar_EG ar_JO ar_MA ar_QA ar_SA \ 84 be_BY bg_BG ca_AD ca_ES ca_FR ca_IT \ 85 cs_CZ da_DK de_AT de_CH de_DE el_GR en_AU en_CA \ 86 en_GB en_HK en_IE en_NZ en_PH en_SG en_US en_ZA \ 87 es_AR es_CR es_ES es_MX et_EE eu_ES fi_FI fr_BE \ 88 fr_CA fr_CH fr_FR he_IL hi_IN hr_HR hu_HU hy_AM \ 89 is_IS it_CH it_IT ja_JP ko_KR lt_LT lv_LV \ 90 nb_NO nl_BE nl_NL nn_NO pl_PL pt_BR pt_PT ro_RO \ 91 ru_RU se_FI se_NO sk_SK sl_SI sv_FI sv_SE tr_TR \ 92 uk_UA \ 93 kk_Cyrl_KZ mn_Cyrl_MN sr_Cyrl_RS sr_Latn_RS \ 94 zh_Hans_CN zh_Hant_HK zh_Hant_TW \ 95 bn_IN gu_IN or_IN ta_IN te_IN kn_IN ml_IN si_LK \ 96 th_TH lo_LA bo_IN my_MM pa_Guru_IN ka_GE chr_US \ 97 km_KH shi_Tfng_MA ii_CN vai_Vaii_LR vi_VN 98 99POSIX: 100.if exists (${CLDRDIR}/tools/java/cldr.jar) 101 mkdir -p ${CLDRDIR}/posix 102. for area in ${BASE_LOCALES_OF_INTEREST} 103. if !exists(${CLDRDIR}/posix/${area}.UTF-8.src) 104 java -DCLDR_DIR=${CLDRDIR:Q} -jar ${CLDRDIR}/tools/java/cldr.jar \ 105 org.unicode.cldr.posix.GeneratePOSIX \ 106 -d ${CLDRDIR}/posix -m ${area} -c UTF-8 107. endif 108. endfor 109. if !exists(${CLDRDIR}/posix/UTF-8.cm) 110 java -DCLDR_DIR=${CLDRDIR:Q} -jar ${CLDRDIR}/tools/java/cldr.jar \ 111 org.unicode.cldr.posix.GenerateCharmap \ 112 -d ${CLDRDIR}/posix 113. endif 114.else 115 @echo "Please install CLDR toolset for the desired release" 116 @echo "It should go at ${CLDRDIR}/tools" 117.endif 118 119clean-POSIX: 120 rm -f ${CLDRDIR}/posix/* 121