diff -Naur a/source/data/brkitr/brkfiles.mk b/source/data/brkitr/brkfiles.mk
--- a/source/data/brkitr/brkfiles.mk	2010-04-28 08:28:24.000000000 -0700
+++ b/source/data/brkitr/brkfiles.mk	1969-12-31 16:00:00.000000000 -0800
@@ -1,47 +0,0 @@
-# *   Copyright (C) 1998-2010, International Business Machines
-# *   Corporation and others.  All Rights Reserved.
-BRK_RES_CLDR_VERSION = 1.8.1
-# A list of txt'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 'brklocal.mk' file in this same directory.
-# Then, you can have your local changes remain even if you upgrade or
-# reconfigure ICU.
-#
-# Example 'brklocal.mk' files:
-#
-#  * To add an additional locale to the list:
-#    _____________________________________________________
-#    |  BRK_RES_SOURCE_LOCAL =   myLocale.txt ...
-#
-#  * To REPLACE the default list and only build with a few
-#    locales:
-#    _____________________________________________________
-#    |  BRK_RES_SOURCE = ar.txt ar_AE.txt en.txt de.txt zh.txt
-#
-#
-# Generated by LDML2ICUConverter, from LDML source files.
-
-# Aliases without a corresponding xx.xml file (see icu-config.xml & build.xml)
-BRK_RES_SYNTHETIC_ALIAS =
-
-
-# All aliases (to not be included under 'installed'), but not including root.
-BRK_RES_ALIAS_SOURCE = $(BRK_RES_SYNTHETIC_ALIAS)
-
-
-# List of compact trie dictionary files (ctd).
-BRK_CTD_SOURCE =  thaidict.txt 
-
-
-# List of break iterator files (brk).
-BRK_SOURCE =  sent_el.txt word_POSIX.txt word_ja.txt char.txt word.txt line.txt sent.txt title.txt char_th.txt
-
-
-# Ordinary resources
-BRK_RES_SOURCE = el.txt en.txt en_US.txt en_US_POSIX.txt\
- ja.txt th.txt
-
diff -Naur a/source/data/coll/colfiles.mk b/source/data/coll/colfiles.mk
--- a/source/data/coll/colfiles.mk	2010-04-28 08:28:20.000000000 -0700
+++ b/source/data/coll/colfiles.mk	1969-12-31 16:00:00.000000000 -0800
@@ -1,96 +0,0 @@
-# *   Copyright (C) 1998-2010, International Business Machines
-# *   Corporation and others.  All Rights Reserved.
-COLLATION_CLDR_VERSION = 1.8.1
-# A list of txt'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 'collocal.mk' file in this same directory.
-# Then, you can have your local changes remain even if you upgrade or
-# reconfigure ICU.
-#
-# Example 'collocal.mk' files:
-#
-#  * To add an additional locale to the list:
-#    _____________________________________________________
-#    |  COLLATION_SOURCE_LOCAL =   myLocale.txt ...
-#
-#  * To REPLACE the default list and only build with a few
-#    locales:
-#    _____________________________________________________
-#    |  COLLATION_SOURCE = ar.txt ar_AE.txt en.txt de.txt zh.txt
-#
-#
-# Generated by LDML2ICUConverter, from LDML source files.
-
-# Aliases without a corresponding xx.xml file (see icu-config.xml & build.xml)
-COLLATION_SYNTHETIC_ALIAS = de_.txt de__PHONEBOOK.txt es_.txt es__TRADITIONAL.txt\
- hi_.txt hi__DIRECT.txt in.txt in_ID.txt iw.txt\
- iw_IL.txt no.txt no_NO.txt pa_IN.txt sh.txt\
- sh_BA.txt sh_YU.txt sr_BA.txt sr_ME.txt sr_RS.txt\
- zh_.txt zh_CN.txt zh_HK.txt zh_MO.txt zh_SG.txt\
- zh_TW.txt zh_TW_STROKE.txt zh__PINYIN.txt
-
-
-# All aliases (to not be included under 'installed'), but not including root.
-COLLATION_ALIAS_SOURCE = $(COLLATION_SYNTHETIC_ALIAS)
-
-
-# Empty locales, used for validSubLocale fallback.
-COLLATION_EMPTY_SOURCE = af_NA.txt af_ZA.txt ar_AE.txt ar_BH.txt\
- ar_DZ.txt ar_EG.txt ar_IQ.txt ar_JO.txt ar_KW.txt\
- ar_LB.txt ar_LY.txt ar_MA.txt ar_OM.txt ar_QA.txt\
- ar_SA.txt ar_SD.txt ar_SY.txt ar_TN.txt ar_YE.txt\
- as_IN.txt az_Latn.txt az_Latn_AZ.txt be_BY.txt bg_BG.txt\
- bn_BD.txt bn_IN.txt ca_ES.txt cs_CZ.txt cy_GB.txt\
- da_DK.txt de_AT.txt de_BE.txt de_CH.txt de_DE.txt\
- de_LU.txt el_GR.txt en_AU.txt en_BW.txt en_CA.txt\
- en_GB.txt en_HK.txt en_IE.txt en_IN.txt en_MT.txt\
- en_NZ.txt en_PH.txt en_SG.txt en_US.txt en_US_POSIX.txt\
- en_VI.txt en_ZA.txt en_ZW.txt es_AR.txt es_BO.txt\
- es_CL.txt es_CO.txt es_CR.txt es_DO.txt es_EC.txt\
- es_ES.txt es_GT.txt es_HN.txt es_MX.txt es_NI.txt\
- es_PA.txt es_PE.txt es_PR.txt es_PY.txt es_SV.txt\
- es_US.txt es_UY.txt es_VE.txt et_EE.txt fa_IR.txt\
- fi_FI.txt fo_FO.txt fr_BE.txt fr_CA.txt fr_CH.txt\
- fr_FR.txt fr_LU.txt ga.txt ga_IE.txt gu_IN.txt\
- ha_Latn.txt ha_Latn_GH.txt ha_Latn_NE.txt ha_Latn_NG.txt he_IL.txt\
- hi_IN.txt hr_HR.txt hu_HU.txt hy_AM.txt id.txt\
- id_ID.txt ig_NG.txt is_IS.txt it_CH.txt it_IT.txt\
- ja_JP.txt ka.txt ka_GE.txt kk_KZ.txt kl_GL.txt\
- kn_IN.txt ko_KR.txt kok_IN.txt lt_LT.txt lv_LV.txt\
- mk_MK.txt ml_IN.txt mr_IN.txt ms.txt ms_BN.txt\
- ms_MY.txt mt_MT.txt nb_NO.txt nl.txt nl_BE.txt\
- nl_NL.txt nn_NO.txt om_ET.txt om_KE.txt or_IN.txt\
- pa_Arab.txt pa_Arab_PK.txt pa_Guru.txt pa_Guru_IN.txt pl_PL.txt\
- ps_AF.txt pt.txt pt_BR.txt pt_PT.txt ro_RO.txt\
- ru_RU.txt ru_UA.txt si_LK.txt sk_SK.txt sl_SI.txt\
- sq_AL.txt sr_Cyrl.txt sr_Cyrl_BA.txt sr_Cyrl_ME.txt sr_Cyrl_RS.txt\
- sr_Latn_BA.txt sr_Latn_ME.txt sr_Latn_RS.txt st.txt st_LS.txt\
- st_ZA.txt sv_FI.txt sv_SE.txt sw_KE.txt sw_TZ.txt\
- ta_IN.txt te_IN.txt th_TH.txt tr_TR.txt uk_UA.txt\
- ur_IN.txt ur_PK.txt vi_VN.txt xh.txt xh_ZA.txt\
- yo_NG.txt zh_Hans.txt zh_Hans_CN.txt zh_Hans_SG.txt zh_Hant_HK.txt\
- zh_Hant_MO.txt zh_Hant_TW.txt zu.txt zu_ZA.txt
-
-
-# Ordinary resources
-COLLATION_SOURCE = $(COLLATION_EMPTY_SOURCE) af.txt ar.txt as.txt az.txt\
- be.txt bg.txt bn.txt ca.txt cs.txt\
- cy.txt da.txt de.txt el.txt en.txt\
- en_BE.txt eo.txt es.txt et.txt fa.txt\
- fa_AF.txt fi.txt fil.txt fo.txt fr.txt\
- gu.txt ha.txt haw.txt he.txt hi.txt\
- hr.txt hu.txt hy.txt ig.txt is.txt\
- it.txt ja.txt kk.txt kl.txt km.txt\
- kn.txt ko.txt kok.txt lt.txt lv.txt\
- mk.txt ml.txt mr.txt mt.txt nb.txt\
- nn.txt om.txt or.txt pa.txt pl.txt\
- ps.txt ro.txt ru.txt si.txt sk.txt\
- sl.txt sq.txt sr.txt sr_Latn.txt sv.txt\
- sw.txt ta.txt te.txt th.txt to.txt\
- tr.txt uk.txt ur.txt vi.txt yo.txt\
- zh.txt zh_Hant.txt
-
diff -Naur a/source/data/curr/resfiles.mk b/source/data/curr/resfiles.mk
--- a/source/data/curr/resfiles.mk	2010-04-28 08:28:36.000000000 -0700
+++ b/source/data/curr/resfiles.mk	1969-12-31 16:00:00.000000000 -0800
@@ -1,87 +0,0 @@
-# *   Copyright (C) 1998-2010, International Business Machines
-# *   Corporation and others.  All Rights Reserved.
-CURR_CLDR_VERSION = 1.8.1
-# A list of txt'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 'reslocal.mk' file in this same directory.
-# Then, you can have your local changes remain even if you upgrade or
-# reconfigure ICU.
-#
-# Example 'reslocal.mk' files:
-#
-#  * To add an additional locale to the list:
-#    _____________________________________________________
-#    |  CURR_SOURCE_LOCAL =   myLocale.txt ...
-#
-#  * To REPLACE the default list and only build with a few
-#    locales:
-#    _____________________________________________________
-#    |  CURR_SOURCE = ar.txt ar_AE.txt en.txt de.txt zh.txt
-#
-#
-# Generated by LDML2ICUConverter, from LDML source files.
-
-# Aliases without a corresponding xx.xml file (see icu-config.xml & build.xml)
-CURR_SYNTHETIC_ALIAS = en_RH.txt en_ZW.txt he_IL.txt id_ID.txt\
- in_ID.txt iw_IL.txt ja_JP.txt ja_JP_TRADITIONAL.txt nb_NO.txt\
- nn_NO.txt no_NO.txt no_NO_NY.txt th_TH.txt th_TH_TRADITIONAL.txt
-
-
-# All aliases (to not be included under 'installed'), but not including root.
-CURR_ALIAS_SOURCE = $(CURR_SYNTHETIC_ALIAS) az_AZ.txt ha_GH.txt ha_NE.txt ha_NG.txt\
- in.txt iw.txt kk_KZ.txt no.txt pa_IN.txt\
- pa_PK.txt sh.txt sh_BA.txt sh_CS.txt sh_YU.txt\
- shi_MA.txt sr_BA.txt sr_CS.txt sr_Cyrl_CS.txt sr_Cyrl_YU.txt\
- sr_Latn_CS.txt sr_Latn_YU.txt sr_ME.txt sr_RS.txt sr_YU.txt\
- tl.txt tzm_MA.txt uz_AF.txt uz_UZ.txt zh_CN.txt\
- zh_HK.txt zh_MO.txt zh_SG.txt zh_TW.txt
-
-
-# Ordinary resources
-CURR_SOURCE = af.txt ak.txt am.txt ar.txt\
- as.txt asa.txt az.txt az_Cyrl.txt az_Latn.txt\
- az_Latn_AZ.txt be.txt bem.txt bez.txt bg.txt\
- bm.txt bn.txt bo.txt ca.txt cgg.txt\
- chr.txt cs.txt cy.txt da.txt dav.txt\
- de.txt de_BE.txt de_LU.txt ebu.txt ee.txt\
- el.txt en.txt en_AU.txt en_BE.txt en_BW.txt\
- en_BZ.txt en_CA.txt en_HK.txt en_JM.txt en_MT.txt\
- en_NA.txt en_NZ.txt en_PH.txt en_PK.txt en_SG.txt\
- en_TT.txt eo.txt es.txt es_AR.txt es_CL.txt\
- es_CO.txt es_EC.txt es_GT.txt es_HN.txt es_MX.txt\
- es_PR.txt es_US.txt es_UY.txt et.txt eu.txt\
- fa.txt fa_AF.txt ff.txt fi.txt fil.txt\
- fo.txt fr.txt fr_CA.txt fr_LU.txt ga.txt\
- gl.txt gsw.txt gu.txt guz.txt gv.txt\
- ha.txt ha_Latn.txt ha_Latn_GH.txt ha_Latn_NE.txt ha_Latn_NG.txt\
- haw.txt he.txt hi.txt hr.txt hu.txt\
- hy.txt id.txt ig.txt ii.txt is.txt\
- it.txt ja.txt jmc.txt ka.txt kab.txt\
- kam.txt kde.txt kea.txt khq.txt ki.txt\
- kk.txt kk_Cyrl.txt kk_Cyrl_KZ.txt kl.txt kln.txt\
- km.txt kn.txt ko.txt kok.txt kw.txt\
- lag.txt lg.txt lt.txt luo.txt luy.txt\
- lv.txt mas.txt mer.txt mfe.txt mg.txt\
- mk.txt ml.txt mr.txt ms.txt ms_BN.txt\
- mt.txt naq.txt nb.txt nd.txt ne.txt\
- ne_IN.txt nl.txt nn.txt nyn.txt om.txt\
- or.txt pa.txt pa_Arab.txt pa_Arab_PK.txt pa_Guru.txt\
- pa_Guru_IN.txt pl.txt ps.txt pt.txt pt_PT.txt\
- rm.txt ro.txt rof.txt ru.txt rw.txt\
- rwk.txt saq.txt seh.txt ses.txt sg.txt\
- shi.txt shi_Latn.txt shi_Latn_MA.txt shi_Tfng.txt si.txt\
- sk.txt sl.txt sn.txt so.txt sq.txt\
- sr.txt sr_Cyrl.txt sr_Cyrl_BA.txt sr_Cyrl_RS.txt sr_Latn.txt\
- sr_Latn_BA.txt sr_Latn_ME.txt sr_Latn_RS.txt sv.txt sw.txt\
- ta.txt te.txt teo.txt th.txt ti.txt\
- to.txt tr.txt tzm.txt tzm_Latn.txt tzm_Latn_MA.txt\
- uk.txt ur.txt uz.txt uz_Arab.txt uz_Arab_AF.txt\
- uz_Cyrl.txt uz_Cyrl_UZ.txt uz_Latn.txt vi.txt vun.txt\
- xog.txt yo.txt zh.txt zh_Hans.txt zh_Hans_CN.txt\
- zh_Hans_HK.txt zh_Hans_SG.txt zh_Hant.txt zh_Hant_HK.txt zh_Hant_MO.txt\
- zh_Hant_TW.txt zu.txt
-
diff -Naur a/source/data/lang/resfiles.mk b/source/data/lang/resfiles.mk
--- a/source/data/lang/resfiles.mk	2010-04-28 08:27:56.000000000 -0700
+++ b/source/data/lang/resfiles.mk	2015-07-22 16:59:03.907938679 -0700
@@ -26,57 +26,17 @@
 # Generated by LDML2ICUConverter, from LDML source files.
 
 # Aliases without a corresponding xx.xml file (see icu-config.xml & build.xml)
