2 CSCOMPILE = mcs -debug+
4 UCD_TABLE = downloaded/UnicodeData.txt
5 UCA_TABLE = downloaded/allkeys.txt
6 DERIV_CORE_PROP_TABLE = downloaded/DerivedCoreProperties.txt
7 DERIV_AGE_TABLE = downloaded/DerivedAge.txt
8 NORM_TABLE = downloaded/DerivedNormalizationProps.txt
9 SCRIPTS_TABLE = downloaded/Scripts.txt
10 CB_CLASS_TABLE = downloaded/DerivedCombiningClass.txt
11 CP932_TABLE = downloaded/CP932.TXT
12 UCA_DATA = downloaded/core.zip
14 NORM_FILENAME = create-normalization-source
15 COLL_ELEM_FILENAME = create-collation-element-table
16 COMBINING_FILENAME = create-combining-class-source
17 CANON_EQUIV_FILENAME = create-char-mapping-source
18 MSTABLEGEN = create-mscompat-collation-table
19 MSCOMPAT_FILENAME = MSCompatUnicodeTableGenerated.cs
21 all : collation normalization
23 normalization: Normalization.cs
25 collation : $(MSCOMPAT_FILENAME)
29 rm $(UCA_TABLE) $(NORM_TABLE) $(CB_CLASS_TABLE) $(CP932_TABLE) $(DERIV_CORE_PROP_TABLE) $(SCRIPTS_TABLE)
31 clean : clean-collation clean-normalization clean-mscompat
34 rm -f CollationElementTable.cs $(COLL_ELEM_FILENAME).exe* ../collation.*.bin
37 rm -f Normalization.cs $(NORM_FILENAME).exe* $(COMBINING_FILENAME).exe* $(CANON_EQUIV_FILENAME).exe*
40 rm -f $(MSCOMPAT_FILENAME) $(MSTABLEGEN).exe*
43 # collation element table
44 CollationElementTable.cs : $(COLL_ELEM_FILENAME).exe CollationElementTable.template $(UCA_TABLE)
45 echo "// WARNING: Do not edit this file. It is autogenerated." > CollationElementTable.cs
46 cat CollationElementTable.template >> CollationElementTable.cs || rm CollationElementTable.cs
47 MONO_USE_MANAGED_COLLATION=no $(RUNTIME) $(COLL_ELEM_FILENAME).exe < $(UCA_TABLE) >> CollationElementTable.cs || rm CollationElementTable.cs
48 echo " }" >> CollationElementTable.cs
49 echo "}" >> CollationElementTable.cs
51 COLL_TABLE_GENERATOR_SOURCES = \
52 $(COLL_ELEM_FILENAME).cs \
53 CollationElementTableUtil.cs \
56 $(COLL_ELEM_FILENAME).exe : $(COLL_TABLE_GENERATOR_SOURCES)
57 MONO_USE_MANAGED_COLLATION=no $(CSCOMPILE) $(COLL_TABLE_GENERATOR_SOURCES)
59 # normalization (including combining class)
60 Normalization.cs : $(NORM_FILENAME).exe Normalization.template $(COMBINING_FILENAME).exe $(CANON_EQUIV_FILENAME).exe $(NORM_TABLE) $(UCD_TABLE) $(CB_CLASS_TABLE)
61 echo "// WARNING: Do not edit this file. It is autogenerated." > Normalization.cs
62 cat Normalization.template >> Normalization.cs || rm Normalization.cs
63 $(RUNTIME) $(NORM_FILENAME).exe < $(NORM_TABLE) >> Normalization.cs || rm Normalization.cs
64 $(RUNTIME) $(CANON_EQUIV_FILENAME).exe < $(UCD_TABLE) >> Normalization.cs || rm Normalization.cs
65 $(RUNTIME) $(COMBINING_FILENAME).exe < $(CB_CLASS_TABLE) >> Normalization.cs || rm Normalization.cs
66 echo " }" >> Normalization.cs
67 echo "}" >> Normalization.cs
69 NORM_TABLE_GENERATOR_SOURCES = \
71 NormalizationTableUtil.cs \
74 $(NORM_FILENAME).exe : $(NORM_TABLE_GENERATOR_SOURCES)
75 MONO_USE_MANAGED_COLLATION=no $(CSCOMPILE) $(NORM_TABLE_GENERATOR_SOURCES)
77 $(COMBINING_FILENAME).exe : $(COMBINING_FILENAME).cs
78 MONO_USE_MANAGED_COLLATION=no $(CSCOMPILE) $(COMBINING_FILENAME).cs
80 CANON_EQUIV_GENERATOR_SOURCES = \
81 $(CANON_EQUIV_FILENAME).cs \
82 NormalizationTableUtil.cs \
85 $(CANON_EQUIV_FILENAME).exe : $(CANON_EQUIV_GENERATOR_SOURCES)
86 MONO_USE_MANAGED_COLLATION=no $(CSCOMPILE) $(CANON_EQUIV_GENERATOR_SOURCES)
88 $(MSTABLEGEN).exe : $(CREATE_MSCOMPAT_TABLE_SOURCES)
89 MONO_USE_MANAGED_COLLATION=no $(CSCOMPILE) $(CREATE_MSCOMPAT_TABLE_SOURCES)
91 CREATE_MSCOMPAT_TABLE_SOURCES = \
92 create-mscompat-collation-table.cs \
94 CollationElementTable.cs \
95 CollationElementTableUtil.cs \
96 MSCompatUnicodeTableUtil.cs
99 wget www.unicode.org/Public/UNIDATA/UnicodeData.txt
100 mv UnicodeData.txt downloaded/
101 touch downloaded/UnicodeData.txt
104 wget www.unicode.org/Public/UNIDATA/Scripts.txt
105 mv Scripts.txt downloaded/
106 touch downloaded/Scripts.txt
109 wget http://www.unicode.org/Public/UCA/latest/allkeys.txt
110 mv allkeys.txt downloaded/
111 touch downloaded/allkeys.txt
114 wget "http://dev.icu-project.org/cgi-bin/viewcvs.cgi/*checkout*/icu/source/data/unidata/UCARules.txt?rev=HEAD&content-type=text/plain"
115 mv UCARules.txt* downloaded/
116 touch downloaded/UCARules.txt
118 $(DERIV_CORE_PROP_TABLE) :
119 wget http://www.unicode.org/Public/UNIDATA/DerivedCoreProperties.txt
120 mv DerivedCoreProperties.txt downloaded/
121 touch downloaded/DerivedCoreProperties.txt
124 wget http://www.unicode.org/Public/UNIDATA/DerivedAge.txt
125 mv DerivedAge.txt downloaded/
126 touch downloaded/DerivedAge.txt
129 wget http://www.unicode.org/Public/UNIDATA/DerivedNormalizationProps.txt
130 mv DerivedNormalizationProps.txt downloaded/
131 touch downloaded/DerivedNormalizationProps.txt
134 wget http://www.unicode.org/Public/UNIDATA/extracted/DerivedCombiningClass.txt
135 mv DerivedCombiningClass.txt downloaded/
136 touch downloaded/DerivedCombiningClass.txt
139 wget http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP932.TXT
140 mv CP932.TXT downloaded/
141 touch downloaded/CP932.TXT
144 wget http://unicode.org/Public/cldr/1.3.0/core.zip
146 mv core.zip common downloaded
150 #MSCompatUnicodeTableGenerated.cs
152 $(MSCOMPAT_FILENAME) : MSCompatUnicodeTable.cs CollationElementTable.cs $(MSTABLEGEN).exe $(SCRIPTS_TABLE) $(UCD_TABLE) $(UCA_TABLE) $(CP932_TABLE) $(DERIV_CORE_PROP_TABLE) $(DERIV_AGE_TABLE) $(UCA_DATA)
153 echo "// WARNING: Do not edit this file. It is autogenerated." > $(MSCOMPAT_FILENAME)
154 echo "#define GENERATE_TABLE" > $(MSCOMPAT_FILENAME)
155 cat MSCompatUnicodeTable.cs >> $(MSCOMPAT_FILENAME)
156 MONO_USE_MANAGED_COLLATION=no $(RUNTIME) $(MSTABLEGEN).exe downloaded >> $(MSCOMPAT_FILENAME)
157 echo " }" >> $(MSCOMPAT_FILENAME)
158 echo "}" >> $(MSCOMPAT_FILENAME)
161 $(CSCOMPILE) normtest.cs Normalization.cs NormalizationTableUtil.cs CodePointIndexer.cs