1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/intl/icu/source/data/makedata.mak Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,1019 @@ 1.4 +#********************************************************************** 1.5 +#* Copyright (C) 1999-2013, International Business Machines Corporation 1.6 +#* and others. All Rights Reserved. 1.7 +#********************************************************************** 1.8 +# nmake file for creating data files on win32 1.9 +# invoke with 1.10 +# nmake /f makedata.mak icumake=$(ProjectDir) 1.11 +# 1.12 +# 12/10/1999 weiv Created 1.13 + 1.14 +############################################################################## 1.15 +# Keep the following in sync with the version - see common/unicode/uvernum.h 1.16 +U_ICUDATA_NAME=icudt52 1.17 +############################################################################## 1.18 +U_ICUDATA_ENDIAN_SUFFIX=l 1.19 +UNICODE_VERSION=6.3 1.20 +ICU_LIB_TARGET=$(DLL_OUTPUT)\$(U_ICUDATA_NAME).dll 1.21 + 1.22 +# ICUMAKE 1.23 +# Must be provided by whoever runs this makefile. 1.24 +# Is the directory containing this file (makedata.mak) 1.25 +# Is the directory into which most data is built (prior to packaging) 1.26 +# Is icu\source\data\ 1.27 +# 1.28 +!IF "$(ICUMAKE)"=="" 1.29 +!ERROR Can't find ICUMAKE (ICU Data Make dir, should point to icu\source\data\ )! 1.30 +!ENDIF 1.31 +!MESSAGE ICU data make path is $(ICUMAKE) 1.32 + 1.33 +# Suffixes for data files 1.34 +.SUFFIXES : .nrm .icu .ucm .cnv .dll .dat .res .txt .c 1.35 + 1.36 +ICUOUT=$(ICUMAKE)\out 1.37 + 1.38 +# the prefix "icudt21_" for use in filenames 1.39 +ICUPKG=$(U_ICUDATA_NAME)$(U_ICUDATA_ENDIAN_SUFFIX) 1.40 + 1.41 +# need to nuke \\ for .NET... 1.42 +ICUOUT=$(ICUOUT:\\=\) 1.43 + 1.44 +ICUBLD=$(ICUOUT)\build 1.45 +ICUBLD_PKG=$(ICUBLD)\$(ICUPKG) 1.46 +ICUTMP=$(ICUOUT)\tmp 1.47 + 1.48 +# ICUP 1.49 +# The root of the ICU source directory tree 1.50 +# 1.51 +ICUP=$(ICUMAKE)\..\.. 1.52 +ICUP=$(ICUP:\source\data\..\..=) 1.53 +# In case the first one didn't do it, try this one. .NET would do the second one. 1.54 +ICUP=$(ICUP:\source\data\\..\..=) 1.55 +!MESSAGE ICU root path is $(ICUP) 1.56 + 1.57 + 1.58 +# ICUSRCDATA 1.59 +# The data directory in source 1.60 +# 1.61 +ICUSRCDATA=$(ICUP)\source\data 1.62 +ICUSRCDATA_RELATIVE_PATH=..\..\.. 1.63 + 1.64 +# ICUUCM 1.65 +# The directory that contains ucmcore.mk files along with *.ucm files 1.66 +# 1.67 +ICUUCM=mappings 1.68 + 1.69 +# ICULOC 1.70 +# The directory that contains resfiles.mk files along with *.txt locale data files 1.71 +# 1.72 +ICULOC=locales 1.73 + 1.74 +# ICUCOL 1.75 +# The directory that contains colfiles.mk files along with *.txt collation data files 1.76 +# 1.77 +ICUCOL=coll 1.78 + 1.79 +# ICURBNF 1.80 +# The directory that contains rbnffiles.mk files along with *.txt RBNF data files 1.81 +# 1.82 +ICURBNF=rbnf 1.83 + 1.84 +# ICUTRNS 1.85 +# The directory that contains trfiles.mk files along with *.txt transliterator files 1.86 +# 1.87 +ICUTRNS=translit 1.88 + 1.89 +# ICUBRK 1.90 +# The directory that contains resfiles.mk files along with *.txt break iterator files 1.91 +# 1.92 +ICUBRK=brkitr 1.93 + 1.94 +# ICUUNIDATA 1.95 +# The directory that contains Unicode data files 1.96 +# 1.97 +ICUUNIDATA=$(ICUP)\source\data\unidata 1.98 + 1.99 + 1.100 +# ICUMISC 1.101 +# The directory that contains miscfiles.mk along with files that are miscelleneous data 1.102 +# 1.103 +ICUMISC=$(ICUP)\source\data\misc 1.104 +ICUMISC2=misc 1.105 + 1.106 +# ICUSPREP 1.107 +# The directory that contains sprepfiles.mk files along with *.txt stringprep files 1.108 +# 1.109 +ICUSPREP=sprep 1.110 + 1.111 +# 1.112 +# ICUDATA 1.113 +# The source directory. Contains the source files for the common data to be built. 1.114 +# WARNING: NOT THE SAME AS ICU_DATA environment variable. Confusing. 1.115 +ICUDATA=$(ICUP)\source\data 1.116 + 1.117 +# 1.118 +# DLL_OUTPUT 1.119 +# Destination directory for the common data DLL file. 1.120 +# This is the same place that all of the other ICU DLLs go (the code-containing DLLs) 1.121 +# The lib file for the data DLL goes in $(DLL_OUTPUT)/../lib/ 1.122 +# 1.123 +!IF "$(CFG)" == "x64\Release" || "$(CFG)" == "x64\Debug" 1.124 +DLL_OUTPUT=$(ICUP)\bin64 1.125 +!ELSE 1.126 +DLL_OUTPUT=$(ICUP)\bin 1.127 +!ENDIF 1.128 + 1.129 +# 1.130 +# TESTDATA 1.131 +# The source directory for data needed for test programs. 1.132 +TESTDATA=$(ICUP)\source\test\testdata 1.133 + 1.134 +# 1.135 +# TESTDATAOUT 1.136 +# The destination directory for the built test data .dat file 1.137 +TESTDATAOUT=$(ICUP)\source\test\testdata\out 1.138 + 1.139 +# 1.140 +# TESTDATABLD 1.141 +# The build directory for test data intermidiate files 1.142 +# (Tests are NOT run from this makefile, 1.143 +# only the data is put in place.) 1.144 +TESTDATABLD=$(ICUP)\source\test\testdata\out\build 1.145 + 1.146 +# 1.147 +# ICUTOOLS 1.148 +# Directory under which all of the ICU data building tools live. 1.149 +# 1.150 +ICUTOOLS=$(ICUP)\source\tools 1.151 + 1.152 +# The current ICU tools need to be in the path first. 1.153 +!IF "$(CFG)" == "x64\Release" || "$(CFG)" == "x64\Debug" 1.154 +PATH = $(ICUP)\bin64;$(PATH) 1.155 +ICUPBIN=$(ICUP)\bin64 1.156 +!ELSE 1.157 +PATH = $(ICUP)\bin;$(PATH) 1.158 +ICUPBIN=$(ICUP)\bin 1.159 +!ENDIF 1.160 + 1.161 + 1.162 +# This variable can be overridden to "-m static" by the project settings, 1.163 +# if you want a static data library. 1.164 +!IF "$(ICU_PACKAGE_MODE)"=="" 1.165 +ICU_PACKAGE_MODE=-m dll 1.166 +!ENDIF 1.167 + 1.168 +# If this archive exists, build from that 1.169 +# instead of building everything from scratch. 1.170 +ICUDATA_SOURCE_ARCHIVE=$(ICUSRCDATA)\in\$(ICUPKG).dat 1.171 +!IF !EXISTS("$(ICUDATA_SOURCE_ARCHIVE)") 1.172 +# Does a big endian version exist either? 1.173 +ICUDATA_ARCHIVE=$(ICUSRCDATA)\in\$(U_ICUDATA_NAME)b.dat 1.174 +!IF EXISTS("$(ICUDATA_ARCHIVE)") 1.175 +ICUDATA_SOURCE_ARCHIVE=$(ICUTMP)\$(ICUPKG).dat 1.176 +!ELSE 1.177 +# Nothing was usable for input 1.178 +!UNDEF ICUDATA_SOURCE_ARCHIVE 1.179 +!ENDIF 1.180 +!ENDIF 1.181 + 1.182 +!IFDEF ICUDATA_SOURCE_ARCHIVE 1.183 +!MESSAGE ICU data source archive is $(ICUDATA_SOURCE_ARCHIVE) 1.184 +!ELSE 1.185 +# We're including a list of .ucm files. 1.186 +# There are several lists, they are all optional. 1.187 + 1.188 +# Always build the mapping files for the EBCDIC fallback codepages 1.189 +# They are necessary on EBCDIC machines, and 1.190 +# the following logic is much easier if UCM_SOURCE is never empty. 1.191 +# (They are small.) 1.192 +UCM_SOURCE=ibm-37_P100-1995.ucm ibm-1047_P100-1995.ucm 1.193 + 1.194 +!IF EXISTS("$(ICUSRCDATA)\$(ICUUCM)\ucmcore.mk") 1.195 +!INCLUDE "$(ICUSRCDATA)\$(ICUUCM)\ucmcore.mk" 1.196 +UCM_SOURCE=$(UCM_SOURCE) $(UCM_SOURCE_CORE) 1.197 +!ELSE 1.198 +!MESSAGE Warning: cannot find "ucmcore.mk". Not building core MIME/Unix/Windows converter files. 1.199 +!ENDIF 1.200 + 1.201 +!IF EXISTS("$(ICUSRCDATA)\$(ICUUCM)\ucmfiles.mk") 1.202 +!INCLUDE "$(ICUSRCDATA)\$(ICUUCM)\ucmfiles.mk" 1.203 +UCM_SOURCE=$(UCM_SOURCE) $(UCM_SOURCE_FILES) 1.204 +!ELSE 1.205 +!MESSAGE Warning: cannot find "ucmfiles.mk". Not building many converter files. 1.206 +!ENDIF 1.207 + 1.208 +!IF EXISTS("$(ICUSRCDATA)\$(ICUUCM)\ucmebcdic.mk") 1.209 +!INCLUDE "$(ICUSRCDATA)\$(ICUUCM)\ucmebcdic.mk" 1.210 +UCM_SOURCE=$(UCM_SOURCE) $(UCM_SOURCE_EBCDIC) 1.211 +!IFDEF UCM_SOURCE_EBCDIC_IGNORE_SISO 1.212 +BUILD_SPECIAL_CNV_FILES=YES 1.213 +UCM_SOURCE_SPECIAL=$(UCM_SOURCE_EBCDIC_IGNORE_SISO) 1.214 +!ELSE 1.215 +!UNDEF BUILD_SPECIAL_CNV_FILES 1.216 +!ENDIF 1.217 +!ELSE 1.218 +!MESSAGE Warning: cannot find "ucmebcdic.mk". Not building EBCDIC converter files. 1.219 +!ENDIF 1.220 + 1.221 +!IF EXISTS("$(ICUSRCDATA)\$(ICUUCM)\ucmlocal.mk") 1.222 +!INCLUDE "$(ICUSRCDATA)\$(ICUUCM)\ucmlocal.mk" 1.223 +UCM_SOURCE=$(UCM_SOURCE) $(UCM_SOURCE_LOCAL) 1.224 +!IFDEF UCM_SOURCE_EBCDIC_IGNORE_SISO_LOCAL 1.225 +UCM_SOURCE_SPECIAL=$(UCM_SOURCE_SPECIAL) $(UCM_SOURCE_EBCDIC_IGNORE_SISO_LOCAL) 1.226 +BUILD_SPECIAL_CNV_FILES=YES 1.227 +!ENDIF 1.228 +!ELSE 1.229 +!MESSAGE Information: cannot find "ucmlocal.mk". Not building user-additional converter files. 1.230 +!ENDIF 1.231 + 1.232 +CNV_FILES=$(UCM_SOURCE:.ucm=.cnv) 1.233 +!IFDEF BUILD_SPECIAL_CNV_FILES 1.234 +CNV_FILES_SPECIAL=$(UCM_SOURCE_SPECIAL:.ucm=.cnv) 1.235 +!ENDIF 1.236 + 1.237 +!IF EXISTS("$(ICUSRCDATA)\$(ICUBRK)\brkfiles.mk") 1.238 +!INCLUDE "$(ICUSRCDATA)\$(ICUBRK)\brkfiles.mk" 1.239 +!IF EXISTS("$(ICUSRCDATA)\$(ICUBRK)\brklocal.mk") 1.240 +!INCLUDE "$(ICUSRCDATA)\$(ICUBRK)\brklocal.mk" 1.241 +BRK_SOURCE=$(BRK_SOURCE) $(BRK_SOURCE_LOCAL) 1.242 +BRK_DICT_SOURCE=$(BRK_DICT_SOURCE) $(BRK_DICT_SOURCE_LOCAL) 1.243 +BRK_RES_SOURCE=$(BRK_RES_SOURCE) $(BRK_RES_SOURCE_LOCAL) 1.244 +!ELSE 1.245 +!MESSAGE Information: cannot find "brklocal.mk". Not building user-additional break iterator files. 1.246 +!ENDIF 1.247 +!ELSE 1.248 +!MESSAGE Warning: cannot find "brkfiles.mk" 1.249 +!ENDIF 1.250 + 1.251 +# 1.252 +# Break iterator data files. 1.253 +# 1.254 +BRK_FILES=$(ICUBRK)\$(BRK_SOURCE:.txt =.brk brkitr\) 1.255 +BRK_FILES=$(BRK_FILES:.txt=.brk) 1.256 +BRK_FILES=$(BRK_FILES:brkitr\ =brkitr\) 1.257 + 1.258 +!IFDEF BRK_DICT_SOURCE 1.259 +BRK_DICT_FILES = $(ICUBRK)\$(BRK_DICT_SOURCE:.txt =.dict brkitr\) 1.260 +BRK_DICT_FILES = $(BRK_DICT_FILES:.txt=.dict) 1.261 +BRK_DICT_FILES = $(BRK_DICT_FILES:brkitr\ =brkitr\) 1.262 +!ENDIF 1.263 + 1.264 +!IFDEF BRK_RES_SOURCE 1.265 +BRK_RES_FILES = $(BRK_RES_SOURCE:.txt =.res brkitr\) 1.266 +BRK_RES_FILES = $(BRK_RES_FILES:.txt=.res) 1.267 +BRK_RES_FILES = $(ICUBRK)\root.res $(ICUBRK)\$(BRK_RES_FILES:brkitr\ =) 1.268 +ALL_RES = $(ALL_RES) $(ICUBRK)\res_index.res 1.269 +!ENDIF 1.270 + 1.271 +# Read list of locale resource bundle files 1.272 +!IF EXISTS("$(ICUSRCDATA)\$(ICULOC)\resfiles.mk") 1.273 +!INCLUDE "$(ICUSRCDATA)\$(ICULOC)\resfiles.mk" 1.274 +!IF EXISTS("$(ICUSRCDATA)\$(ICULOC)\reslocal.mk") 1.275 +!INCLUDE "$(ICUSRCDATA)\$(ICULOC)\reslocal.mk" 1.276 +GENRB_SOURCE=$(GENRB_SOURCE) $(GENRB_SOURCE_LOCAL) 1.277 +!ELSE 1.278 +!MESSAGE Information: cannot find "reslocal.mk". Not building user-additional resource bundle files. 1.279 +!ENDIF 1.280 +!ELSE 1.281 +!MESSAGE Warning: cannot find "resfiles.mk" 1.282 +!ENDIF 1.283 + 1.284 +!IFDEF GENRB_SOURCE 1.285 +RB_FILES = root.res pool.res $(GENRB_ALIAS_SOURCE:.txt=.res) $(GENRB_ALIAS_SOURCE_LOCAL:.txt=.res) $(GENRB_SOURCE:.txt=.res) 1.286 +ALL_RES = $(ALL_RES) res_index.res 1.287 +!ENDIF 1.288 + 1.289 + 1.290 +# Read the list of currency display name resource bundle files 1.291 +!IF EXISTS("$(ICUSRCDATA)\curr\resfiles.mk") 1.292 +!INCLUDE "$(ICUSRCDATA)\curr\resfiles.mk" 1.293 +!IF EXISTS("$(ICUSRCDATA)\curr\reslocal.mk") 1.294 +!INCLUDE "$(ICUSRCDATA)\curr\reslocal.mk" 1.295 +CURR_SOURCE=$(CURR_SOURCE) $(CURR_SOURCE_LOCAL) 1.296 +!ELSE 1.297 +!MESSAGE Information: cannot find "curr\reslocal.mk". Not building user-additional resource bundle files. 1.298 +!ENDIF 1.299 +!ELSE 1.300 +!MESSAGE Warning: cannot find "curr\resfiles.mk" 1.301 +!ENDIF 1.302 + 1.303 +!IFDEF CURR_SOURCE 1.304 +CURR_FILES = curr\root.txt supplementalData.txt $(CURR_ALIAS_SOURCE) $(CURR_SOURCE) 1.305 +CURR_RES_FILES = $(CURR_FILES:.txt =.res curr\) 1.306 +CURR_RES_FILES = $(CURR_RES_FILES:.txt=.res) 1.307 +CURR_RES_FILES = curr\pool.res $(CURR_RES_FILES:curr\ =curr\) 1.308 +ALL_RES = $(ALL_RES) curr\res_index.res 1.309 +!ENDIF 1.310 + 1.311 +# Read the list of language/script display name resource bundle files 1.312 +!IF EXISTS("$(ICUSRCDATA)\lang\resfiles.mk") 1.313 +!INCLUDE "$(ICUSRCDATA)\lang\resfiles.mk" 1.314 +!IF EXISTS("$(ICUSRCDATA)\lang\reslocal.mk") 1.315 +!INCLUDE "$(ICUSRCDATA)\lang\reslocal.mk" 1.316 +LANG_SOURCE=$(LANG_SOURCE) $(LANG_SOURCE_LOCAL) 1.317 +!ELSE 1.318 +!MESSAGE Information: cannot find "lang\reslocal.mk". Not building user-additional resource bundle files. 1.319 +!ENDIF 1.320 +!ELSE 1.321 +!MESSAGE Warning: cannot find "lang\resfiles.mk" 1.322 +!ENDIF 1.323 + 1.324 +!IFDEF LANG_SOURCE 1.325 +LANG_FILES = lang\root.txt $(LANG_ALIAS_SOURCE) $(LANG_SOURCE) 1.326 +LANG_RES_FILES = $(LANG_FILES:.txt =.res lang\) 1.327 +LANG_RES_FILES = $(LANG_RES_FILES:.txt=.res) 1.328 +LANG_RES_FILES = lang\pool.res $(LANG_RES_FILES:lang\ =lang\) 1.329 +ALL_RES = $(ALL_RES) lang\res_index.res 1.330 +!ENDIF 1.331 + 1.332 +# Read the list of region display name resource bundle files 1.333 +!IF EXISTS("$(ICUSRCDATA)\region\resfiles.mk") 1.334 +!INCLUDE "$(ICUSRCDATA)\region\resfiles.mk" 1.335 +!IF EXISTS("$(ICUSRCDATA)\region\reslocal.mk") 1.336 +!INCLUDE "$(ICUSRCDATA)\region\reslocal.mk" 1.337 +REGION_SOURCE=$(REGION_SOURCE) $(REGION_SOURCE_LOCAL) 1.338 +!ELSE 1.339 +!MESSAGE Information: cannot find "region\reslocal.mk". Not building user-additional resource bundle files. 1.340 +!ENDIF 1.341 +!ELSE 1.342 +!MESSAGE Warning: cannot find "region\resfiles.mk" 1.343 +!ENDIF 1.344 + 1.345 +!IFDEF REGION_SOURCE 1.346 +REGION_FILES = region\root.txt $(REGION_ALIAS_SOURCE) $(REGION_SOURCE) 1.347 +REGION_RES_FILES = $(REGION_FILES:.txt =.res region\) 1.348 +REGION_RES_FILES = $(REGION_RES_FILES:.txt=.res) 1.349 +REGION_RES_FILES = region\pool.res $(REGION_RES_FILES:region\ =region\) 1.350 +ALL_RES = $(ALL_RES) region\res_index.res 1.351 +!ENDIF 1.352 + 1.353 +# Read the list of time zone display name resource bundle files 1.354 +!IF EXISTS("$(ICUSRCDATA)\zone\resfiles.mk") 1.355 +!INCLUDE "$(ICUSRCDATA)\zone\resfiles.mk" 1.356 +!IF EXISTS("$(ICUSRCDATA)\zone\reslocal.mk") 1.357 +!INCLUDE "$(ICUSRCDATA)\zone\reslocal.mk" 1.358 +ZONE_SOURCE=$(ZONE_SOURCE) $(ZONE_SOURCE_LOCAL) 1.359 +!ELSE 1.360 +!MESSAGE Information: cannot find "zone\reslocal.mk". Not building user-additional resource bundle files. 1.361 +!ENDIF 1.362 +!ELSE 1.363 +!MESSAGE Warning: cannot find "zone\resfiles.mk" 1.364 +!ENDIF 1.365 + 1.366 +!IFDEF ZONE_SOURCE 1.367 +ZONE_FILES = zone\root.txt $(ZONE_ALIAS_SOURCE) $(ZONE_SOURCE) 1.368 +ZONE_RES_FILES = $(ZONE_FILES:.txt =.res zone\) 1.369 +ZONE_RES_FILES = $(ZONE_RES_FILES:.txt=.res) 1.370 +ZONE_RES_FILES = zone\pool.res $(ZONE_RES_FILES:zone\ =zone\) 1.371 +ALL_RES = $(ALL_RES) zone\res_index.res 1.372 +!ENDIF 1.373 + 1.374 +# Read the list of collation resource bundle files 1.375 +!IF EXISTS("$(ICUSRCDATA)\$(ICUCOL)\colfiles.mk") 1.376 +!INCLUDE "$(ICUSRCDATA)\$(ICUCOL)\colfiles.mk" 1.377 +!IF EXISTS("$(ICUSRCDATA)\$(ICUCOL)\collocal.mk") 1.378 +!INCLUDE "$(ICUSRCDATA)\$(ICUCOL)\collocal.mk" 1.379 +COLLATION_SOURCE=$(COLLATION_SOURCE) $(COLLATION_SOURCE_LOCAL) 1.380 +!ELSE 1.381 +!MESSAGE Information: cannot find "collocal.mk". Not building user-additional resource bundle files. 1.382 +!ENDIF 1.383 +!ELSE 1.384 +!MESSAGE Warning: cannot find "colfiles.mk" 1.385 +!ENDIF 1.386 + 1.387 +!IFDEF COLLATION_SOURCE 1.388 +COL_FILES = $(ICUCOL)\root.txt $(COLLATION_ALIAS_SOURCE) $(COLLATION_SOURCE) 1.389 +COL_COL_FILES = $(COL_FILES:.txt =.res coll\) 1.390 +COL_COL_FILES = $(COL_COL_FILES:.txt=.res) 1.391 +COL_COL_FILES = $(COL_COL_FILES:coll\ =) 1.392 +ALL_RES = $(ALL_RES) $(ICUCOL)\res_index.res 1.393 +!ENDIF 1.394 + 1.395 +# Read the list of RBNF resource bundle files 1.396 +!IF EXISTS("$(ICUSRCDATA)\$(ICURBNF)\rbnffiles.mk") 1.397 +!INCLUDE "$(ICUSRCDATA)\$(ICURBNF)\rbnffiles.mk" 1.398 +!IF EXISTS("$(ICUSRCDATA)\$(ICURBNF)\rbnflocal.mk") 1.399 +!INCLUDE "$(ICUSRCDATA)\$(ICURBNF)\rbnflocal.mk" 1.400 +RBNF_SOURCE=$(RBNF_SOURCE) $(RBNF_SOURCE_LOCAL) 1.401 +!ELSE 1.402 +!MESSAGE Information: cannot find "rbnflocal.mk". Not building user-additional resource bundle files. 1.403 +!ENDIF 1.404 +!ELSE 1.405 +!MESSAGE Warning: cannot find "rbnffiles.mk" 1.406 +!ENDIF 1.407 + 1.408 +!IFDEF RBNF_SOURCE 1.409 +RBNF_FILES = $(ICURBNF)\root.txt $(RBNF_ALIAS_SOURCE) $(RBNF_SOURCE) 1.410 +RBNF_RES_FILES = $(RBNF_FILES:.txt =.res rbnf\) 1.411 +RBNF_RES_FILES = $(RBNF_RES_FILES:.txt=.res) 1.412 +RBNF_RES_FILES = $(RBNF_RES_FILES:rbnf\ =rbnf\) 1.413 +ALL_RES = $(ALL_RES) $(ICURBNF)\res_index.res 1.414 +!ENDIF 1.415 + 1.416 +# Read the list of transliterator resource bundle files 1.417 +!IF EXISTS("$(ICUSRCDATA)\$(ICUTRNS)\trnsfiles.mk") 1.418 +!INCLUDE "$(ICUSRCDATA)\$(ICUTRNS)\trnsfiles.mk" 1.419 +!IF EXISTS("$(ICUSRCDATA)\$(ICUTRNS)\trnslocal.mk") 1.420 +!INCLUDE "$(ICUSRCDATA)\$(ICUTRNS)\trnslocal.mk" 1.421 +TRANSLIT_SOURCE=$(TRANSLIT_SOURCE) $(TRANSLIT_SOURCE_LOCAL) 1.422 +!ELSE 1.423 +!MESSAGE Information: cannot find "trnslocal.mk". Not building user-additional transliterator files. 1.424 +!ENDIF 1.425 +!ELSE 1.426 +!MESSAGE Warning: cannot find "trnsfiles.mk" 1.427 +!ENDIF 1.428 + 1.429 +!IFDEF TRANSLIT_SOURCE 1.430 +TRANSLIT_FILES = $(ICUTRNS)\$(TRANSLIT_ALIAS_SOURCE) $(TRANSLIT_SOURCE) 1.431 +TRANSLIT_RES_FILES = $(TRANSLIT_FILES:.txt =.res translit\) 1.432 +TRANSLIT_RES_FILES = $(TRANSLIT_RES_FILES:.txt=.res) 1.433 +TRANSLIT_RES_FILES = $(TRANSLIT_RES_FILES:translit\ =translit\) 1.434 +#ALL_RES = $(ALL_RES) $(ICUTRNS)\res_index.res 1.435 +!ENDIF 1.436 + 1.437 +# Read the list of miscellaneous resource bundle files 1.438 +!IF EXISTS("$(ICUSRCDATA)\$(ICUMISC2)\miscfiles.mk") 1.439 +!INCLUDE "$(ICUSRCDATA)\$(ICUMISC2)\miscfiles.mk" 1.440 +!IF EXISTS("$(ICUSRCDATA)\$(ICUMISC2)\misclocal.mk") 1.441 +!INCLUDE "$(ICUSRCDATA)\$(ICUMISC2)\misclocal.mk" 1.442 +MISC_SOURCE=$(MISC_SOURCE) $(MISC_SOURCE_LOCAL) 1.443 +!ELSE 1.444 +!MESSAGE Information: cannot find "misclocal.mk". Not building user-additional miscellaenous files. 1.445 +!ENDIF 1.446 +!ELSE 1.447 +!MESSAGE Warning: cannot find "miscfiles.mk" 1.448 +!ENDIF 1.449 + 1.450 +MISC_FILES = $(MISC_SOURCE:.txt=.res) 1.451 + 1.452 +# don't include COL_FILES 1.453 +ALL_RES = $(ALL_RES) $(RB_FILES) $(MISC_FILES) 1.454 +!ENDIF 1.455 + 1.456 +# Read the list of stringprep profile files 1.457 +!IF EXISTS("$(ICUSRCDATA)\$(ICUSPREP)\sprepfiles.mk") 1.458 +!INCLUDE "$(ICUSRCDATA)\$(ICUSPREP)\sprepfiles.mk" 1.459 +!IF EXISTS("$(ICUSRCDATA)\$(ICUSPREP)\spreplocal.mk") 1.460 +!INCLUDE "$(ICUSRCDATA)\$(ICUSPREP)\spreplocal.mk" 1.461 +SPREP_SOURCE=$(SPREP_SOURCE) $(SPREP_SOURCE_LOCAL) 1.462 +!ELSE 1.463 +!MESSAGE Information: cannot find "spreplocal.mk". Not building user-additional stringprep files. 1.464 +!ENDIF 1.465 +!ELSE 1.466 +!MESSAGE Warning: cannot find "sprepfiles.mk" 1.467 +!ENDIF 1.468 + 1.469 +SPREP_FILES = $(SPREP_SOURCE:.txt=.spp) 1.470 + 1.471 +# Common defines for both ways of building ICU's data library. 1.472 +COMMON_ICUDATA_DEPENDENCIES="$(ICUPBIN)\pkgdata.exe" "$(ICUTMP)\icudata.res" "$(ICUP)\source\stubdata\stubdatabuilt.txt" 1.473 +COMMON_ICUDATA_ARGUMENTS=-f -e $(U_ICUDATA_NAME) -v $(ICU_PACKAGE_MODE) -c -p $(ICUPKG) -T "$(ICUTMP)" -L $(U_ICUDATA_NAME) -d "$(ICUBLD_PKG)" -s . 1.474 + 1.475 +############################################################################# 1.476 +# 1.477 +# ALL 1.478 +# This target builds all the data files. The world starts here. 1.479 +# Note: we really want the common data dll to go to $(DLL_OUTPUT), not $(ICUBLD_PKG). But specifying 1.480 +# that here seems to cause confusion with the building of the stub library of the same name. 1.481 +# Building the common dll in $(ICUBLD_PKG) unconditionally copies it to $(DLL_OUTPUT) too. 1.482 +# 1.483 +############################################################################# 1.484 +ALL : GODATA "$(ICU_LIB_TARGET)" "$(TESTDATAOUT)\testdata.dat" 1.485 + @echo All targets are up to date 1.486 + 1.487 +# The core Unicode properties files (uprops.icu, ucase.icu, ubidi.icu) 1.488 +# are hardcoded in the common DLL and therefore not included in the data package any more. 1.489 +# They are not built by default but need to be built for ICU4J data and for getting the .c source files 1.490 +# when updating the Unicode data. 1.491 +# Changed in makedata.mak revision 1.117. See Jitterbug 4497. 1.492 +# 2010-dec Removed pnames.icu. 1.493 +# Command line: 1.494 +# C:\svn\icuproj\icu\trunk\source\data>nmake -f makedata.mak ICUMAKE=C:\svn\icuproj\icu\trunk\source\data\ CFG=x86\Debug uni-core-data 1.495 +uni-core-data: GODATA "$(ICUBLD_PKG)\pnames.icu" "$(ICUBLD_PKG)\uprops.icu" "$(ICUBLD_PKG)\ucase.icu" "$(ICUBLD_PKG)\ubidi.icu" 1.496 + @echo Unicode .icu files built to "$(ICUBLD_PKG)" 1.497 + 1.498 +# Build the ICU4J icudata.jar and testdata.jar. 1.499 +# see icu4j-readme.txt 1.500 + 1.501 +ICU4J_TZDATA="$(ICUOUT)\icu4j\icutzdata.jar" 1.502 +ICU4J_DATA_DIRNAME=com\ibm\icu\impl\data\$(U_ICUDATA_NAME)b 1.503 +ICU4J_TZDATA_PATHS=$(ICU4J_DATA_DIRNAME)\zoneinfo64.res $(ICU4J_DATA_DIRNAME)\metaZones.res $(ICU4J_DATA_DIRNAME)\timezoneTypes.res $(ICU4J_DATA_DIRNAME)\windowsZones.res 1.504 + 1.505 +generate-data: GODATA "$(ICUOUT)\$(ICUPKG).dat" uni-core-data 1.506 + if not exist "$(ICUOUT)\icu4j\$(ICU4J_DATA_DIRNAME)" mkdir "$(ICUOUT)\icu4j\$(ICU4J_DATA_DIRNAME)" 1.507 + if not exist "$(ICUOUT)\icu4j\tzdata\$(ICU4J_DATA_DIRNAME)" mkdir "$(ICUOUT)\icu4j\tzdata\$(ICU4J_DATA_DIRNAME)" 1.508 + echo pnames.icu ubidi.icu ucase.icu uprops.icu > "$(ICUOUT)\icu4j\add.txt" 1.509 + "$(ICUPBIN)\icupkg" "$(ICUOUT)\$(ICUPKG).dat" "$(ICUOUT)\icu4j\$(U_ICUDATA_NAME)b.dat" -a "$(ICUOUT)\icu4j\add.txt" -s "$(ICUBLD_PKG)" -x * -tb -d "$(ICUOUT)\icu4j\$(ICU4J_DATA_DIRNAME)" 1.510 + @for %f in ($(ICU4J_TZDATA_PATHS)) do @move "$(ICUOUT)\icu4j\%f" "$(ICUOUT)\icu4j\tzdata\$(ICU4J_DATA_DIRNAME)" 1.511 + 1.512 +"$(ICUOUT)\icu4j\icutzdata.jar": GODATA generate-data 1.513 + "$(JAR)" cf "$(ICUOUT)\icu4j\icutzdata.jar" -C "$(ICUOUT)\icu4j\tzdata" "$(ICU4J_DATA_DIRNAME)" 1.514 + 1.515 +# Build icudata.jar: 1.516 +# - add the uni-core-data to the ICU package 1.517 +# - swap the ICU data 1.518 +# - extract all data items 1.519 +# - package them into the .jar file 1.520 +"$(ICUOUT)\icu4j\icudata.jar": GODATA generate-data 1.521 + "$(JAR)" cf "$(ICUOUT)\icu4j\icudata.jar" -C "$(ICUOUT)\icu4j" "$(ICU4J_DATA_DIRNAME)" 1.522 + 1.523 +# Build testdata.jar: 1.524 +# - swap the test data 1.525 +# - extract all data items 1.526 +# - package them into the .jar file 1.527 +"$(ICUOUT)\icu4j\testdata.jar": GODATA "$(TESTDATAOUT)\testdata.dat" 1.528 + if not exist "$(ICUOUT)\icu4j\com\ibm\icu\dev\data\testdata" mkdir "$(ICUOUT)\icu4j\com\ibm\icu\dev\data\testdata" 1.529 + "$(ICUPBIN)\icupkg" "$(TESTDATAOUT)\testdata.dat" -r test.icu -x * -tb -d "$(ICUOUT)\icu4j\com\ibm\icu\dev\data\testdata" 1.530 + "$(JAR)" cf "$(ICUOUT)\icu4j\testdata.jar" -C "$(ICUOUT)\icu4j" com\ibm\icu\dev\data\testdata 1.531 + 1.532 +## Compare to: source\data\Makefile.in and source\test\testdata\Makefile.in 1.533 + 1.534 +DEBUGUTILITIESDATA_DIR=main\tests\core\src\com\ibm\icu\dev\test\util 1.535 +DEBUGUTILITIESDATA_SRC=DebugUtilitiesData.java 1.536 + 1.537 +# Build DebugUtilitiesData.java 1.538 +"$(ICUOUT)\icu4j\src\$(DEBUGUTILITIESDATA_DIR)\$(DEBUGUTILITIESDATA_SRC)" : {"$(ICUTOOLS)\gentest\$(CFG)"}gentest.exe 1.539 + if not exist "$(ICUOUT)\icu4j\src\$(DEBUGUTILITIESDATA_DIR)" mkdir "$(ICUOUT)\icu4j\src\$(DEBUGUTILITIESDATA_DIR)" 1.540 + "$(ICUTOOLS)\gentest\$(CFG)\gentest" -j -d"$(ICUOUT)\icu4j\src\$(DEBUGUTILITIESDATA_DIR)" 1.541 + 1.542 +ICU4J_DATA="$(ICUOUT)\icu4j\icudata.jar" "$(ICUOUT)\icu4j\testdata.jar" "$(ICUOUT)\icu4j\src\$(DEBUGUTILITIESDATA_DIR)\$(DEBUGUTILITIESDATA_SRC)" 1.543 + 1.544 +icu4j-data: GODATA $(ICU4J_DATA) $(ICU4J_TZDATA) 1.545 + 1.546 +!IFDEF ICU4J_ROOT 1.547 + 1.548 +"$(ICU4J_ROOT)\main\shared\data\icudata.jar": "$(ICUOUT)\icu4j\icudata.jar" 1.549 + if not exist "$(ICU4J_ROOT)\main\shared\data" mkdir "$(ICU4J_ROOT)\main\shared\data" 1.550 + copy "$(ICUOUT)\icu4j\icudata.jar" "$(ICU4J_ROOT)\main\shared\data" 1.551 + 1.552 +"$(ICU4J_ROOT)\main\shared\data\icutzdata.jar": "$(ICUOUT)\icu4j\icutzdata.jar" 1.553 + if not exist "$(ICU4J_ROOT)\main\shared\data" mkdir "$(ICU4J_ROOT)\main\shared\data" 1.554 + copy "$(ICUOUT)\icu4j\icutzdata.jar" "$(ICU4J_ROOT)\main\shared\data" 1.555 + 1.556 +"$(ICU4J_ROOT)\main\shared\data\testdata.jar": "$(ICUOUT)\icu4j\testdata.jar" 1.557 + if not exist "$(ICU4J_ROOT)\main\shared\data" mkdir "$(ICU4J_ROOT)\main\shared\data" 1.558 + copy "$(ICUOUT)\icu4j\testdata.jar" "$(ICU4J_ROOT)\main\shared\data" 1.559 + 1.560 +# "$(DEBUGUTILTIESDATA_OUT)" 1.561 + 1.562 +"$(ICU4J_ROOT)\$(DEBUGUTILITIESDATA_DIR)\$(DEBUGUTILITIESDATA_SRC)": "$(ICUOUT)\icu4j\src\$(DEBUGUTILITIESDATA_DIR)\$(DEBUGUTILITIESDATA_SRC)" 1.563 + if not exist "$(ICU4J_ROOT)\$(DEBUGUTILITIESDATA_DIR)" mkdir "$(ICU4J_ROOT)\$(DEBUGUTILITIESDATA_DIR)" 1.564 + copy "$(ICUOUT)\icu4j\src\$(DEBUGUTILITIESDATA_DIR)\$(DEBUGUTILITIESDATA_SRC)" "$(ICU4J_ROOT)\$(DEBUGUTILITIESDATA_DIR)\$(DEBUGUTILITIESDATA_SRC)" 1.565 + 1.566 +ICU4J_DATA_INSTALLED="$(ICU4J_ROOT)\main\shared\data\icudata.jar" "$(ICU4J_ROOT)\main\shared\data\icutzdata.jar" "$(ICU4J_ROOT)\main\shared\data\testdata.jar" "$(ICU4J_ROOT)\$(DEBUGUTILITIESDATA_DIR)\$(DEBUGUTILITIESDATA_SRC)" 1.567 + 1.568 +icu4j-data-install : GODATA $(ICU4J_DATA) $(ICU4J_TZDATA) $(ICU4J_DATA_INSTALLED) 1.569 + @echo ICU4J data output to "$(ICU4J_ROOT)" 1.570 + 1.571 +!ELSE 1.572 + 1.573 +icu4j-data-install : 1.574 + @echo ERROR ICU4J_ROOT not set 1.575 + @exit 1 1.576 + 1.577 +!ENDIF 1.578 + 1.579 + 1.580 + 1.581 +# 1.582 +# testdata - nmake will invoke pkgdata, which will create testdata.dat 1.583 +# 1.584 +"$(TESTDATAOUT)\testdata.dat": "$(TESTDATA)\*" "$(ICUBLD_PKG)\$(ICUCOL)\ucadata.icu" $(TRANSLIT_RES_FILES) $(MISC_FILES) $(RB_FILES) {"$(ICUTOOLS)\genrb\$(CFG)"}genrb.exe 1.585 + @cd "$(TESTDATA)" 1.586 + @echo building testdata... 1.587 + nmake /nologo /f "$(TESTDATA)\testdata.mak" TESTDATA=. ICUTOOLS="$(ICUTOOLS)" ICUPBIN="$(ICUPBIN)" ICUP="$(ICUP)" CFG=$(CFG) TESTDATAOUT="$(TESTDATAOUT)" TESTDATABLD="$(TESTDATABLD)" 1.588 + 1.589 +#invoke pkgdata for ICU common data 1.590 +# pkgdata will drop all output files (.dat, .dll, .lib) into the target (ICUBLD_PKG) directory. 1.591 +# move the .dll and .lib files to their final destination afterwards. 1.592 +# The $(U_ICUDATA_NAME).lib and $(U_ICUDATA_NAME).exp should already be in the right place due to stubdata. 1.593 +# 1.594 +# 2005-may-05 Removed Unicode properties files (unorm.icu, uprops.icu, ucase.icu, ubidi.icu) 1.595 +# from data build. See Jitterbug 4497. (makedata.mak revision 1.117) 1.596 +# 1.597 +!IFDEF ICUDATA_SOURCE_ARCHIVE 1.598 +"$(ICU_LIB_TARGET)" : $(COMMON_ICUDATA_DEPENDENCIES) "$(ICUDATA_SOURCE_ARCHIVE)" 1.599 + @echo Building icu data from $(ICUDATA_SOURCE_ARCHIVE) 1.600 + cd "$(ICUBLD_PKG)" 1.601 + "$(ICUPBIN)\icupkg" -x * --list "$(ICUDATA_SOURCE_ARCHIVE)" > "$(ICUTMP)\icudata.lst" 1.602 + "$(ICUPBIN)\pkgdata" $(COMMON_ICUDATA_ARGUMENTS) "$(ICUTMP)\icudata.lst" 1.603 + copy "$(U_ICUDATA_NAME).dll" "$(DLL_OUTPUT)" 1.604 + -@erase "$(U_ICUDATA_NAME).dll" 1.605 + copy "$(ICUTMP)\$(ICUPKG).dat" "$(ICUOUT)\$(U_ICUDATA_NAME)$(U_ICUDATA_ENDIAN_SUFFIX).dat" 1.606 + -@erase "$(ICUTMP)\$(ICUPKG).dat" 1.607 +!ELSE 1.608 +"$(ICU_LIB_TARGET)" : $(COMMON_ICUDATA_DEPENDENCIES) $(CNV_FILES) $(CNV_FILES_SPECIAL) "$(ICUBLD_PKG)\unames.icu" "$(ICUBLD_PKG)\cnvalias.icu" "$(ICUBLD_PKG)\nfc.nrm" "$(ICUBLD_PKG)\nfkc.nrm" "$(ICUBLD_PKG)\nfkc_cf.nrm" "$(ICUBLD_PKG)\uts46.nrm" "$(ICUBLD_PKG)\$(ICUCOL)\ucadata.icu" "$(ICUBLD_PKG)\$(ICUCOL)\invuca.icu" $(CURR_RES_FILES) $(LANG_RES_FILES) $(REGION_RES_FILES) $(ZONE_RES_FILES) $(BRK_FILES) $(BRK_DICT_FILES) $(BRK_RES_FILES) $(ALL_RES) $(COL_COL_FILES) $(RBNF_RES_FILES) $(TRANSLIT_RES_FILES) $(SPREP_FILES) "$(ICUBLD_PKG)\confusables.cfu" 1.609 + @echo Building icu data 1.610 + cd "$(ICUBLD_PKG)" 1.611 + "$(ICUPBIN)\pkgdata" $(COMMON_ICUDATA_ARGUMENTS) <<"$(ICUTMP)\icudata.lst" 1.612 +unames.icu 1.613 +confusables.cfu 1.614 +$(ICUCOL)\ucadata.icu 1.615 +$(ICUCOL)\invuca.icu 1.616 +cnvalias.icu 1.617 +nfc.nrm 1.618 +nfkc.nrm 1.619 +nfkc_cf.nrm 1.620 +uts46.nrm 1.621 +$(CNV_FILES:.cnv =.cnv 1.622 +) 1.623 +$(CNV_FILES_SPECIAL:.cnv =.cnv 1.624 +) 1.625 +$(ALL_RES:.res =.res 1.626 +) 1.627 +$(CURR_RES_FILES:.res =.res 1.628 +) 1.629 +$(LANG_RES_FILES:.res =.res 1.630 +) 1.631 +$(REGION_RES_FILES:.res =.res 1.632 +) 1.633 +$(ZONE_RES_FILES:.res =.res 1.634 +) 1.635 +$(COL_COL_FILES:.res =.res 1.636 +) 1.637 +$(RBNF_RES_FILES:.res =.res 1.638 +) 1.639 +$(TRANSLIT_RES_FILES:.res =.res 1.640 +) 1.641 +$(BRK_FILES:.brk =.brk 1.642 +) 1.643 +$(BRK_DICT_FILES:.dict =.dict 1.644 +) 1.645 +$(BRK_RES_FILES:.res =.res 1.646 +) 1.647 +$(SPREP_FILES:.spp=.spp 1.648 +) 1.649 +<<KEEP 1.650 + -@erase "$(ICU_LIB_TARGET)" 1.651 + copy "$(U_ICUDATA_NAME).dll" "$(ICU_LIB_TARGET)" 1.652 + -@erase "$(U_ICUDATA_NAME).dll" 1.653 + copy "$(ICUTMP)\$(ICUPKG).dat" "$(ICUOUT)\$(U_ICUDATA_NAME)$(U_ICUDATA_ENDIAN_SUFFIX).dat" 1.654 + -@erase "$(ICUTMP)\$(ICUPKG).dat" 1.655 +!ENDIF 1.656 + 1.657 +# utility target to create missing directories 1.658 +CREATE_DIRS : 1.659 + @if not exist "$(ICUOUT)\$(NULL)" mkdir "$(ICUOUT)" 1.660 + @if not exist "$(ICUTMP)\$(NULL)" mkdir "$(ICUTMP)" 1.661 + @if not exist "$(ICUOUT)\build\$(NULL)" mkdir "$(ICUOUT)\build" 1.662 + @if not exist "$(ICUBLD_PKG)\$(NULL)" mkdir "$(ICUBLD_PKG)" 1.663 + @if not exist "$(ICUBLD_PKG)\curr\$(NULL)" mkdir "$(ICUBLD_PKG)\curr" 1.664 + @if not exist "$(ICUBLD_PKG)\lang\$(NULL)" mkdir "$(ICUBLD_PKG)\lang" 1.665 + @if not exist "$(ICUBLD_PKG)\region\$(NULL)" mkdir "$(ICUBLD_PKG)\region" 1.666 + @if not exist "$(ICUBLD_PKG)\zone\$(NULL)" mkdir "$(ICUBLD_PKG)\zone" 1.667 + @if not exist "$(ICUBLD_PKG)\$(ICUBRK)\$(NULL)" mkdir "$(ICUBLD_PKG)\$(ICUBRK)" 1.668 + @if not exist "$(ICUBLD_PKG)\$(ICUCOL)\$(NULL)" mkdir "$(ICUBLD_PKG)\$(ICUCOL)" 1.669 + @if not exist "$(ICUBLD_PKG)\$(ICURBNF)\$(NULL)" mkdir "$(ICUBLD_PKG)\$(ICURBNF)" 1.670 + @if not exist "$(ICUBLD_PKG)\$(ICUTRNS)\$(NULL)" mkdir "$(ICUBLD_PKG)\$(ICUTRNS)" 1.671 + @if not exist "$(TESTDATAOUT)\$(NULL)" mkdir "$(TESTDATAOUT)" 1.672 + @if not exist "$(TESTDATABLD)\$(NULL)" mkdir "$(TESTDATABLD)" 1.673 + @if not exist "$(TESTDATAOUT)\testdata\$(NULL)" mkdir "$(TESTDATAOUT)\testdata" 1.674 + 1.675 +# utility target to send us to the right dir 1.676 +GODATA : CREATE_DIRS 1.677 + @cd "$(ICUBLD_PKG)" 1.678 + 1.679 +# This is to remove all the data files 1.680 +CLEAN : GODATA 1.681 + @echo Cleaning up the data files. 1.682 + @cd "$(ICUBLD_PKG)" 1.683 + -@erase "*.cnv" 1.684 + -@erase "*.exp" 1.685 + -@erase "*.icu" 1.686 + -@erase "*.lib" 1.687 + -@erase "*.nrm" 1.688 + -@erase "*.res" 1.689 + -@erase "*.spp" 1.690 + -@erase "*.txt" 1.691 + -@erase "*.cfu" 1.692 + -@erase "curr\*.res" 1.693 + -@erase "curr\*.txt" 1.694 + -@erase "lang\*.res" 1.695 + -@erase "lang\*.txt" 1.696 + -@erase "region\*.res" 1.697 + -@erase "region\*.txt" 1.698 + -@erase "zone\*.res" 1.699 + -@erase "zone\*.txt" 1.700 + @cd "$(ICUBLD_PKG)\$(ICUBRK)" 1.701 + -@erase "*.brk" 1.702 + -@erase "*.res" 1.703 + -@erase "*.txt" 1.704 + @cd "$(ICUBLD_PKG)\$(ICUCOL)" 1.705 + -@erase "*.res" 1.706 + -@erase "*.txt" 1.707 + @cd "$(ICUBLD_PKG)\$(ICURBNF)" 1.708 + -@erase "*.res" 1.709 + -@erase "*.txt" 1.710 + @cd "$(ICUBLD_PKG)\$(ICUTRNS)" 1.711 + -@erase "*.res" 1.712 + @cd "$(ICUOUT)" 1.713 + -@erase "*.dat" 1.714 + @cd "$(ICUTMP)" 1.715 + -@erase "*.html" 1.716 + -@erase "*.lst" 1.717 + -@erase "*.mak" 1.718 + -@erase "*.obj" 1.719 + -@erase "*.res" 1.720 + @cd "$(TESTDATABLD)" 1.721 + -@erase "*.cnv" 1.722 + -@erase "*.icu" 1.723 + -@erase "*.mak" 1.724 + -@erase "*.nrm" 1.725 + -@erase "*.res" 1.726 + -@erase "*.spp" 1.727 + -@erase "*.txt" 1.728 + @cd "$(TESTDATAOUT)" 1.729 + -@erase "*.dat" 1.730 + @cd "$(TESTDATAOUT)\testdata" 1.731 + -@erase "*.typ" 1.732 + @cd "$(ICUBLD_PKG)" 1.733 + 1.734 + 1.735 +# RBBI .brk file generation. 1.736 +{$(ICUSRCDATA_RELATIVE_PATH)\$(ICUBRK)}.txt.brk: 1.737 + @echo Creating $@ 1.738 + @"$(ICUTOOLS)\genbrk\$(CFG)\genbrk" -c -r $< -o $@ -d"$(ICUBLD_PKG)" -i "$(ICUBLD_PKG)" 1.739 + 1.740 +#RBBI .dict file generation. 1.741 +{$(ICUSRCDATA_RELATIVE_PATH)\$(ICUBRK)}.txt.dict: 1.742 + @echo Creating $@ 1.743 + @"$(ICUTOOLS)\gendict\$(CFG)\gendict" -c --uchars $< "$(ICUBLD_PKG)\$@" 1.744 + 1.745 +$(ICUBRK)\thaidict.dict: 1.746 + @echo Creating $(ICUBRK)\thaidict.dict 1.747 + @"$(ICUTOOLS)\gendict\$(CFG)\gendict" -c --bytes --transform offset-0xe00 $(ICUSRCDATA_RELATIVE_PATH)\$(ICUBRK)\thaidict.txt "$(ICUBLD_PKG)\$(ICUBRK)\thaidict.dict" 1.748 + 1.749 +$(ICUBRK)\laodict.dict: 1.750 + @echo Creating $(ICUBRK)\laodict.dict 1.751 + @"$(ICUTOOLS)\gendict\$(CFG)\gendict" -c --bytes --transform offset-0xe00 $(ICUSRCDATA_RELATIVE_PATH)\$(ICUBRK)\laodict.txt "$(ICUBLD_PKG)\$(ICUBRK)\laodict.dict" 1.752 + 1.753 +$(ICUBRK)\khmerdict.dict: 1.754 + @echo Creating $(ICUBRK)\khmerdict.dict 1.755 + @"$(ICUTOOLS)\gendict\$(CFG)\gendict" -c --bytes --transform offset-0x1780 $(ICUSRCDATA_RELATIVE_PATH)\$(ICUBRK)\khmerdict.txt "$(ICUBLD_PKG)\$(ICUBRK)\khmerdict.dict" 1.756 + 1.757 +!IFNDEF ICUDATA_SOURCE_ARCHIVE 1.758 +# Rule for creating converters 1.759 +$(CNV_FILES): $(UCM_SOURCE) 1.760 + @echo Building Charset Conversion table $(@B) 1.761 + @"$(ICUTOOLS)\makeconv\$(CFG)\makeconv" -c -d"$(ICUBLD_PKG)" $(ICUSRCDATA_RELATIVE_PATH)\$(ICUUCM)\$(@B).ucm 1.762 +!ENDIF 1.763 + 1.764 +!IFDEF BUILD_SPECIAL_CNV_FILES 1.765 +$(CNV_FILES_SPECIAL): $(UCM_SOURCE_SPECIAL) 1.766 + @echo Building Special Charset Conversion table $(@B) 1.767 + @"$(ICUTOOLS)\makeconv\$(CFG)\makeconv" -c --ignore-siso-check -d"$(ICUBLD_PKG)" $(ICUSRCDATA_RELATIVE_PATH)\$(ICUUCM)\$(@B).ucm 1.768 +!ENDIF 1.769 + 1.770 +# Batch inference rule for creating miscellaneous resource files 1.771 +# TODO: -q option is specified to squelch the 120+ warnings about 1.772 +# empty intvectors and binary elements. Unfortunately, this may 1.773 +# squelch other legitimate warnings. When there is a better 1.774 +# way, remove the -q. 1.775 +{$(ICUSRCDATA_RELATIVE_PATH)\$(ICUMISC2)}.txt.res:: 1.776 + @echo Making Miscellaneous Resource Bundle files 1.777 + @"$(ICUTOOLS)\genrb\$(CFG)\genrb" -k -q -d"$(ICUBLD_PKG)" $< 1.778 + 1.779 +# Inference rule for creating resource bundle files 1.780 +{$(ICUSRCDATA_RELATIVE_PATH)\$(ICULOC)}.txt.res:: 1.781 + @echo Making Locale Resource Bundle files 1.782 + @"$(ICUTOOLS)\genrb\$(CFG)\genrb" --usePoolBundle $(ICUSRCDATA_RELATIVE_PATH)\$(ICULOC) -k -d"$(ICUBLD_PKG)" $< 1.783 + 1.784 +# copy the locales/pool.res file from the source folder to the build output folder 1.785 +# and swap it to native endianness 1.786 +pool.res: $(ICUSRCDATA_RELATIVE_PATH)\$(ICULOC)\pool.res 1.787 + "$(ICUPBIN)\icupkg" -tl "$(ICUSRCDATA_RELATIVE_PATH)\$(ICULOC)\pool.res" pool.res 1.788 + 1.789 +res_index.res: 1.790 + @echo Generating <<res_index.txt 1.791 +// Warning this file is automatically generated 1.792 +res_index:table(nofallback) { 1.793 + InstalledLocales { 1.794 + $(GENRB_SOURCE:.txt= {""} 1.795 + ) 1.796 + } 1.797 +} 1.798 +<<KEEP 1.799 + @"$(ICUTOOLS)\genrb\$(CFG)\genrb" -k -d"$(ICUBLD_PKG)" .\res_index.txt 1.800 + 1.801 + 1.802 +{$(ICUSRCDATA_RELATIVE_PATH)\curr}.txt{curr}.res:: 1.803 + @echo Making currency display name files 1.804 + @"$(ICUTOOLS)\genrb\$(CFG)\genrb" --usePoolBundle $(ICUSRCDATA_RELATIVE_PATH)\curr -k -i "$(ICUBLD_PKG)" -d"$(ICUBLD_PKG)\curr" $< 1.805 + 1.806 +# copy the curr/pool.res file from the source folder to the build output folder 1.807 +# and swap it to native endianness 1.808 +curr\pool.res: $(ICUSRCDATA_RELATIVE_PATH)\curr\pool.res 1.809 + "$(ICUPBIN)\icupkg" -tl "$(ICUSRCDATA_RELATIVE_PATH)\curr\pool.res" curr\pool.res 1.810 + 1.811 +curr\res_index.res: 1.812 + @echo Generating <<curr\res_index.txt 1.813 +// Warning this file is automatically generated 1.814 +res_index:table(nofallback) { 1.815 + InstalledLocales { 1.816 + $(CURR_SOURCE:.txt= {""} 1.817 + ) 1.818 + } 1.819 +} 1.820 +<<KEEP 1.821 + @"$(ICUTOOLS)\genrb\$(CFG)\genrb" -k -d"$(ICUBLD_PKG)\curr" .\curr\res_index.txt 1.822 + 1.823 + 1.824 +{$(ICUSRCDATA_RELATIVE_PATH)\lang}.txt{lang}.res:: 1.825 + @echo Making language/script display name files 1.826 + @"$(ICUTOOLS)\genrb\$(CFG)\genrb" --usePoolBundle $(ICUSRCDATA_RELATIVE_PATH)\lang -k -i "$(ICUBLD_PKG)" -d"$(ICUBLD_PKG)\lang" $< 1.827 + 1.828 +# copy the lang/pool.res file from the source folder to the build output folder 1.829 +# and swap it to native endianness 1.830 +lang\pool.res: $(ICUSRCDATA_RELATIVE_PATH)\lang\pool.res 1.831 + "$(ICUPBIN)\icupkg" -tl "$(ICUSRCDATA_RELATIVE_PATH)\lang\pool.res" lang\pool.res 1.832 + 1.833 +lang\res_index.res: 1.834 + @echo Generating <<lang\res_index.txt 1.835 +// Warning this file is automatically generated 1.836 +res_index:table(nofallback) { 1.837 + InstalledLocales { 1.838 + $(LANG_SOURCE:.txt= {""} 1.839 + ) 1.840 + } 1.841 +} 1.842 +<<KEEP 1.843 + @"$(ICUTOOLS)\genrb\$(CFG)\genrb" -k -d"$(ICUBLD_PKG)\lang" .\lang\res_index.txt 1.844 + 1.845 + 1.846 +{$(ICUSRCDATA_RELATIVE_PATH)\region}.txt{region}.res:: 1.847 + @echo Making region display name files 1.848 + @"$(ICUTOOLS)\genrb\$(CFG)\genrb" --usePoolBundle $(ICUSRCDATA_RELATIVE_PATH)\region -k -i "$(ICUBLD_PKG)" -d"$(ICUBLD_PKG)\region" $< 1.849 + 1.850 +# copy the region/pool.res file from the source folder to the build output folder 1.851 +# and swap it to native endianness 1.852 +region\pool.res: $(ICUSRCDATA_RELATIVE_PATH)\region\pool.res 1.853 + "$(ICUPBIN)\icupkg" -tl "$(ICUSRCDATA_RELATIVE_PATH)\region\pool.res" region\pool.res 1.854 + 1.855 +region\res_index.res: 1.856 + @echo Generating <<region\res_index.txt 1.857 +// Warning this file is automatically generated 1.858 +res_index:table(nofallback) { 1.859 + InstalledLocales { 1.860 + $(REGION_SOURCE:.txt= {""} 1.861 + ) 1.862 + } 1.863 +} 1.864 +<<KEEP 1.865 + @"$(ICUTOOLS)\genrb\$(CFG)\genrb" -k -d"$(ICUBLD_PKG)\region" .\region\res_index.txt 1.866 + 1.867 + 1.868 +{$(ICUSRCDATA_RELATIVE_PATH)\zone}.txt{zone}.res:: 1.869 + @echo Making time zone display name files 1.870 + @"$(ICUTOOLS)\genrb\$(CFG)\genrb" --usePoolBundle $(ICUSRCDATA_RELATIVE_PATH)\zone -k -i "$(ICUBLD_PKG)" -d"$(ICUBLD_PKG)\zone" $< 1.871 + 1.872 +# copy the zone/pool.res file from the source folder to the build output folder 1.873 +# and swap it to native endianness 1.874 +zone\pool.res: $(ICUSRCDATA_RELATIVE_PATH)\zone\pool.res 1.875 + "$(ICUPBIN)\icupkg" -tl "$(ICUSRCDATA_RELATIVE_PATH)\zone\pool.res" zone\pool.res 1.876 + 1.877 +zone\res_index.res: 1.878 + @echo Generating <<zone\res_index.txt 1.879 +// Warning this file is automatically generated 1.880 +res_index:table(nofallback) { 1.881 + InstalledLocales { 1.882 + $(ZONE_SOURCE:.txt= {""} 1.883 + ) 1.884 + } 1.885 +} 1.886 +<<KEEP 1.887 + @"$(ICUTOOLS)\genrb\$(CFG)\genrb" -k -d"$(ICUBLD_PKG)\zone" .\zone\res_index.txt 1.888 + 1.889 + 1.890 +{$(ICUSRCDATA_RELATIVE_PATH)\$(ICUCOL)}.txt{$(ICUCOL)}.res:: 1.891 + @echo Making Collation files 1.892 + @"$(ICUTOOLS)\genrb\$(CFG)\genrb" -k -i "$(ICUBLD_PKG)" -d"$(ICUBLD_PKG)\$(ICUCOL)" $< 1.893 + 1.894 +$(ICUCOL)\res_index.res: 1.895 + @echo Generating <<$(ICUCOL)\res_index.txt 1.896 +// Warning this file is automatically generated 1.897 +res_index:table(nofallback) { 1.898 + InstalledLocales { 1.899 + $(COLLATION_SOURCE:.txt= {""} 1.900 + ) 1.901 + } 1.902 +} 1.903 +<<KEEP 1.904 + @"$(ICUTOOLS)\genrb\$(CFG)\genrb" -k -d"$(ICUBLD_PKG)\$(ICUCOL)" .\$(ICUCOL)\res_index.txt 1.905 + 1.906 +{$(ICUSRCDATA_RELATIVE_PATH)\$(ICURBNF)}.txt{$(ICURBNF)}.res:: 1.907 + @echo Making RBNF files 1.908 + @"$(ICUTOOLS)\genrb\$(CFG)\genrb" -k -i "$(ICUBLD_PKG)" -d"$(ICUBLD_PKG)\$(ICURBNF)" $< 1.909 + 1.910 +$(ICURBNF)\res_index.res: 1.911 + @echo Generating <<$(ICURBNF)\res_index.txt 1.912 +// Warning this file is automatically generated 1.913 +res_index:table(nofallback) { 1.914 + InstalledLocales { 1.915 + $(RBNF_SOURCE:.txt= {""} 1.916 + ) 1.917 + } 1.918 +} 1.919 +<<KEEP 1.920 + @"$(ICUTOOLS)\genrb\$(CFG)\genrb" -k -d"$(ICUBLD_PKG)\$(ICURBNF)" .\$(ICURBNF)\res_index.txt 1.921 + 1.922 +$(ICUBRK)\res_index.res: 1.923 + @echo Generating <<$(ICUBRK)\res_index.txt 1.924 +// Warning this file is automatically generated 1.925 +res_index:table(nofallback) { 1.926 + InstalledLocales { 1.927 + $(BRK_RES_SOURCE:.txt= {""} 1.928 + ) 1.929 + } 1.930 +} 1.931 +<<KEEP 1.932 + @"$(ICUTOOLS)\genrb\$(CFG)\genrb" -k -d"$(ICUBLD_PKG)\$(ICUBRK)" .\$(ICUBRK)\res_index.txt 1.933 + 1.934 +{$(ICUSRCDATA_RELATIVE_PATH)\$(ICUBRK)}.txt{$(ICUBRK)}.res:: 1.935 + @echo Making Break Iterator Resource files 1.936 + @"$(ICUTOOLS)\genrb\$(CFG)\genrb" -k -i "$(ICUBLD_PKG)" -d"$(ICUBLD_PKG)\$(ICUBRK)" $< 1.937 + 1.938 +{$(ICUSRCDATA_RELATIVE_PATH)\$(ICUTRNS)}.txt{$(ICUTRNS)}.res:: 1.939 + @echo Making Transliterator files 1.940 + @"$(ICUTOOLS)\genrb\$(CFG)\genrb" -k -i "$(ICUBLD_PKG)" -d"$(ICUBLD_PKG)\$(ICUTRNS)" $< 1.941 + 1.942 + 1.943 +# DLL version information 1.944 +# If you modify this, modify winmode.c in pkgdata. 1.945 +"$(ICUTMP)\icudata.res": "$(ICUMISC)\icudata.rc" 1.946 + @echo Creating data DLL version information from $** 1.947 + @rc.exe /i "..\..\..\..\common" /r /fo $@ $** 1.948 + 1.949 +# Targets for converters 1.950 +"$(ICUBLD_PKG)\cnvalias.icu" : {"$(ICUSRCDATA)\$(ICUUCM)"}\convrtrs.txt "$(ICUTOOLS)\gencnval\$(CFG)\gencnval.exe" 1.951 + @echo Creating data file for Converter Aliases 1.952 + @"$(ICUTOOLS)\gencnval\$(CFG)\gencnval" -d "$(ICUBLD_PKG)" "$(ICUSRCDATA)\$(ICUUCM)\convrtrs.txt" 1.953 + 1.954 +# Targets for prebuilt Unicode data 1.955 +"$(ICUBLD_PKG)\pnames.icu": $(ICUSRCDATA_RELATIVE_PATH)\in\pnames.icu 1.956 + "$(ICUPBIN)\icupkg" -tl $? $@ 1.957 + 1.958 +"$(ICUBLD_PKG)\ubidi.icu": $(ICUSRCDATA_RELATIVE_PATH)\in\ubidi.icu 1.959 + "$(ICUPBIN)\icupkg" -tl $? $@ 1.960 + 1.961 +"$(ICUBLD_PKG)\ucase.icu": $(ICUSRCDATA_RELATIVE_PATH)\in\ucase.icu 1.962 + "$(ICUPBIN)\icupkg" -tl $? $@ 1.963 + 1.964 +"$(ICUBLD_PKG)\uprops.icu": $(ICUSRCDATA_RELATIVE_PATH)\in\uprops.icu 1.965 + "$(ICUPBIN)\icupkg" -tl $? $@ 1.966 + 1.967 +"$(ICUBLD_PKG)\unames.icu": $(ICUSRCDATA_RELATIVE_PATH)\in\unames.icu 1.968 + "$(ICUPBIN)\icupkg" -tl $? $@ 1.969 + 1.970 +"$(ICUBLD_PKG)\nfc.nrm": $(ICUSRCDATA_RELATIVE_PATH)\in\nfc.nrm 1.971 + "$(ICUPBIN)\icupkg" -tl $? $@ 1.972 + 1.973 +"$(ICUBLD_PKG)\nfkc.nrm": $(ICUSRCDATA_RELATIVE_PATH)\in\nfkc.nrm 1.974 + "$(ICUPBIN)\icupkg" -tl $? $@ 1.975 + 1.976 +"$(ICUBLD_PKG)\nfkc_cf.nrm": $(ICUSRCDATA_RELATIVE_PATH)\in\nfkc_cf.nrm 1.977 + "$(ICUPBIN)\icupkg" -tl $? $@ 1.978 + 1.979 +"$(ICUBLD_PKG)\uts46.nrm": $(ICUSRCDATA_RELATIVE_PATH)\in\uts46.nrm 1.980 + "$(ICUPBIN)\icupkg" -tl $? $@ 1.981 + 1.982 +"$(ICUBLD_PKG)\coll\invuca.icu": $(ICUSRCDATA_RELATIVE_PATH)\in\coll\invuca.icu 1.983 + "$(ICUPBIN)\icupkg" -tl $? $@ 1.984 + 1.985 +"$(ICUBLD_PKG)\coll\ucadata.icu": $(ICUSRCDATA_RELATIVE_PATH)\in\coll\ucadata.icu 1.986 + "$(ICUPBIN)\icupkg" -tl $? $@ 1.987 + 1.988 +# Stringprep .spp file generation. 1.989 +{$(ICUSRCDATA_RELATIVE_PATH)\$(ICUSPREP)}.txt.spp: 1.990 + @echo Creating $@ 1.991 + @"$(ICUTOOLS)\gensprep\$(CFG)\gensprep" -s $(<D) -d "$(ICUBLD_PKG)" -b $(@B) -m "$(ICUUNIDATA)" -u 3.2.0 $(<F) 1.992 + 1.993 +# Confusables .cfu file generation 1.994 +# Can't use an inference rule because two .txt source files combine to produce a single .cfu output file 1.995 +"$(ICUBLD_PKG)\confusables.cfu": "$(ICUUNIDATA)\confusables.txt" "$(ICUUNIDATA)\confusablesWholeScript.txt" "$(ICUTOOLS)\gencfu\$(CFG)\gencfu.exe" 1.996 + @echo Creating $@ 1.997 + @"$(ICUTOOLS)\gencfu\$(CFG)\gencfu" -c -r "$(ICUUNIDATA)\confusables.txt" -w "$(ICUUNIDATA)\confusablesWholeScript.txt" -o $@ -i "$(ICUBLD_PKG)" 1.998 + 1.999 +!IFDEF ICUDATA_ARCHIVE 1.1000 +"$(ICUDATA_SOURCE_ARCHIVE)": CREATE_DIRS $(ICUDATA_ARCHIVE) "$(ICUTOOLS)\icupkg\$(CFG)\icupkg.exe" 1.1001 + "$(ICUTOOLS)\icupkg\$(CFG)\icupkg" -t$(U_ICUDATA_ENDIAN_SUFFIX) "$(ICUDATA_ARCHIVE)" "$(ICUDATA_SOURCE_ARCHIVE)" 1.1002 +!ENDIF 1.1003 + 1.1004 +# Dependencies on the tools for the batch inference rules 1.1005 + 1.1006 +!IFNDEF ICUDATA_SOURCE_ARCHIVE 1.1007 +$(UCM_SOURCE) : {"$(ICUTOOLS)\makeconv\$(CFG)"}makeconv.exe 1.1008 + 1.1009 +!IFDEF BUILD_SPECIAL_CNV_FILES 1.1010 +$(UCM_SOURCE_SPECIAL): {"$(ICUTOOLS)\makeconv\$(CFG)"}makeconv.exe 1.1011 +!ENDIF 1.1012 + 1.1013 +# This used to depend on "$(ICUBLD_PKG)\uprops.icu" "$(ICUBLD_PKG)\ucase.icu" "$(ICUBLD_PKG)\ubidi.icu" 1.1014 +# This data is now hard coded as a part of the library. 1.1015 +# See Jitterbug 4497 for details. 1.1016 +$(MISC_SOURCE) $(RB_FILES) $(CURR_FILES) $(LANG_FILES) $(REGION_FILES) $(ZONE_FILES) $(COL_COL_FILES) $(RBNF_RES_FILES) $(BRK_RES_FILES) $(TRANSLIT_RES_FILES): {"$(ICUTOOLS)\genrb\$(CFG)"}genrb.exe "$(ICUBLD_PKG)\nfc.nrm" "$(ICUBLD_PKG)\$(ICUCOL)\ucadata.icu" 1.1017 + 1.1018 +# This used to depend on "$(ICUBLD_PKG)\pnames.icu" "$(ICUBLD_PKG)\uprops.icu" "$(ICUBLD_PKG)\ucase.icu" "$(ICUBLD_PKG)\ubidi.icu" 1.1019 +# These are now hardcoded in ICU4C and only loaded in ICU4J. 1.1020 +$(BRK_SOURCE) : "$(ICUBLD_PKG)\unames.icu" "$(ICUBLD_PKG)\nfc.nrm" 1.1021 +!ENDIF 1.1022 +