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 NORMGEN_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
20 NORM_FILENAME = NormalizationGenerated.cs
22 all : collation normalization
24 normalization: $(NORM_FILENAME)
26 collation : $(MSCOMPAT_FILENAME)
30 rm $(UCA_TABLE) $(NORM_TABLE) $(CB_CLASS_TABLE) $(CP932_TABLE) $(DERIV_CORE_PROP_TABLE) $(SCRIPTS_TABLE)
32 clean : clean-collation clean-normalization clean-mscompat
35 rm -f CollationElementTable.cs $(COLL_ELEM_FILENAME).exe* ../collation.*.bin
38 rm -f $(NORM_FILENAME) $(NORMGEN_FILENAME).exe* $(COMBINING_FILENAME).exe* $(CANON_EQUIV_FILENAME).exe*
41 rm -f $(MSCOMPAT_FILENAME) $(MSTABLEGEN).exe*
44 # collation element table
45 CollationElementTable.cs : $(COLL_ELEM_FILENAME).exe CollationElementTable.template $(UCA_TABLE)
46 echo "// WARNING: Do not edit this file. It is autogenerated." > CollationElementTable.cs
47 cat CollationElementTable.template >> CollationElementTable.cs || rm CollationElementTable.cs
48 MONO_USE_MANAGED_COLLATION=no $(RUNTIME) $(COLL_ELEM_FILENAME).exe < $(UCA_TABLE) >> CollationElementTable.cs || rm CollationElementTable.cs
49 echo " }" >> CollationElementTable.cs
50 echo "}" >> CollationElementTable.cs
52 COLL_TABLE_GENERATOR_SOURCES = \
53 $(COLL_ELEM_FILENAME).cs \
54 CollationElementTableUtil.cs \
57 $(COLL_ELEM_FILENAME).exe : $(COLL_TABLE_GENERATOR_SOURCES)
58 MONO_USE_MANAGED_COLLATION=no $(CSCOMPILE) $(COLL_TABLE_GENERATOR_SOURCES)
60 # normalization (including combining class)
61 $(NORM_FILENAME) : $(NORMGEN_FILENAME).exe Normalization.cs $(COMBINING_FILENAME).exe $(CANON_EQUIV_FILENAME).exe $(NORM_TABLE) $(UCD_TABLE) $(CB_CLASS_TABLE)
62 echo "// WARNING: Do not edit this file. It is autogenerated." > $(NORM_FILENAME)
63 cat Normalization.cs >> $(NORM_FILENAME) || rm $(NORM_FILENAME)
64 $(RUNTIME) $(NORMGEN_FILENAME).exe < $(NORM_TABLE) >> $(NORM_FILENAME) || rm $(NORM_FILENAME)
65 $(RUNTIME) $(CANON_EQUIV_FILENAME).exe < $(UCD_TABLE) >> $(NORM_FILENAME) || rm $(NORM_FILENAME)
66 $(RUNTIME) $(COMBINING_FILENAME).exe < $(CB_CLASS_TABLE) >> $(NORM_FILENAME) || rm $(NORM_FILENAME)
67 echo " }" >> $(NORM_FILENAME)
68 echo "}" >> $(NORM_FILENAME)
70 NORM_TABLE_GENERATOR_SOURCES = \
71 $(NORMGEN_FILENAME).cs \
72 NormalizationTableUtil.cs \
75 $(NORMGEN_FILENAME).exe : $(NORM_TABLE_GENERATOR_SOURCES)
76 MONO_USE_MANAGED_COLLATION=no $(CSCOMPILE) $(NORM_TABLE_GENERATOR_SOURCES)
78 CB_GENERATOR_SOURCES = \
79 $(COMBINING_FILENAME).cs \
80 NormalizationTableUtil.cs \
83 $(COMBINING_FILENAME).exe : $(COMBINING_FILENAME).cs
84 MONO_USE_MANAGED_COLLATION=no $(CSCOMPILE) $(CB_GENERATOR_SOURCES)
86 CANON_EQUIV_GENERATOR_SOURCES = \
87 $(CANON_EQUIV_FILENAME).cs \
88 NormalizationTableUtil.cs \
91 $(CANON_EQUIV_FILENAME).exe : $(CANON_EQUIV_GENERATOR_SOURCES)
92 MONO_USE_MANAGED_COLLATION=no $(CSCOMPILE) $(CANON_EQUIV_GENERATOR_SOURCES)
94 $(MSTABLEGEN).exe : $(CREATE_MSCOMPAT_TABLE_SOURCES)
95 MONO_USE_MANAGED_COLLATION=no $(CSCOMPILE) $(CREATE_MSCOMPAT_TABLE_SOURCES)
97 CREATE_MSCOMPAT_TABLE_SOURCES = \
98 create-mscompat-collation-table.cs \
100 CollationElementTable.cs \
101 CollationElementTableUtil.cs \
102 MSCompatUnicodeTableUtil.cs
105 wget www.unicode.org/Public/UNIDATA/UnicodeData.txt
106 mv UnicodeData.txt downloaded/
107 touch downloaded/UnicodeData.txt
110 wget www.unicode.org/Public/UNIDATA/Scripts.txt
111 mv Scripts.txt downloaded/
112 touch downloaded/Scripts.txt
115 wget http://www.unicode.org/Public/UCA/latest/allkeys.txt
116 mv allkeys.txt downloaded/
117 touch downloaded/allkeys.txt
120 wget "http://dev.icu-project.org/cgi-bin/viewcvs.cgi/*checkout*/icu/source/data/unidata/UCARules.txt?rev=HEAD&content-type=text/plain"
121 mv UCARules.txt* downloaded/
122 touch downloaded/UCARules.txt
124 $(DERIV_CORE_PROP_TABLE) :
125 wget http://www.unicode.org/Public/UNIDATA/DerivedCoreProperties.txt
126 mv DerivedCoreProperties.txt downloaded/
127 touch downloaded/DerivedCoreProperties.txt
130 wget http://www.unicode.org/Public/UNIDATA/DerivedAge.txt
131 mv DerivedAge.txt downloaded/
132 touch downloaded/DerivedAge.txt
135 wget http://www.unicode.org/Public/UNIDATA/DerivedNormalizationProps.txt
136 mv DerivedNormalizationProps.txt downloaded/
137 touch downloaded/DerivedNormalizationProps.txt
140 wget http://www.unicode.org/Public/UNIDATA/extracted/DerivedCombiningClass.txt
141 mv DerivedCombiningClass.txt downloaded/
142 touch downloaded/DerivedCombiningClass.txt
145 wget http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP932.TXT
146 mv CP932.TXT downloaded/
147 touch downloaded/CP932.TXT
150 wget http://unicode.org/Public/cldr/1.3.0/core.zip
152 mv core.zip common downloaded
156 #MSCompatUnicodeTableGenerated.cs
158 $(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)
159 echo "// WARNING: Do not edit this file. It is autogenerated." > $(MSCOMPAT_FILENAME)
160 echo "#define GENERATE_TABLE" > $(MSCOMPAT_FILENAME)
161 cat MSCompatUnicodeTable.cs >> $(MSCOMPAT_FILENAME)
162 MONO_USE_MANAGED_COLLATION=no $(RUNTIME) $(MSTABLEGEN).exe downloaded >> $(MSCOMPAT_FILENAME)
163 echo " }" >> $(MSCOMPAT_FILENAME)
164 echo "}" >> $(MSCOMPAT_FILENAME)
167 $(CSCOMPILE) normtest.cs $(NORM_FILENAME) NormalizationTableUtil.cs CodePointIndexer.cs