]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - tools/tools/locale/Makefile
Import DTS files from Linux 5.3
[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 .OBJDIR:        .
12
13 .if !defined(UNIDIR)
14 .error UNIDIR is not set
15 .endif
16 PASSON=         UNIDIR="${UNIDIR}"
17
18 ETCDIR=         ${.CURDIR}/etc
19
20 KNOWN=          monetdef numericdef msgdef colldef ctypedef # timedef
21 TYPES?=         ${KNOWN}
22 LOCALE_DESTDIR?=        /tmp/generated-locales/
23
24 COLLATION_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}
45 COLLATIONS_SPECIAL_ENV+=        ${area}.${enc}
46 .endfor
47 PASSON+=        COLLATIONS_SPECIAL="${COLLATIONS_SPECIAL_ENV}"
48
49 all:
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}
60 install: install-${t}
61 install-${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
70 post-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}
79 gen-${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
86 build-${t}: gen-${t}
87         env ${PASSON} tools/finalize ${t}
88 .endfor
89
90 gen-ctypedef:   ctype-rollup
91 static-colldef: gen-colldef
92 build-colldef:  static-colldef
93
94 static-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
100 ctype-rollup:
101         perl -I tools tools/utf8-rollup.pl --unidir=$$(realpath ${UNIDIR})
102
103 clean:
104 .for t in ${TYPES}
105         rm -rf ${t} ${t}.draft
106 .endfor
107
108 BASE_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
125 ENCODINGS=      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
149 POSIX:
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
178 clean-POSIX:
179         rm -f ${UNIDIR}/posix/*