-LANG_SYNTHETIC_ALIAS = en_RH.txt en_ZW.txt he_IL.txt id_ID.txt\
- in_ID.txt iw_IL.txt ja_JP.txt ja_JP_TRADITIONAL.txt nb_NO.txt\
- nn_NO.txt no_NO.txt no_NO_NY.txt th_TH.txt th_TH_TRADITIONAL.txt
+LANG_SYNTHETIC_ALIAS =
 
 
 # All aliases (to not be included under 'installed'), but not including root.
-LANG_ALIAS_SOURCE = $(LANG_SYNTHETIC_ALIAS) az_AZ.txt ha_GH.txt ha_NE.txt ha_NG.txt\
- in.txt iw.txt kk_KZ.txt no.txt pa_IN.txt\
- pa_PK.txt sh.txt sh_BA.txt sh_CS.txt sh_YU.txt\
- shi_MA.txt sr_BA.txt sr_CS.txt sr_Cyrl_CS.txt sr_Cyrl_YU.txt\
- sr_Latn_CS.txt sr_Latn_YU.txt sr_ME.txt sr_RS.txt sr_YU.txt\
- tl.txt tzm_MA.txt uz_AF.txt uz_UZ.txt zh_CN.txt\
- zh_HK.txt zh_MO.txt zh_SG.txt zh_TW.txt
+LANG_ALIAS_SOURCE = $(LANG_SYNTHETIC_ALIAS)
 
 
 # Ordinary resources
