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