# A list of UCM's to build
# Note: 
#
#   If you are thinking of modifying this file, READ THIS. 
#
# Instead of changing this file [unless you want to check it back in],
# you should consider creating a 'ucmlocal.mk' file in this same directory.
# Then, you can have your local changes remain even if you upgrade or re
# configure the ICU.
#
# Example 'ucmlocal.mk' files:
#
#  * To add an additional converter to the list: 
#    _____________________________________________________
#    |  UCM_SOURCE_LOCAL =  myconverter.ucm ...
#
#  * To REPLACE the default list and only build with a few
#     converters:
#    _____________________________________________________
#    |  UCM_SOURCE = ibm-913.ucm ibm-949.ucm ibm-37.ucm
#
#

UCM_SOURCE = ibm-1038.ucm ibm-1047.ucm ibm-1089.ucm ibm-1123.ucm\
ibm-1140.ucm ibm-1141.ucm ibm-1142.ucm ibm-1143.ucm ibm-1144.ucm\
ibm-1145.ucm ibm-1146.ucm ibm-1147.ucm ibm-1148.ucm ibm-1149.ucm\
ibm-1153.ucm ibm-1154.ucm ibm-1155.ucm ibm-1156.ucm ibm-1157.ucm\
ibm-1158.ucm ibm-1159.ucm ibm-1160.ucm ibm-1164.ucm ibm-1252.ucm\
ibm-12712.ucm ibm-1275.ucm ibm-1276.ucm ibm-1277.ucm ibm-1280.ucm\
ibm-1281.ucm ibm-1282.ucm ibm-1283.ucm ibm-1361.ucm ibm-1362.ucm\
ibm-1363.ucm ibm-1364.ucm ibm-1370.ucm ibm-1371.ucm ibm-1383.ucm\
ibm-1386.ucm ibm-1390.ucm ibm-1399.ucm ibm-16684.ucm ibm-16804.ucm\
ibm-17248.ucm ibm-21427.ucm ibm-420.ucm ibm-424.ucm ibm-437.ucm\
ibm-4899.ucm ibm-4909.ucm ibm-4930.ucm ibm-4971.ucm ibm-5104.ucm\
ibm-5123.ucm ibm-5210.ucm ibm-5346.ucm ibm-5347.ucm ibm-5349.ucm\
ibm-5350.ucm ibm-5351.ucm ibm-5352.ucm ibm-5353.ucm ibm-5354.ucm\
ibm-803.ucm ibm-808.ucm ibm-813.ucm ibm-834.ucm ibm-848.ucm\
ibm-8482.ucm ibm-849.ucm ibm-852.ucm ibm-855.ucm ibm-856.ucm\
ibm-857.ucm ibm-858.ucm ibm-859.ucm ibm-860.ucm ibm-861.ucm\
ibm-863.ucm ibm-864.ucm ibm-865.ucm ibm-866.ucm ibm-867.ucm\
ibm-868.ucm ibm-869.ucm ibm-872.ucm ibm-874.ucm ibm-878.ucm\
ibm-901.ucm ibm-902.ucm ibm-9027.ucm ibm-9044.ucm ibm-9049.ucm\
ibm-9061.ucm ibm-912.ucm ibm-913.ucm ibm-914.ucm ibm-915.ucm\
ibm-916.ucm ibm-920.ucm ibm-921.ucm ibm-922.ucm ibm-923.ucm\
ibm-9238.ucm ibm-924.ucm ibm-933.ucm ibm-935.ucm ibm-942.ucm\
ibm-943.ucm ibm-949.ucm ibm-970.ucm ibm-1258.ucm ibm-273.ucm\
ibm-277.ucm ibm-278.ucm ibm-280.ucm ibm-284.ucm ibm-285.ucm\
ibm-297.ucm ibm-37.ucm ibm-500.ucm ibm-871.ucm ibm-937.ucm\
ibm-930.ucm ibm-1257.ucm ibm-1256.ucm ibm-1255.ucm ibm-1254.ucm ibm-1253.ucm ibm-1251.ucm\
ibm-1250.ucm ibm-862.ucm ibm-850.ucm ibm-950.ucm\
ibm-1004.ucm ibm-1006.ucm ibm-1008.ucm\
ibm-1041.ucm ibm-1043.ucm ibm-1051.ucm ibm-1088.ucm ibm-1098.ucm\
ibm-1112.ucm ibm-1114.ucm ibm-1115.ucm ibm-1116.ucm ibm-1117.ucm ibm-1118.ucm ibm-1119.ucm\
ibm-833.ucm ibm-835.ucm ibm-891.ucm ibm-897.ucm ibm-903.ucm ibm-904.ucm ibm-907.ucm ibm-909.ucm\
ibm-910.ucm ibm-939.ucm ibm-941.ucm ibm-944.ucm ibm-946.ucm ibm-947.ucm ibm-948.ucm\
ibm-953.ucm ibm-955.ucm\
ibm-37-s390.ucm ibm-1047-s390.ucm\
ibm-1140-s390.ucm ibm-1142-s390.ucm ibm-1143-s390.ucm ibm-1144-s390.ucm\
ibm-1145-s390.ucm ibm-1146-s390.ucm ibm-1147-s390.ucm ibm-1148-s390.ucm\
ibm-1149-s390.ucm ibm-1153-s390.ucm ibm-12712-s390.ucm ibm-16804-s390.ucm\
lmb-excp.ucm ibm-851.ucm