-LANG_SOURCE = af.txt ak.txt am.txt ar.txt\
- as.txt asa.txt az.txt az_Cyrl.txt az_Latn.txt\
- az_Latn_AZ.txt be.txt bem.txt bez.txt bg.txt\
- bm.txt bn.txt bn_IN.txt bo.txt ca.txt\
- cgg.txt chr.txt cs.txt cy.txt da.txt\
- dav.txt de.txt de_CH.txt ebu.txt ee.txt\
- el.txt en.txt eo.txt es.txt es_AR.txt\
- es_CL.txt et.txt eu.txt fa.txt fa_AF.txt\
- ff.txt fi.txt fil.txt fo.txt fr.txt\
- ga.txt gl.txt gsw.txt gu.txt guz.txt\
- gv.txt ha.txt ha_Latn.txt ha_Latn_GH.txt ha_Latn_NE.txt\
- ha_Latn_NG.txt haw.txt he.txt hi.txt hr.txt\
- hu.txt hy.txt id.txt ig.txt ii.txt\
- is.txt it.txt ja.txt jmc.txt ka.txt\
- kab.txt kam.txt kde.txt kea.txt khq.txt\
- ki.txt kk.txt kk_Cyrl.txt kk_Cyrl_KZ.txt kl.txt\
- kln.txt km.txt kn.txt ko.txt kok.txt\
- kw.txt lag.txt lg.txt lt.txt luo.txt\
- luy.txt lv.txt mas.txt mer.txt mfe.txt\
- mg.txt mk.txt ml.txt mr.txt ms.txt\
- mt.txt naq.txt nb.txt nd.txt ne.txt\
- nl.txt nl_BE.txt nn.txt nyn.txt om.txt\
- or.txt pa.txt pa_Arab.txt pa_Arab_PK.txt pa_Guru.txt\
- pa_Guru_IN.txt pl.txt ps.txt pt.txt pt_PT.txt\
- rm.txt ro.txt rof.txt ru.txt ru_UA.txt\
- rw.txt rwk.txt saq.txt seh.txt ses.txt\
- sg.txt shi.txt shi_Latn.txt shi_Latn_MA.txt shi_Tfng.txt\
- si.txt sk.txt sl.txt sn.txt so.txt\
- sq.txt sr.txt sr_Cyrl.txt sr_Cyrl_BA.txt sr_Cyrl_RS.txt\
- sr_Latn.txt sr_Latn_BA.txt sr_Latn_ME.txt sr_Latn_RS.txt sv.txt\
- sv_FI.txt sw.txt ta.txt te.txt teo.txt\
- th.txt ti.txt to.txt tr.txt tzm.txt\
- tzm_Latn.txt tzm_Latn_MA.txt uk.txt ur.txt uz.txt\
- uz_Arab.txt uz_Arab_AF.txt uz_Cyrl.txt uz_Cyrl_UZ.txt uz_Latn.txt\
- vi.txt vun.txt xog.txt yo.txt zh.txt\
- zh_Hans.txt zh_Hans_CN.txt zh_Hans_SG.txt zh_Hant.txt zh_Hant_HK.txt\
- zh_Hant_MO.txt zh_Hant_TW.txt zu.txt
+LANG_SOURCE = de.txt\
+ en.txt\
+ es.txt\
+ fr.txt\
+ nl.txt
 
diff -Naur a/source/data/locales/resfiles.mk b/source/data/locales/resfiles.mk
--- a/source/data/locales/resfiles.mk	2010-04-28 08:28:08.000000000 -0700
+++ b/source/data/locales/resfiles.mk	1969-12-31 16:00:00.000000000 -0800
@@ -1,127 +0,0 @@
-# *   Copyright (C) 1998-2010, International Business Machines
-# *   Corporation and others.  All Rights Reserved.
-GENRB_CLDR_VERSION = 1.8.1
-# A list of txt'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 'reslocal.mk' file in this same directory.
-# Then, you can have your local changes remain even if you upgrade or
-# reconfigure ICU.
-#
-# Example 'reslocal.mk' files:
-#
-#  * To add an additional locale to the list:
-#    _____________________________________________________
-#    |  GENRB_SOURCE_LOCAL =   myLocale.txt ...
-#
-#  * To REPLACE the default list and only build with a few
-#    locales:
-#    _____________________________________________________
-#    |  GENRB_SOURCE = ar.txt ar_AE.txt en.txt de.txt zh.txt
-#
-#
-# Generated by LDML2ICUConverter, from LDML source files.
-
-# Aliases without a corresponding xx.xml file (see icu-config.xml & build.xml)
-GENRB_SYNTHETIC_ALIAS = en_RH.txt in_ID.txt iw_IL.txt ja_JP_TRADITIONAL.txt\
- no_NO.txt no_NO_NY.txt th_TH_TRADITIONAL.txt
-
-
-# All aliases (to not be included under 'installed'), but not including root.
-GENRB_ALIAS_SOURCE = $(GENRB_SYNTHETIC_ALIAS) az_AZ.txt ha_GH.txt ha_NE.txt ha_NG.txt\
- in.txt iw.txt kk_KZ.txt no.txt pa_IN.txt\
- pa_PK.txt sh.txt sh_BA.txt sh_CS.txt sh_YU.txt\
- shi_MA.txt sr_BA.txt sr_CS.txt sr_Cyrl_CS.txt sr_Cyrl_YU.txt\
- sr_Latn_CS.txt sr_Latn_YU.txt sr_ME.txt sr_RS.txt sr_YU.txt\
- tl.txt tzm_MA.txt uz_AF.txt uz_UZ.txt zh_CN.txt\
- zh_HK.txt zh_MO.txt zh_SG.txt zh_TW.txt
-
-
-# Ordinary resources
-GENRB_SOURCE = af.txt af_NA.txt af_ZA.txt ak.txt\
- ak_GH.txt am.txt am_ET.txt ar.txt ar_AE.txt\
- ar_BH.txt ar_DZ.txt ar_EG.txt ar_IQ.txt ar_JO.txt\
- ar_KW.txt ar_LB.txt ar_LY.txt ar_MA.txt ar_OM.txt\
- ar_QA.txt ar_SA.txt ar_SD.txt ar_SY.txt ar_TN.txt\
- ar_YE.txt as.txt as_IN.txt asa.txt asa_TZ.txt\
- az.txt az_Cyrl.txt az_Cyrl_AZ.txt az_Latn.txt az_Latn_AZ.txt\
- be.txt be_BY.txt bem.txt bem_ZM.txt bez.txt\
- bez_TZ.txt bg.txt bg_BG.txt bm.txt bm_ML.txt\
- bn.txt bn_BD.txt bn_IN.txt bo.txt bo_CN.txt\
- bo_IN.txt ca.txt ca_ES.txt cgg.txt cgg_UG.txt\
- chr.txt chr_US.txt cs.txt cs_CZ.txt cy.txt\
- cy_GB.txt da.txt da_DK.txt dav.txt dav_KE.txt\
- de.txt de_AT.txt de_BE.txt de_CH.txt de_DE.txt\
- de_LI.txt de_LU.txt ebu.txt ebu_KE.txt ee.txt\
- ee_GH.txt ee_TG.txt el.txt el_CY.txt el_GR.txt\
- en.txt en_AU.txt en_BE.txt en_BW.txt en_BZ.txt\
- en_CA.txt en_GB.txt en_HK.txt en_IE.txt en_IN.txt\
- en_JM.txt en_MH.txt en_MT.txt en_MU.txt en_NA.txt\
- en_NZ.txt en_PH.txt en_PK.txt en_SG.txt en_TT.txt\
- en_US.txt en_US_POSIX.txt en_VI.txt en_ZA.txt en_ZW.txt\
- eo.txt es.txt es_AR.txt es_BO.txt es_CL.txt\
- es_CO.txt es_CR.txt es_DO.txt es_EC.txt es_ES.txt\
- es_GQ.txt es_GT.txt es_HN.txt es_MX.txt es_NI.txt\
- es_PA.txt es_PE.txt es_PR.txt es_PY.txt es_SV.txt\
- es_US.txt es_UY.txt es_VE.txt et.txt et_EE.txt\
- eu.txt eu_ES.txt fa.txt fa_AF.txt fa_IR.txt\
- ff.txt ff_SN.txt fi.txt fi_FI.txt fil.txt\
- fil_PH.txt fo.txt fo_FO.txt fr.txt fr_BE.txt\
- fr_BL.txt fr_CA.txt fr_CF.txt fr_CH.txt fr_CI.txt\
- fr_CM.txt fr_FR.txt fr_GN.txt fr_GP.txt fr_LU.txt\
- fr_MC.txt fr_MF.txt fr_MG.txt fr_ML.txt fr_MQ.txt\
- fr_NE.txt fr_RE.txt fr_SN.txt ga.txt ga_IE.txt\
- gl.txt gl_ES.txt gsw.txt gsw_CH.txt gu.txt\
- gu_IN.txt guz.txt guz_KE.txt gv.txt gv_GB.txt\
- ha.txt ha_Latn.txt ha_Latn_GH.txt ha_Latn_NE.txt ha_Latn_NG.txt\
- haw.txt haw_US.txt he.txt he_IL.txt hi.txt\
- hi_IN.txt hr.txt hr_HR.txt hu.txt hu_HU.txt\
- hy.txt hy_AM.txt id.txt id_ID.txt ig.txt\
- ig_NG.txt ii.txt ii_CN.txt is.txt is_IS.txt\
- it.txt it_CH.txt it_IT.txt ja.txt ja_JP.txt\
- jmc.txt jmc_TZ.txt ka.txt ka_GE.txt kab.txt\
- kab_DZ.txt kam.txt kam_KE.txt kde.txt kde_TZ.txt\
- kea.txt kea_CV.txt khq.txt khq_ML.txt ki.txt\
- ki_KE.txt kk.txt kk_Cyrl.txt kk_Cyrl_KZ.txt kl.txt\
- kl_GL.txt kln.txt kln_KE.txt km.txt km_KH.txt\
- kn.txt kn_IN.txt ko.txt ko_KR.txt kok.txt\
- kok_IN.txt kw.txt kw_GB.txt lag.txt lag_TZ.txt\
- lg.txt lg_UG.txt lt.txt lt_LT.txt luo.txt\
- luo_KE.txt luy.txt luy_KE.txt lv.txt lv_LV.txt\
- mas.txt mas_KE.txt mas_TZ.txt mer.txt mer_KE.txt\
- mfe.txt mfe_MU.txt mg.txt mg_MG.txt mk.txt\
- mk_MK.txt ml.txt ml_IN.txt mr.txt mr_IN.txt\
- ms.txt ms_BN.txt ms_MY.txt mt.txt mt_MT.txt\
- naq.txt naq_NA.txt nb.txt nb_NO.txt nd.txt\
- nd_ZW.txt ne.txt ne_IN.txt ne_NP.txt nl.txt\
- nl_BE.txt nl_NL.txt nn.txt nn_NO.txt nyn.txt\
- nyn_UG.txt om.txt om_ET.txt om_KE.txt or.txt\
- or_IN.txt pa.txt pa_Arab.txt pa_Arab_PK.txt pa_Guru.txt\
- pa_Guru_IN.txt pl.txt pl_PL.txt ps.txt ps_AF.txt\
- pt.txt pt_BR.txt pt_GW.txt pt_MZ.txt pt_PT.txt\
- rm.txt rm_CH.txt ro.txt ro_MD.txt ro_RO.txt\
- rof.txt rof_TZ.txt ru.txt ru_MD.txt ru_RU.txt\
- ru_UA.txt rw.txt rw_RW.txt rwk.txt rwk_TZ.txt\
- saq.txt saq_KE.txt seh.txt seh_MZ.txt ses.txt\
- ses_ML.txt sg.txt sg_CF.txt shi.txt shi_Latn.txt\
- shi_Latn_MA.txt shi_Tfng.txt shi_Tfng_MA.txt si.txt si_LK.txt\
- sk.txt sk_SK.txt sl.txt sl_SI.txt sn.txt\
- sn_ZW.txt so.txt so_DJ.txt so_ET.txt so_KE.txt\
- so_SO.txt sq.txt sq_AL.txt sr.txt sr_Cyrl.txt\
- sr_Cyrl_BA.txt sr_Cyrl_ME.txt sr_Cyrl_RS.txt sr_Latn.txt sr_Latn_BA.txt\
- sr_Latn_ME.txt sr_Latn_RS.txt sv.txt sv_FI.txt sv_SE.txt\
- sw.txt sw_KE.txt sw_TZ.txt ta.txt ta_IN.txt\
- ta_LK.txt te.txt te_IN.txt teo.txt teo_KE.txt\
- teo_UG.txt th.txt th_TH.txt ti.txt ti_ER.txt\
- ti_ET.txt to.txt to_TO.txt tr.txt tr_TR.txt\
- tzm.txt tzm_Latn.txt tzm_Latn_MA.txt uk.txt uk_UA.txt\
- ur.txt ur_IN.txt ur_PK.txt uz.txt uz_Arab.txt\
- uz_Arab_AF.txt uz_Cyrl.txt uz_Cyrl_UZ.txt uz_Latn.txt uz_Latn_UZ.txt\
- vi.txt vi_VN.txt vun.txt vun_TZ.txt xog.txt\
- xog_UG.txt yo.txt yo_NG.txt zh.txt zh_Hans.txt\
- zh_Hans_CN.txt zh_Hans_HK.txt zh_Hans_MO.txt zh_Hans_SG.txt zh_Hant.txt\
- zh_Hant_HK.txt zh_Hant_MO.txt zh_Hant_TW.txt zu.txt zu_ZA.txt
-
diff -Naur a/source/data/mappings/ucmcore.mk b/source/data/mappings/ucmcore.mk
--- a/source/data/mappings/ucmcore.mk	2010-04-28 08:28:48.000000000 -0700
+++ b/source/data/mappings/ucmcore.mk	1969-12-31 16:00:00.000000000 -0800
@@ -1,28 +0,0 @@
-# Copyright (c) 1999-2007, International Business Machines Corporation and
-# others. All Rights Reserved.
-# A list of UCM's to build for core MIME/Unix/Windows encodings
-
-# Note: A number of encodings are handled with purely algorithmic converters,
-# without any mapping tables:
-# US-ASCII, ISO 8859-1, UTF-7/8/16/32, SCSU
-
-# Listed here:
-
-# ISO 8859-2..9, 15
-# Windows-125x
-# EUC-CN, GBK (Windows cp936), GB 18030
-# Big5 (Windows cp950)
-# SJIS (Windows cp932), EUC-JP
-# EUC-KR, KS C 5601, Windows cp949
-
-UCM_SOURCE_CORE=ibm-912_P100-1995.ucm ibm-913_P100-2000.ucm\
-ibm-914_P100-1995.ucm ibm-915_P100-1995.ucm ibm-5012_P100-1999.ucm\
-ibm-920_P100-1995.ucm ibm-923_P100-1998.ucm ibm-1089_P100-1995.ucm\
-ibm-4909_P100-1999.ucm\
-ibm-5346_P100-1998.ucm ibm-5347_P100-1998.ucm ibm-5348_P100-1997.ucm\
-ibm-5349_P100-1998.ucm ibm-5350_P100-1998.ucm ibm-9447_P100-2002.ucm\
-ibm-5352_P100-1998.ucm ibm-9449_P100-2002.ucm ibm-5354_P100-1998.ucm\
-ibm-1383_P110-1999.ucm ibm-1386_P100-2001.ucm gb18030.ucm\
-ibm-1373_P100-2002.ucm\
-ibm-943_P15A-2003.ucm ibm-33722_P12A_P12A-2004_U2.ucm\
-ibm-970_P110_P110-2006_U2.ucm ibm-949_P11A-1999.ucm ibm-1363_P11B-1998.ucm
diff -Naur a/source/data/mappings/ucmebcdic.mk b/source/data/mappings/ucmebcdic.mk
--- a/source/data/mappings/ucmebcdic.mk	2010-04-28 08:28:46.000000000 -0700
+++ b/source/data/mappings/ucmebcdic.mk	1969-12-31 16:00:00.000000000 -0800
@@ -1,29 +0,0 @@
-# Copyright (c) 1999-2010, International Business Machines Corporation and
-# others. All Rights Reserved.
-# A list of EBCDIC UCM's to build
-# ibm-37 and ibm-1047 are already mentioned in makedata.mak and Makefile.in
-
-UCM_SOURCE_EBCDIC = ebcdic-xml-us.ucm\
-ibm-1025_P100-1995.ucm ibm-1026_P100-1995.ucm ibm-1097_P100-1995.ucm\
-ibm-1112_P100-1995.ucm ibm-1122_P100-1999.ucm ibm-1130_P100-1997.ucm\
-ibm-1132_P100-1998.ucm ibm-1137_P100-1999.ucm ibm-1364_P110-2007.ucm\
-ibm-1371_P100-1999.ucm ibm-1388_P103-2001.ucm ibm-1390_P110-2003.ucm\
-ibm-1399_P110-2003.ucm ibm-870_P100-1995.ucm ibm-875_P100-1995.ucm\
-ibm-838_P100-1995.ucm ibm-918_P100-1995.ucm ibm-930_P120-1999.ucm\
-ibm-933_P110-1995.ucm ibm-935_P110-1999.ucm ibm-937_P110-1999.ucm\
-ibm-939_P120-1999.ucm ibm-1123_P100-1995.ucm ibm-1140_P100-1997.ucm\
-ibm-1141_P100-1997.ucm ibm-1142_P100-1997.ucm ibm-1143_P100-1997.ucm\
-ibm-1144_P100-1997.ucm ibm-1145_P100-1997.ucm ibm-1146_P100-1997.ucm\
-ibm-1147_P100-1997.ucm ibm-1148_P100-1997.ucm ibm-1149_P100-1997.ucm\
-ibm-1153_P100-1999.ucm ibm-1154_P100-1999.ucm ibm-1155_P100-1999.ucm\
-ibm-1156_P100-1999.ucm ibm-1157_P100-1999.ucm ibm-1158_P100-1999.ucm\
-ibm-1160_P100-1999.ucm ibm-1164_P100-1999.ucm ibm-871_P100-1995.ucm\
-ibm-12712_P100-1998.ucm ibm-16804_X110-1999.ucm ibm-273_P100-1995.ucm\
-ibm-277_P100-1995.ucm ibm-278_P100-1995.ucm ibm-280_P100-1995.ucm\
-ibm-284_P100-1995.ucm ibm-285_P100-1995.ucm ibm-290_P100-1995.ucm\
-ibm-297_P100-1995.ucm ibm-420_X120-1999.ucm ibm-424_P100-1995.ucm\
-ibm-4517_P100-2005.ucm ibm-4899_P100-1998.ucm ibm-4971_P100-1999.ucm\
-ibm-500_P100-1995.ucm ibm-5123_P100-1999.ucm ibm-803_P100-1999.ucm\
-ibm-8482_P100-1999.ucm ibm-9067_X100-2005.ucm ibm-16684_P110-2003.ucm
-
-#UCM_SOURCE_EBCDIC_IGNORE_SISO =
\ No newline at end of file
diff -Naur a/source/data/mappings/ucmfiles.mk b/source/data/mappings/ucmfiles.mk
--- a/source/data/mappings/ucmfiles.mk	2010-04-28 08:28:46.000000000 -0700
+++ b/source/data/mappings/ucmfiles.mk	1969-12-31 16:00:00.000000000 -0800
@@ -1,116 +0,0 @@
-# Copyright (c) 1999-2010, International Business Machines Corporation and
-# others. All Rights Reserved.
-# 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 add EBCDIC converters that uses different SI/SO characters:
-#    Note: ICU is updated to handle three EBCDIC converters (JIPS, KEIS, and JEF) which uses 
-#          different SI/SO characters than the "standard" ones:  0xf/0xe.
-#          This behaviour is done in the mbcs converter code and is turned on if for that converter
-#          if the name contains either JIPS, KEIS, or JEF. (e.g. my_KEIS_converter.ucm) 
-#    _____________________________________________________
-#    |  UCM_SOURCE_EBCDIC_IGNORE_SISO_LOCAL = my_KEIS_converter.ucm
-#
-#  * To REPLACE the default list and only build with a few
-#     converters:
-#    _____________________________________________________
-#    |  UCM_SOURCE = ibm-913.ucm ibm-949.ucm ibm-37.ucm
-#
-# If you are planning to exclude EBCDIC mappings in you data then please delete
-# ucmebcdic.mk from the <icu>/source/data directory
-#
-
-UCM_SOURCE_FILES = ibm-437_P100-1995.ucm\
-ibm-737_P100-1997.ucm\
-ibm-720_P100-1997.ucm\
-ibm-775_P100-1996.ucm\
-ibm-813_P100-1995.ucm\
-ibm-850_P100-1995.ucm\
-ibm-851_P100-1995.ucm\
-ibm-852_P100-1995.ucm\
-ibm-855_P100-1995.ucm\
-ibm-856_P100-1995.ucm\
-ibm-857_P100-1995.ucm\
-ibm-858_P100-1997.ucm\
-ibm-860_P100-1995.ucm\
-ibm-861_P100-1995.ucm\
-ibm-862_P100-1995.ucm\
-ibm-863_P100-1995.ucm\
-ibm-864_X110-1999.ucm\
-ibm-865_P100-1995.ucm\
-ibm-866_P100-1995.ucm\
-ibm-867_P100-1998.ucm\
-ibm-868_P100-1995.ucm\
-ibm-869_P100-1995.ucm\
-ibm-874_P100-1995.ucm\
-ibm-878_P100-1996.ucm\
-ibm-901_P100-1999.ucm\
-ibm-902_P100-1999.ucm\
-ibm-916_P100-1995.ucm\
-ibm-921_P100-1995.ucm\
-ibm-922_P100-1999.ucm\
-ibm-1006_P100-1995.ucm\
-ibm-1051_P100-1995.ucm\
-ibm-1098_P100-1995.ucm\
-ibm-1124_P100-1996.ucm\
-ibm-1125_P100-1997.ucm\
-ibm-1129_P100-1997.ucm\
-ibm-1131_P100-1997.ucm\
-ibm-1133_P100-1997.ucm\
-ibm-1162_P100-1999.ucm\
-ibm-1168_P100-2002.ucm\
-ibm-1250_P100-1995.ucm\
-ibm-1251_P100-1995.ucm\
-ibm-1252_P100-2000.ucm\
-ibm-1253_P100-1995.ucm\
-ibm-1254_P100-1995.ucm\
-ibm-1255_P100-1995.ucm\
-ibm-1256_P110-1997.ucm\
-ibm-1257_P100-1995.ucm\
-ibm-1258_P100-1997.ucm\
-ibm-1276_P100-1995.ucm\
-ibm-5351_P100-1998.ucm\
-ibm-5353_P100-1998.ucm\
-ibm-942_P12A-1999.ucm\
-ibm-943_P130-1999.ucm\
-ibm-949_P110-1999.ucm\
-ibm-950_P110-1999.ucm\
-ibm-954_P101-2007.ucm\
-ibm-964_P110-1999.ucm\
-ibm-971_P100-1995.ucm\
-ibm-1363_P110-1997.ucm\
-ibm-1375_P100-2007.ucm\
-ibm-5471_P100-2006.ucm\
-ibm-9005_X110-2007.ucm\
-ibm-9448_X100-2005.ucm\
-ibm-33722_P120-1999.ucm\
-iso-8859_10-1998.ucm\
-iso-8859_11-2001.ucm\
-iso-8859_14-1998.ucm\
-macos-0_2-10.2.ucm\
-macos-6_2-10.4.ucm\
-macos-7_3-10.2.ucm\
-macos-29-10.2.ucm\
-macos-35-10.2.ucm\
-windows-874-2000.ucm\
-windows-936-2000.ucm\
-windows-949-2000.ucm\
-windows-950-2000.ucm\
-jisx-212.ucm\
-iso-ir-165.ucm cns-11643-1992.ucm\
-ibm-5478_P100-1995.ucm\
-icu-internal-25546.ucm lmb-excp.ucm
-
diff -Naur a/source/data/misc/miscfiles.mk b/source/data/misc/miscfiles.mk
--- a/source/data/misc/miscfiles.mk	2010-04-28 08:28:24.000000000 -0700
+++ b/source/data/misc/miscfiles.mk	1969-12-31 16:00:00.000000000 -0800
@@ -1,26 +0,0 @@
-# *   Copyright (C) 2003-2010, International Business Machines
-# *   Corporation and others.  All Rights Reserved.
-# A list of txt'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 'misclocal.mk' file in this same directory.
-# Then, you can have your local changes remain even if you upgrade or re-
-# configure ICU.
-#
-# Example 'misclocal.mk' files:
-#
-#  * To add an additional file to the list: 
-#    _____________________________________________________
-#    |  MISC_SOURCE_LOCAL =   myFile.txt ...
-#
-#  * To REPLACE the default list and only build a subset of files:
-#    _____________________________________________________
-#    |  MISC_SOURCE = zoneinfo.txt
-#
-#
-
-MISC_SOURCE = \
-zoneinfo64.txt supplementalData.txt likelySubtags.txt plurals.txt numberingSystems.txt icuver.txt icustd.txt metaZones.txt windowsZones.txt keyTypeData.txt timezoneTypes.txt
diff -Naur a/source/data/rbnf/rbnffiles.mk b/source/data/rbnf/rbnffiles.mk
--- a/source/data/rbnf/rbnffiles.mk	2010-04-28 08:28:16.000000000 -0700
+++ b/source/data/rbnf/rbnffiles.mk	1969-12-31 16:00:00.000000000 -0800
@@ -1,50 +0,0 @@
-# *   Copyright (C) 1998-2010, International Business Machines
-# *   Corporation and others.  All Rights Reserved.
-RBNF_CLDR_VERSION = 1.8.1
-# A list of txt'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 'rbnflocal.mk' file in this same directory.
-# Then, you can have your local changes remain even if you upgrade or
-# reconfigure ICU.
-#
-# Example 'rbnflocal.mk' files:
-#
-#  * To add an additional locale to the list:
-#    _____________________________________________________
-#    |  RBNF_SOURCE_LOCAL =   myLocale.txt ...
-#
-#  * To REPLACE the default list and only build with a few
-#    locales:
-#    _____________________________________________________
-#    |  RBNF_SOURCE = ar.txt ar_AE.txt en.txt de.txt zh.txt
-#
-#
-# Generated by LDML2ICUConverter, from LDML source files.
-
-# Aliases without a corresponding xx.xml file (see icu-config.xml & build.xml)
-RBNF_SYNTHETIC_ALIAS =
-
-
-# All aliases (to not be included under 'installed'), but not including root.
-RBNF_ALIAS_SOURCE = $(RBNF_SYNTHETIC_ALIAS)
-
-
-# Ordinary resources
-RBNF_SOURCE = af.txt am.txt ar.txt az.txt\
- be.txt bg.txt ca.txt cs.txt cy.txt\
- da.txt de.txt el.txt en.txt eo.txt\
- es.txt et.txt fa.txt fa_AF.txt fi.txt\
- fil.txt fo.txt fr.txt fr_BE.txt fr_CH.txt\
- ga.txt he.txt hi.txt hr.txt hu.txt\
- hy.txt id.txt is.txt it.txt ja.txt\
- ka.txt kl.txt ko.txt lt.txt lv.txt\
- mk.txt ms.txt mt.txt nb.txt nl.txt\
- nn.txt pl.txt pt.txt pt_PT.txt ro.txt\
- ru.txt sk.txt sl.txt sq.txt sr.txt\
- sr_Latn.txt sv.txt ta.txt th.txt tr.txt\
- uk.txt vi.txt zh.txt zh_Hant.txt
-
diff -Naur a/source/data/region/resfiles.mk b/source/data/region/resfiles.mk
--- a/source/data/region/resfiles.mk	2010-04-28 08:28:12.000000000 -0700
+++ b/source/data/region/resfiles.mk	1969-12-31 16:00:00.000000000 -0800
@@ -1,81 +0,0 @@
-# *   Copyright (C) 1998-2010, International Business Machines
-# *   Corporation and others.  All Rights Reserved.
-REGION_CLDR_VERSION = 1.8.1
-# A list of txt'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 'reslocal.mk' file in this same directory.
-# Then, you can have your local changes remain even if you upgrade or
-# reconfigure ICU.
-#
-# Example 'reslocal.mk' files:
-#
-#  * To add an additional locale to the list:
-#    _____________________________________________________
-#    |  REGION_SOURCE_LOCAL =   myLocale.txt ...
-#
-#  * To REPLACE the default list and only build with a few
-#    locales:
-#    _____________________________________________________
-#    |  REGION_SOURCE = ar.txt ar_AE.txt en.txt de.txt zh.txt
-#
-#
-# Generated by LDML2ICUConverter, from LDML source files.
-
-# Aliases without a corresponding xx.xml file (see icu-config.xml & build.xml)
-REGION_SYNTHETIC_ALIAS = en_RH.txt en_ZW.txt he_IL.txt id_ID.txt\
- in_ID.txt iw_IL.txt ja_JP.txt ja_JP_TRADITIONAL.txt nb_NO.txt\
- nn_NO.txt no_NO.txt no_NO_NY.txt th_TH.txt th_TH_TRADITIONAL.txt
-
-
-# All aliases (to not be included under 'installed'), but not including root.
-REGION_ALIAS_SOURCE = $(REGION_SYNTHETIC_ALIAS) az_AZ.txt ha_GH.txt ha_NE.txt ha_NG.txt\
- in.txt iw.txt kk_KZ.txt no.txt pa_IN.txt\
- pa_PK.txt sh.txt sh_BA.txt sh_CS.txt sh_YU.txt\
- shi_MA.txt sr_BA.txt sr_CS.txt sr_Cyrl_CS.txt sr_Cyrl_YU.txt\
- sr_Latn_CS.txt sr_Latn_YU.txt sr_ME.txt sr_RS.txt sr_YU.txt\
- tl.txt tzm_MA.txt uz_AF.txt uz_UZ.txt zh_CN.txt\
- zh_HK.txt zh_MO.txt zh_SG.txt zh_TW.txt
-
-
-# Ordinary resources
-REGION_SOURCE = af.txt ak.txt am.txt ar.txt\
- as.txt asa.txt az.txt az_Cyrl.txt az_Latn.txt\
- az_Latn_AZ.txt be.txt bem.txt bez.txt bg.txt\
- bm.txt bn.txt bo.txt ca.txt cgg.txt\
- chr.txt cs.txt cy.txt da.txt dav.txt\
- de.txt de_CH.txt ebu.txt ee.txt el.txt\
- en.txt eo.txt es.txt es_CL.txt et.txt\
- eu.txt fa.txt fa_AF.txt ff.txt fi.txt\
- fil.txt fo.txt fr.txt ga.txt gl.txt\
- gsw.txt gu.txt guz.txt gv.txt ha.txt\
- ha_Latn.txt ha_Latn_GH.txt ha_Latn_NE.txt ha_Latn_NG.txt haw.txt\
- he.txt hi.txt hr.txt hu.txt hy.txt\
- id.txt ig.txt ii.txt is.txt it.txt\
- ja.txt jmc.txt ka.txt kab.txt kam.txt\
- kde.txt kea.txt khq.txt ki.txt kk.txt\
- kk_Cyrl.txt kk_Cyrl_KZ.txt kl.txt kln.txt km.txt\
- kn.txt ko.txt kok.txt kw.txt lag.txt\
- lg.txt lt.txt luo.txt luy.txt lv.txt\
- mas.txt mer.txt mfe.txt mg.txt mk.txt\
- ml.txt mr.txt ms.txt mt.txt naq.txt\
- nb.txt nd.txt ne.txt nl.txt nl_BE.txt\
- nn.txt nyn.txt om.txt or.txt pa.txt\
- pa_Arab.txt pa_Arab_PK.txt pa_Guru.txt pa_Guru_IN.txt pl.txt\
- ps.txt pt.txt pt_PT.txt rm.txt ro.txt\
- rof.txt ru.txt rw.txt rwk.txt saq.txt\
- seh.txt ses.txt sg.txt shi.txt shi_Latn.txt\
- shi_Latn_MA.txt shi_Tfng.txt si.txt sk.txt sl.txt\
- sn.txt so.txt sq.txt sr.txt sr_Cyrl.txt\
- sr_Cyrl_BA.txt sr_Cyrl_RS.txt sr_Latn.txt sr_Latn_BA.txt sr_Latn_ME.txt\
- sr_Latn_RS.txt sv.txt sv_FI.txt sw.txt ta.txt\
- te.txt teo.txt th.txt ti.txt to.txt\
- tr.txt tzm.txt tzm_Latn.txt tzm_Latn_MA.txt uk.txt\
- ur.txt uz.txt uz_Arab.txt uz_Arab_AF.txt uz_Cyrl.txt\
- uz_Cyrl_UZ.txt uz_Latn.txt vi.txt vun.txt xog.txt\
- yo.txt zh.txt zh_Hans.txt zh_Hans_CN.txt zh_Hans_SG.txt\
- zh_Hant.txt zh_Hant_HK.txt zh_Hant_MO.txt zh_Hant_TW.txt zu.txt
-
diff -Naur a/source/data/sprep/sprepfiles.mk b/source/data/sprep/sprepfiles.mk
--- a/source/data/sprep/sprepfiles.mk	2010-04-28 08:28:22.000000000 -0700
+++ b/source/data/sprep/sprepfiles.mk	1969-12-31 16:00:00.000000000 -0800
@@ -1,27 +0,0 @@
-# *   Copyright (C) 2009, International Business Machines
-# *   Corporation and others.  All Rights Reserved.
-# A list of txt'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 'brklocal.mk' file in this same directory.
-# Then, you can have your local changes remain even if you upgrade or
-# reconfigure ICU.
-#
-# Example 'spreplocal.mk' files:
-#
-#  * To add an additional locale to the list: 
-#    _____________________________________________________
-#    |  SPREP_SOURCE_LOCAL =   myStringPrep.txt ...
-#
-#  * To REPLACE the default list and only build a subset of files:
-#    _____________________________________________________
-#    |  SPREP_SOURCE = rfc4518.txt
-#
-#
-SPREP_SOURCE = \
-rfc3491.txt rfc3530cs.txt rfc3530csci.txt rfc3530mixp.txt rfc3722.txt \
-rfc3920node.txt rfc3920res.txt rfc4011.txt rfc4013.txt rfc4505.txt \
-rfc4518.txt rfc4518ci.txt
diff -Naur a/source/data/translit/trnsfiles.mk b/source/data/translit/trnsfiles.mk
--- a/source/data/translit/trnsfiles.mk	2010-04-28 08:28:26.000000000 -0700
+++ b/source/data/translit/trnsfiles.mk	1969-12-31 16:00:00.000000000 -0800
@@ -1,26 +0,0 @@
-# *   Copyright (C) 1997-2006, International Business Machines
-# *   Corporation and others.  All Rights Reserved.
-# A list of txt'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 'trnslocal.mk' file in this same directory.
-# Then, you can have your local changes remain even if you upgrade or re
-# configure the ICU.
-#
-# Example 'trnslocal.mk' files:
-#
-#  * To add an additional transliterators to the list: 
-#    _____________________________________________________
-#    |  TRANSLIT_SOURCE_LOCAL =   myTranslitRules.txt ...
-#
-#  * To REPLACE the default list and only build with a few
-#     transliterators:
-#    _____________________________________________________
-#    |  TRANLIST_SOURCE = el.txt th.txt
-#
-#
-
-TRANSLIT_SOURCE=root.txt en.txt el.txt
diff -Naur a/source/data/zone/resfiles.mk b/source/data/zone/resfiles.mk
--- a/source/data/zone/resfiles.mk	2010-04-28 08:28:40.000000000 -0700
+++ b/source/data/zone/resfiles.mk	1969-12-31 16:00:00.000000000 -0800
@@ -1,82 +0,0 @@
-# *   Copyright (C) 1998-2010, International Business Machines
-# *   Corporation and others.  All Rights Reserved.
-ZONE_CLDR_VERSION = 1.8.1
-# A list of txt'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 'reslocal.mk' file in this same directory.
-# Then, you can have your local changes remain even if you upgrade or
-# reconfigure ICU.
-#
-# Example 'reslocal.mk' files:
-#
-#  * To add an additional locale to the list:
-#    _____________________________________________________
-#    |  ZONE_SOURCE_LOCAL =   myLocale.txt ...
-#
-#  * To REPLACE the default list and only build with a few
-#    locales:
-#    _____________________________________________________
-#    |  ZONE_SOURCE = ar.txt ar_AE.txt en.txt de.txt zh.txt
-#
-#
-# Generated by LDML2ICUConverter, from LDML source files.
-
-# Aliases without a corresponding xx.xml file (see icu-config.xml & build.xml)
-ZONE_SYNTHETIC_ALIAS = en_RH.txt he_IL.txt id_ID.txt in_ID.txt\
- iw_IL.txt ja_JP.txt ja_JP_TRADITIONAL.txt nb_NO.txt nn_NO.txt\
- no_NO.txt no_NO_NY.txt th_TH.txt th_TH_TRADITIONAL.txt
-
-
-# All aliases (to not be included under 'installed'), but not including root.
-ZONE_ALIAS_SOURCE = $(ZONE_SYNTHETIC_ALIAS) az_AZ.txt ha_GH.txt ha_NE.txt ha_NG.txt\
- in.txt iw.txt kk_KZ.txt no.txt pa_IN.txt\
- pa_PK.txt sh.txt sh_BA.txt sh_CS.txt sh_YU.txt\
- shi_MA.txt sr_BA.txt sr_CS.txt sr_Cyrl_CS.txt sr_Cyrl_YU.txt\
- sr_Latn_CS.txt sr_Latn_YU.txt sr_ME.txt sr_RS.txt sr_YU.txt\
- tl.txt tzm_MA.txt uz_AF.txt uz_UZ.txt zh_CN.txt\
- zh_HK.txt zh_MO.txt zh_SG.txt zh_TW.txt
-
-
-# Ordinary resources
-ZONE_SOURCE = af.txt ak.txt am.txt ar.txt\
- as.txt asa.txt az.txt az_Cyrl.txt az_Latn.txt\
- az_Latn_AZ.txt be.txt bem.txt bez.txt bg.txt\
- bm.txt bn.txt bo.txt ca.txt cgg.txt\
- chr.txt cs.txt cy.txt da.txt dav.txt\
- de.txt ebu.txt ee.txt el.txt en.txt\
- en_AU.txt en_CA.txt en_GB.txt en_NZ.txt en_ZA.txt\
- en_ZW.txt eo.txt es.txt et.txt eu.txt\
- fa.txt ff.txt fi.txt fil.txt fo.txt\
- fr.txt fr_CA.txt ga.txt gl.txt gsw.txt\
- gu.txt guz.txt gv.txt ha.txt ha_Latn.txt\
- ha_Latn_GH.txt ha_Latn_NE.txt ha_Latn_NG.txt haw.txt he.txt\
- hi.txt hr.txt hu.txt hy.txt id.txt\
- ig.txt ii.txt is.txt it.txt ja.txt\
- jmc.txt ka.txt kab.txt kam.txt kde.txt\
- kea.txt khq.txt ki.txt kk.txt kk_Cyrl.txt\
- kk_Cyrl_KZ.txt kl.txt kln.txt km.txt kn.txt\
- ko.txt kok.txt kw.txt lag.txt lg.txt\
- lt.txt luo.txt luy.txt lv.txt mas.txt\
- mer.txt mfe.txt mg.txt mk.txt ml.txt\
- mr.txt ms.txt mt.txt naq.txt nb.txt\
- nd.txt ne.txt nl.txt nn.txt nyn.txt\
- om.txt or.txt pa.txt pa_Arab.txt pa_Arab_PK.txt\
- pa_Guru.txt pa_Guru_IN.txt pl.txt ps.txt pt.txt\
- pt_PT.txt rm.txt ro.txt rof.txt ru.txt\
- rw.txt rwk.txt saq.txt seh.txt ses.txt\
- sg.txt shi.txt shi_Latn.txt shi_Latn_MA.txt shi_Tfng.txt\
- si.txt sk.txt sl.txt sn.txt so.txt\
- sq.txt sr.txt sr_Cyrl.txt sr_Cyrl_BA.txt sr_Cyrl_RS.txt\
- sr_Latn.txt sr_Latn_BA.txt sr_Latn_ME.txt sr_Latn_RS.txt sv.txt\
- sw.txt ta.txt te.txt teo.txt th.txt\
- ti.txt to.txt tr.txt tzm.txt tzm_Latn.txt\
- tzm_Latn_MA.txt uk.txt ur.txt uz.txt uz_Arab.txt\
- uz_Arab_AF.txt uz_Cyrl.txt uz_Cyrl_UZ.txt uz_Latn.txt vi.txt\
- vun.txt xog.txt yo.txt zh.txt zh_Hans.txt\
- zh_Hans_CN.txt zh_Hans_SG.txt zh_Hant.txt zh_Hant_HK.txt zh_Hant_MO.txt\
- zh_Hant_TW.txt zu.txt
-
