1 #**********************************************************************
2 #* Copyright (C) 1999-2016, International Business Machines Corporation
3 #* and others. All Rights Reserved.
4 #**********************************************************************
5 # nmake file for creating data files on win32
7 # nmake /f makedata.mak icumake=$(ProjectDir)
9 # 12/10/1999 weiv Created
11 ##############################################################################
12 # Keep the following in sync with the version - see common/unicode/uvernum.h
13 U_ICUDATA_NAME=icudt57
14 ##############################################################################
15 U_ICUDATA_ENDIAN_SUFFIX=l
17 ICU_LIB_TARGET=$(DLL_OUTPUT)\$(U_ICUDATA_NAME).dll
20 # Must be provided by whoever runs this makefile.
21 # Is the directory containing this file (makedata.mak)
22 # Is the directory into which most data is built (prior to packaging)
26 !ERROR Can't find ICUMAKE (ICU Data Make dir, should point to icu\source\data\ )!
28 !MESSAGE ICU data make path is $(ICUMAKE)
30 # Suffixes for data files
31 .SUFFIXES : .nrm .icu .ucm .cnv .dll .dat .res .txt .c
35 # the prefix "icudt21_" for use in filenames
36 ICUPKG=$(U_ICUDATA_NAME)$(U_ICUDATA_ENDIAN_SUFFIX)
38 # need to nuke \\ for .NET...
41 ICUBLD=$(ICUOUT)\build
42 ICUBLD_PKG=$(ICUBLD)\$(ICUPKG)
46 # The root of the ICU source directory tree
49 ICUP=$(ICUP:\source\data\..\..=)
50 # In case the first one didn't do it, try this one. .NET would do the second one.
51 ICUP=$(ICUP:\source\data\\..\..=)
52 !MESSAGE ICU root path is $(ICUP)
56 # The data directory in source
58 ICUSRCDATA=$(ICUP)\source\data
59 ICUSRCDATA_RELATIVE_PATH=..\..\..
62 # The directory that contains ucmcore.mk files along with *.ucm files
67 # The directory that contains resfiles.mk files along with *.txt locale data files
72 # The directory that contains colfiles.mk files along with *.txt collation data files
77 # The directory that contains rbnffiles.mk files along with *.txt RBNF data files
82 # The directory that contains trfiles.mk files along with *.txt transliterator files
87 # The directory that contains resfiles.mk files along with *.txt break iterator files
92 # The directory that contains Unicode data files
94 ICUUNIDATA=$(ICUP)\source\data\unidata
98 # The directory that contains miscfiles.mk along with files that are miscelleneous data
100 ICUMISC=$(ICUP)\source\data\misc
104 # The directory that contains sprepfiles.mk files along with *.txt stringprep files
110 # The source directory. Contains the source files for the common data to be built.
111 # WARNING: NOT THE SAME AS ICU_DATA environment variable. Confusing.
112 ICUDATA=$(ICUP)\source\data
116 # Destination directory for the common data DLL file.
117 # This is the same place that all of the other ICU DLLs go (the code-containing DLLs)
118 # The lib file for the data DLL goes in $(DLL_OUTPUT)/../lib/
120 !IF "$(CFG)" == "x64\Release" || "$(CFG)" == "x64\Debug"
121 DLL_OUTPUT=$(ICUP)\bin64
123 DLL_OUTPUT=$(ICUP)\bin
128 # The source directory for data needed for test programs.
129 TESTDATA=$(ICUP)\source\test\testdata
133 # The destination directory for the built test data .dat file
134 TESTDATAOUT=$(ICUP)\source\test\testdata\out
138 # The build directory for test data intermidiate files
139 # (Tests are NOT run from this makefile,
140 # only the data is put in place.)
141 TESTDATABLD=$(ICUP)\source\test\testdata\out\build
145 # Directory under which all of the ICU data building tools live.
147 ICUTOOLS=$(ICUP)\source\tools
149 # The current ICU tools need to be in the path first.
150 !IF "$(CFG)" == "x64\Release" || "$(CFG)" == "x64\Debug"
151 PATH = $(ICUP)\bin64;$(PATH)
152 ICUPBIN=$(ICUP)\bin64
154 PATH = $(ICUP)\bin;$(PATH)
159 # This variable can be overridden to "-m static" by the project settings,
160 # if you want a static data library.
161 !IF "$(ICU_PACKAGE_MODE)"==""
162 ICU_PACKAGE_MODE=-m dll
165 # If this archive exists, build from that
166 # instead of building everything from scratch.
167 ICUDATA_SOURCE_ARCHIVE=$(ICUSRCDATA)\in\$(ICUPKG).dat
168 !IF !EXISTS("$(ICUDATA_SOURCE_ARCHIVE)")
169 # Does a big endian version exist either?
170 ICUDATA_ARCHIVE=$(ICUSRCDATA)\in\$(U_ICUDATA_NAME)b.dat
171 !IF EXISTS("$(ICUDATA_ARCHIVE)")
172 ICUDATA_SOURCE_ARCHIVE=$(ICUTMP)\$(ICUPKG).dat
174 # Nothing was usable for input
175 !UNDEF ICUDATA_SOURCE_ARCHIVE
179 !IFDEF ICUDATA_SOURCE_ARCHIVE
180 !MESSAGE ICU data source archive is $(ICUDATA_SOURCE_ARCHIVE)
182 # We're including a list of .ucm files.
183 # There are several lists, they are all optional.
185 # Always build the mapping files for the EBCDIC fallback codepages
186 # They are necessary on EBCDIC machines, and
187 # the following logic is much easier if UCM_SOURCE is never empty.
189 UCM_SOURCE=ibm-37_P100-1995.ucm ibm-1047_P100-1995.ucm
191 !IF EXISTS("$(ICUSRCDATA)\$(ICUUCM)\ucmcore.mk")
192 !INCLUDE "$(ICUSRCDATA)\$(ICUUCM)\ucmcore.mk"
193 UCM_SOURCE=$(UCM_SOURCE) $(UCM_SOURCE_CORE)
195 !MESSAGE Warning: cannot find "ucmcore.mk". Not building core MIME/Unix/Windows converter files.
198 !IF EXISTS("$(ICUSRCDATA)\$(ICUUCM)\ucmfiles.mk")
199 !INCLUDE "$(ICUSRCDATA)\$(ICUUCM)\ucmfiles.mk"
200 UCM_SOURCE=$(UCM_SOURCE) $(UCM_SOURCE_FILES)
202 !MESSAGE Warning: cannot find "ucmfiles.mk". Not building many converter files.
205 !IF EXISTS("$(ICUSRCDATA)\$(ICUUCM)\ucmebcdic.mk")
206 !INCLUDE "$(ICUSRCDATA)\$(ICUUCM)\ucmebcdic.mk"
207 UCM_SOURCE=$(UCM_SOURCE) $(UCM_SOURCE_EBCDIC)
208 !IFDEF UCM_SOURCE_EBCDIC_IGNORE_SISO
209 BUILD_SPECIAL_CNV_FILES=YES
210 UCM_SOURCE_SPECIAL=$(UCM_SOURCE_EBCDIC_IGNORE_SISO)
212 !UNDEF BUILD_SPECIAL_CNV_FILES
215 !MESSAGE Warning: cannot find "ucmebcdic.mk". Not building EBCDIC converter files.
218 !IF EXISTS("$(ICUSRCDATA)\$(ICUUCM)\ucmlocal.mk")
219 !INCLUDE "$(ICUSRCDATA)\$(ICUUCM)\ucmlocal.mk"
220 UCM_SOURCE=$(UCM_SOURCE) $(UCM_SOURCE_LOCAL)
221 !IFDEF UCM_SOURCE_EBCDIC_IGNORE_SISO_LOCAL
222 UCM_SOURCE_SPECIAL=$(UCM_SOURCE_SPECIAL) $(UCM_SOURCE_EBCDIC_IGNORE_SISO_LOCAL)
223 BUILD_SPECIAL_CNV_FILES=YES
226 !MESSAGE Information: cannot find "ucmlocal.mk". Not building user-additional converter files.
229 CNV_FILES=$(UCM_SOURCE:.ucm=.cnv)
230 !IFDEF BUILD_SPECIAL_CNV_FILES
231 CNV_FILES_SPECIAL=$(UCM_SOURCE_SPECIAL:.ucm=.cnv)
234 !IF EXISTS("$(ICUSRCDATA)\$(ICUBRK)\brkfiles.mk")
235 !INCLUDE "$(ICUSRCDATA)\$(ICUBRK)\brkfiles.mk"
236 !IF EXISTS("$(ICUSRCDATA)\$(ICUBRK)\brklocal.mk")
237 !INCLUDE "$(ICUSRCDATA)\$(ICUBRK)\brklocal.mk"
238 BRK_SOURCE=$(BRK_SOURCE) $(BRK_SOURCE_LOCAL)
239 BRK_DICT_SOURCE=$(BRK_DICT_SOURCE) $(BRK_DICT_SOURCE_LOCAL)
240 BRK_RES_SOURCE=$(BRK_RES_SOURCE) $(BRK_RES_SOURCE_LOCAL)
242 !MESSAGE Information: cannot find "brklocal.mk". Not building user-additional break iterator files.
245 !MESSAGE Warning: cannot find "brkfiles.mk"
249 # Break iterator data files.
251 BRK_FILES=$(ICUBRK)\$(BRK_SOURCE:.txt =.brk brkitr\)
252 BRK_FILES=$(BRK_FILES:.txt=.brk)
253 BRK_FILES=$(BRK_FILES:brkitr\ =brkitr\)
255 !IFDEF BRK_DICT_SOURCE
256 BRK_DICT_FILES = $(ICUBRK)\$(BRK_DICT_SOURCE:.txt =.dict brkitr\)
257 BRK_DICT_FILES = $(BRK_DICT_FILES:.txt=.dict)
258 BRK_DICT_FILES = $(BRK_DICT_FILES:brkitr\ =brkitr\)
261 !IFDEF BRK_RES_SOURCE
262 BRK_RES_FILES = $(BRK_RES_SOURCE:.txt =.res brkitr\)
263 BRK_RES_FILES = $(BRK_RES_FILES:.txt=.res)
264 BRK_RES_FILES = $(ICUBRK)\root.res $(ICUBRK)\$(BRK_RES_FILES:brkitr\ =)
265 ALL_RES = $(ALL_RES) $(ICUBRK)\res_index.res
268 # Read list of locale resource bundle files
269 !IF EXISTS("$(ICUSRCDATA)\$(ICULOC)\resfiles.mk")
270 !INCLUDE "$(ICUSRCDATA)\$(ICULOC)\resfiles.mk"
271 !IF EXISTS("$(ICUSRCDATA)\$(ICULOC)\reslocal.mk")
272 !INCLUDE "$(ICUSRCDATA)\$(ICULOC)\reslocal.mk"
273 GENRB_SOURCE=$(GENRB_SOURCE) $(GENRB_SOURCE_LOCAL)
275 !MESSAGE Information: cannot find "reslocal.mk". Not building user-additional resource bundle files.
278 !MESSAGE Warning: cannot find "resfiles.mk"
282 RB_FILES = root.res pool.res $(GENRB_ALIAS_SOURCE:.txt=.res) $(GENRB_ALIAS_SOURCE_LOCAL:.txt=.res) $(GENRB_SOURCE:.txt=.res)
283 ALL_RES = $(ALL_RES) res_index.res
287 # Read the list of currency display name resource bundle files
288 !IF EXISTS("$(ICUSRCDATA)\curr\resfiles.mk")
289 !INCLUDE "$(ICUSRCDATA)\curr\resfiles.mk"
290 !IF EXISTS("$(ICUSRCDATA)\curr\reslocal.mk")
291 !INCLUDE "$(ICUSRCDATA)\curr\reslocal.mk"
292 CURR_SOURCE=$(CURR_SOURCE) $(CURR_SOURCE_LOCAL)
294 !MESSAGE Information: cannot find "curr\reslocal.mk". Not building user-additional resource bundle files.
297 !MESSAGE Warning: cannot find "curr\resfiles.mk"
301 CURR_FILES = curr\root.txt supplementalData.txt $(CURR_ALIAS_SOURCE) $(CURR_SOURCE)
302 CURR_RES_FILES = $(CURR_FILES:.txt =.res curr\)
303 CURR_RES_FILES = $(CURR_RES_FILES:.txt=.res)
304 CURR_RES_FILES = curr\pool.res $(CURR_RES_FILES:curr\ =curr\)
305 ALL_RES = $(ALL_RES) curr\res_index.res
308 # Read the list of language/script display name resource bundle files
309 !IF EXISTS("$(ICUSRCDATA)\lang\resfiles.mk")
310 !INCLUDE "$(ICUSRCDATA)\lang\resfiles.mk"
311 !IF EXISTS("$(ICUSRCDATA)\lang\reslocal.mk")
312 !INCLUDE "$(ICUSRCDATA)\lang\reslocal.mk"
313 LANG_SOURCE=$(LANG_SOURCE) $(LANG_SOURCE_LOCAL)
315 !MESSAGE Information: cannot find "lang\reslocal.mk". Not building user-additional resource bundle files.
318 !MESSAGE Warning: cannot find "lang\resfiles.mk"
322 LANG_FILES = lang\root.txt $(LANG_ALIAS_SOURCE) $(LANG_SOURCE)
323 LANG_RES_FILES = $(LANG_FILES:.txt =.res lang\)
324 LANG_RES_FILES = $(LANG_RES_FILES:.txt=.res)
325 LANG_RES_FILES = lang\pool.res $(LANG_RES_FILES:lang\ =lang\)
326 ALL_RES = $(ALL_RES) lang\res_index.res
329 # Read the list of region display name resource bundle files
330 !IF EXISTS("$(ICUSRCDATA)\region\resfiles.mk")
331 !INCLUDE "$(ICUSRCDATA)\region\resfiles.mk"
332 !IF EXISTS("$(ICUSRCDATA)\region\reslocal.mk")
333 !INCLUDE "$(ICUSRCDATA)\region\reslocal.mk"
334 REGION_SOURCE=$(REGION_SOURCE) $(REGION_SOURCE_LOCAL)
336 !MESSAGE Information: cannot find "region\reslocal.mk". Not building user-additional resource bundle files.
339 !MESSAGE Warning: cannot find "region\resfiles.mk"
343 REGION_FILES = region\root.txt $(REGION_ALIAS_SOURCE) $(REGION_SOURCE)
344 REGION_RES_FILES = $(REGION_FILES:.txt =.res region\)
345 REGION_RES_FILES = $(REGION_RES_FILES:.txt=.res)
346 REGION_RES_FILES = region\pool.res $(REGION_RES_FILES:region\ =region\)
347 ALL_RES = $(ALL_RES) region\res_index.res
350 # Read the list of time zone display name resource bundle files
351 !IF EXISTS("$(ICUSRCDATA)\zone\resfiles.mk")
352 !INCLUDE "$(ICUSRCDATA)\zone\resfiles.mk"
353 !IF EXISTS("$(ICUSRCDATA)\zone\reslocal.mk")
354 !INCLUDE "$(ICUSRCDATA)\zone\reslocal.mk"
355 ZONE_SOURCE=$(ZONE_SOURCE) $(ZONE_SOURCE_LOCAL)
357 !MESSAGE Information: cannot find "zone\reslocal.mk". Not building user-additional resource bundle files.
359 ZONE_SOURCE=$(ZONE_SOURCE) tzdbNames.txt
361 !MESSAGE Warning: cannot find "zone\resfiles.mk"
365 ZONE_FILES = zone\root.txt $(ZONE_ALIAS_SOURCE) $(ZONE_SOURCE)
366 ZONE_RES_FILES = $(ZONE_FILES:.txt =.res zone\)
367 ZONE_RES_FILES = $(ZONE_RES_FILES:.txt=.res)
368 ZONE_RES_FILES = zone\pool.res $(ZONE_RES_FILES:zone\ =zone\)
369 ALL_RES = $(ALL_RES) zone\res_index.res
372 # Read the list of units display name resource bundle files
373 !IF EXISTS("$(ICUSRCDATA)\unit\resfiles.mk")
374 !INCLUDE "$(ICUSRCDATA)\unit\resfiles.mk"
375 !IF EXISTS("$(ICUSRCDATA)\unit\reslocal.mk")
376 !INCLUDE "$(ICUSRCDATA)\unit\reslocal.mk"
377 UNIT_SOURCE=$(UNIT_SOURCE) $(UNIT_SOURCE_LOCAL)
379 !MESSAGE Information: cannot find "unit\reslocal.mk". Not building user-additional resource bundle files.
382 !MESSAGE Warning: cannot find "unit\resfiles.mk"
386 UNIT_FILES = unit\root.txt $(UNIT_ALIAS_SOURCE) $(UNIT_SOURCE)
387 UNIT_RES_FILES = $(UNIT_FILES:.txt =.res unit\)
388 UNIT_RES_FILES = $(UNIT_RES_FILES:.txt=.res)
389 UNIT_RES_FILES = unit\pool.res $(UNIT_RES_FILES:unit\ =unit\)
390 ALL_RES = $(ALL_RES) unit\res_index.res
393 # Read the list of collation resource bundle files
394 !IF EXISTS("$(ICUSRCDATA)\$(ICUCOL)\colfiles.mk")
395 !INCLUDE "$(ICUSRCDATA)\$(ICUCOL)\colfiles.mk"
396 !IF EXISTS("$(ICUSRCDATA)\$(ICUCOL)\collocal.mk")
397 !INCLUDE "$(ICUSRCDATA)\$(ICUCOL)\collocal.mk"
398 COLLATION_SOURCE=$(COLLATION_SOURCE) $(COLLATION_SOURCE_LOCAL)
400 !MESSAGE Information: cannot find "collocal.mk". Not building user-additional resource bundle files.
403 !MESSAGE Warning: cannot find "colfiles.mk"
406 !IFDEF COLLATION_SOURCE
407 COL_FILES = $(ICUCOL)\root.txt $(COLLATION_ALIAS_SOURCE) $(COLLATION_SOURCE)
408 COL_COL_FILES = $(COL_FILES:.txt =.res coll\)
409 COL_COL_FILES = $(COL_COL_FILES:.txt=.res)
410 COL_COL_FILES = $(COL_COL_FILES:coll\ =)
411 ALL_RES = $(ALL_RES) $(ICUCOL)\res_index.res
414 # Read the list of RBNF resource bundle files
415 !IF EXISTS("$(ICUSRCDATA)\$(ICURBNF)\rbnffiles.mk")
416 !INCLUDE "$(ICUSRCDATA)\$(ICURBNF)\rbnffiles.mk"
417 !IF EXISTS("$(ICUSRCDATA)\$(ICURBNF)\rbnflocal.mk")
418 !INCLUDE "$(ICUSRCDATA)\$(ICURBNF)\rbnflocal.mk"
419 RBNF_SOURCE=$(RBNF_SOURCE) $(RBNF_SOURCE_LOCAL)
421 !MESSAGE Information: cannot find "rbnflocal.mk". Not building user-additional resource bundle files.
424 !MESSAGE Warning: cannot find "rbnffiles.mk"
428 RBNF_FILES = $(ICURBNF)\root.txt $(RBNF_ALIAS_SOURCE) $(RBNF_SOURCE)
429 RBNF_RES_FILES = $(RBNF_FILES:.txt =.res rbnf\)
430 RBNF_RES_FILES = $(RBNF_RES_FILES:.txt=.res)
431 RBNF_RES_FILES = $(RBNF_RES_FILES:rbnf\ =rbnf\)
432 ALL_RES = $(ALL_RES) $(ICURBNF)\res_index.res
435 # Read the list of transliterator resource bundle files
436 !IF EXISTS("$(ICUSRCDATA)\$(ICUTRNS)\trnsfiles.mk")
437 !INCLUDE "$(ICUSRCDATA)\$(ICUTRNS)\trnsfiles.mk"
438 !IF EXISTS("$(ICUSRCDATA)\$(ICUTRNS)\trnslocal.mk")
439 !INCLUDE "$(ICUSRCDATA)\$(ICUTRNS)\trnslocal.mk"
440 TRANSLIT_SOURCE=$(TRANSLIT_SOURCE) $(TRANSLIT_SOURCE_LOCAL)
442 !MESSAGE Information: cannot find "trnslocal.mk". Not building user-additional transliterator files.
445 !MESSAGE Warning: cannot find "trnsfiles.mk"
448 !IFDEF TRANSLIT_SOURCE
449 TRANSLIT_FILES = $(ICUTRNS)\$(TRANSLIT_ALIAS_SOURCE) $(TRANSLIT_SOURCE)
450 TRANSLIT_RES_FILES = $(TRANSLIT_FILES:.txt =.res translit\)
451 TRANSLIT_RES_FILES = $(TRANSLIT_RES_FILES:.txt=.res)
452 TRANSLIT_RES_FILES = $(TRANSLIT_RES_FILES:translit\ =translit\)
453 #ALL_RES = $(ALL_RES) $(ICUTRNS)\res_index.res
456 # Read the list of miscellaneous resource bundle files
457 !IF EXISTS("$(ICUSRCDATA)\$(ICUMISC2)\miscfiles.mk")
458 !INCLUDE "$(ICUSRCDATA)\$(ICUMISC2)\miscfiles.mk"
459 !IF EXISTS("$(ICUSRCDATA)\$(ICUMISC2)\misclocal.mk")
460 !INCLUDE "$(ICUSRCDATA)\$(ICUMISC2)\misclocal.mk"
461 MISC_SOURCE=$(MISC_SOURCE) $(MISC_SOURCE_LOCAL)
463 !MESSAGE Information: cannot find "misclocal.mk". Not building user-additional miscellaenous files.
466 !MESSAGE Warning: cannot find "miscfiles.mk"
469 MISC_FILES = $(MISC_SOURCE:.txt=.res)
471 # don't include COL_FILES
472 ALL_RES = $(ALL_RES) $(RB_FILES) $(MISC_FILES)
475 # Read the list of stringprep profile files
476 !IF EXISTS("$(ICUSRCDATA)\$(ICUSPREP)\sprepfiles.mk")
477 !INCLUDE "$(ICUSRCDATA)\$(ICUSPREP)\sprepfiles.mk"
478 !IF EXISTS("$(ICUSRCDATA)\$(ICUSPREP)\spreplocal.mk")
479 !INCLUDE "$(ICUSRCDATA)\$(ICUSPREP)\spreplocal.mk"
480 SPREP_SOURCE=$(SPREP_SOURCE) $(SPREP_SOURCE_LOCAL)
482 !MESSAGE Information: cannot find "spreplocal.mk". Not building user-additional stringprep files.
485 !MESSAGE Warning: cannot find "sprepfiles.mk"
488 SPREP_FILES = $(SPREP_SOURCE:.txt=.spp)
490 # Common defines for both ways of building ICU's data library.
491 COMMON_ICUDATA_DEPENDENCIES="$(ICUPBIN)\pkgdata.exe" "$(ICUTMP)\icudata.res" "$(ICUP)\source\stubdata\stubdatabuilt.txt"
492 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 .
494 #############################################################################
497 # This target builds all the data files. The world starts here.
498 # Note: we really want the common data dll to go to $(DLL_OUTPUT), not $(ICUBLD_PKG). But specifying
499 # that here seems to cause confusion with the building of the stub library of the same name.
500 # Building the common dll in $(ICUBLD_PKG) unconditionally copies it to $(DLL_OUTPUT) too.
502 #############################################################################
503 ALL : GODATA "$(ICU_LIB_TARGET)" "$(TESTDATAOUT)\testdata.dat"
504 @echo All targets are up to date
506 # The core Unicode properties files (uprops.icu, ucase.icu, ubidi.icu)
507 # are hardcoded in the common DLL and therefore not included in the data package any more.
508 # They are not built by default but need to be built for ICU4J data and for getting the .c source files
509 # when updating the Unicode data.
510 # Changed in makedata.mak revision 1.117. See Jitterbug 4497.
511 # 2010-dec Removed pnames.icu.
513 # 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
514 uni-core-data: GODATA "$(ICUBLD_PKG)\pnames.icu" "$(ICUBLD_PKG)\uprops.icu" "$(ICUBLD_PKG)\ucase.icu" "$(ICUBLD_PKG)\ubidi.icu" "$(ICUBLD_PKG)\nfc.nrm"
515 @echo Unicode .icu files built to "$(ICUBLD_PKG)"
517 # Build the ICU4J icudata.jar and testdata.jar.
518 # see icu4j-readme.txt
520 ICU4J_TZDATA="$(ICUOUT)\icu4j\icutzdata.jar"
521 ICU4J_DATA_DIRNAME=com\ibm\icu\impl\data\$(U_ICUDATA_NAME)b
522 ICU4J_TZDATA_PATHS=$(ICU4J_DATA_DIRNAME)\zoneinfo64.res $(ICU4J_DATA_DIRNAME)\metaZones.res $(ICU4J_DATA_DIRNAME)\timezoneTypes.res $(ICU4J_DATA_DIRNAME)\windowsZones.res
524 generate-data: GODATA "$(ICUOUT)\$(ICUPKG).dat" uni-core-data
525 if not exist "$(ICUOUT)\icu4j\$(ICU4J_DATA_DIRNAME)" mkdir "$(ICUOUT)\icu4j\$(ICU4J_DATA_DIRNAME)"
526 if not exist "$(ICUOUT)\icu4j\tzdata\$(ICU4J_DATA_DIRNAME)" mkdir "$(ICUOUT)\icu4j\tzdata\$(ICU4J_DATA_DIRNAME)"
527 echo pnames.icu ubidi.icu ucase.icu uprops.icu nfc.nrm > "$(ICUOUT)\icu4j\add.txt"
528 "$(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)"
529 @for %f in ($(ICU4J_TZDATA_PATHS)) do @move "$(ICUOUT)\icu4j\%f" "$(ICUOUT)\icu4j\tzdata\$(ICU4J_DATA_DIRNAME)"
531 "$(ICUOUT)\icu4j\icutzdata.jar": GODATA generate-data
532 "$(JAR)" cf "$(ICUOUT)\icu4j\icutzdata.jar" -C "$(ICUOUT)\icu4j\tzdata" "$(ICU4J_DATA_DIRNAME)"
535 # - add the uni-core-data to the ICU package
536 # - swap the ICU data
537 # - extract all data items
538 # - package them into the .jar file
539 "$(ICUOUT)\icu4j\icudata.jar": GODATA generate-data
540 "$(JAR)" cf "$(ICUOUT)\icu4j\icudata.jar" -C "$(ICUOUT)\icu4j" "$(ICU4J_DATA_DIRNAME)"
542 # Build testdata.jar:
543 # - swap the test data
544 # - extract all data items
545 # - package them into the .jar file
546 "$(ICUOUT)\icu4j\testdata.jar": GODATA "$(TESTDATAOUT)\testdata.dat"
547 if not exist "$(ICUOUT)\icu4j\com\ibm\icu\dev\data\testdata" mkdir "$(ICUOUT)\icu4j\com\ibm\icu\dev\data\testdata"
548 "$(ICUPBIN)\icupkg" "$(TESTDATAOUT)\testdata.dat" -r test.icu -x * -tb -d "$(ICUOUT)\icu4j\com\ibm\icu\dev\data\testdata"
549 "$(JAR)" cf "$(ICUOUT)\icu4j\testdata.jar" -C "$(ICUOUT)\icu4j" com\ibm\icu\dev\data\testdata
551 ## Compare to: source\data\Makefile.in and source\test\testdata\Makefile.in
553 DEBUGUTILITIESDATA_DIR=main\tests\core\src\com\ibm\icu\dev\test\util
554 DEBUGUTILITIESDATA_SRC=DebugUtilitiesData.java
556 # Build DebugUtilitiesData.java
557 "$(ICUOUT)\icu4j\src\$(DEBUGUTILITIESDATA_DIR)\$(DEBUGUTILITIESDATA_SRC)" : {"$(ICUTOOLS)\gentest\$(CFG)"}gentest.exe
558 if not exist "$(ICUOUT)\icu4j\src\$(DEBUGUTILITIESDATA_DIR)" mkdir "$(ICUOUT)\icu4j\src\$(DEBUGUTILITIESDATA_DIR)"
559 "$(ICUTOOLS)\gentest\$(CFG)\gentest" -j -d"$(ICUOUT)\icu4j\src\$(DEBUGUTILITIESDATA_DIR)"
561 ICU4J_DATA="$(ICUOUT)\icu4j\icudata.jar" "$(ICUOUT)\icu4j\testdata.jar" "$(ICUOUT)\icu4j\src\$(DEBUGUTILITIESDATA_DIR)\$(DEBUGUTILITIESDATA_SRC)"
563 icu4j-data: GODATA $(ICU4J_DATA) $(ICU4J_TZDATA)
567 "$(ICU4J_ROOT)\main\shared\data\icudata.jar": "$(ICUOUT)\icu4j\icudata.jar"
568 if not exist "$(ICU4J_ROOT)\main\shared\data" mkdir "$(ICU4J_ROOT)\main\shared\data"
569 copy "$(ICUOUT)\icu4j\icudata.jar" "$(ICU4J_ROOT)\main\shared\data"
571 "$(ICU4J_ROOT)\main\shared\data\icutzdata.jar": "$(ICUOUT)\icu4j\icutzdata.jar"
572 if not exist "$(ICU4J_ROOT)\main\shared\data" mkdir "$(ICU4J_ROOT)\main\shared\data"
573 copy "$(ICUOUT)\icu4j\icutzdata.jar" "$(ICU4J_ROOT)\main\shared\data"
575 "$(ICU4J_ROOT)\main\shared\data\testdata.jar": "$(ICUOUT)\icu4j\testdata.jar"
576 if not exist "$(ICU4J_ROOT)\main\shared\data" mkdir "$(ICU4J_ROOT)\main\shared\data"
577 copy "$(ICUOUT)\icu4j\testdata.jar" "$(ICU4J_ROOT)\main\shared\data"
579 # "$(DEBUGUTILTIESDATA_OUT)"
581 "$(ICU4J_ROOT)\$(DEBUGUTILITIESDATA_DIR)\$(DEBUGUTILITIESDATA_SRC)": "$(ICUOUT)\icu4j\src\$(DEBUGUTILITIESDATA_DIR)\$(DEBUGUTILITIESDATA_SRC)"
582 if not exist "$(ICU4J_ROOT)\$(DEBUGUTILITIESDATA_DIR)" mkdir "$(ICU4J_ROOT)\$(DEBUGUTILITIESDATA_DIR)"
583 copy "$(ICUOUT)\icu4j\src\$(DEBUGUTILITIESDATA_DIR)\$(DEBUGUTILITIESDATA_SRC)" "$(ICU4J_ROOT)\$(DEBUGUTILITIESDATA_DIR)\$(DEBUGUTILITIESDATA_SRC)"
585 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)"
587 icu4j-data-install : GODATA $(ICU4J_DATA) $(ICU4J_TZDATA) $(ICU4J_DATA_INSTALLED)
588 @echo ICU4J data output to "$(ICU4J_ROOT)"
593 @echo ERROR ICU4J_ROOT not set
601 # testdata - nmake will invoke pkgdata, which will create testdata.dat
603 "$(TESTDATAOUT)\testdata.dat": "$(TESTDATA)\*" "$(ICUBLD_PKG)\$(ICUCOL)\ucadata.icu" $(TRANSLIT_RES_FILES) $(MISC_FILES) $(RB_FILES) {"$(ICUTOOLS)\genrb\$(CFG)"}genrb.exe
605 @echo building testdata...
606 nmake /nologo /f "$(TESTDATA)\testdata.mak" TESTDATA=. ICUTOOLS="$(ICUTOOLS)" ICUPBIN="$(ICUPBIN)" ICUP="$(ICUP)" CFG=$(CFG) TESTDATAOUT="$(TESTDATAOUT)" TESTDATABLD="$(TESTDATABLD)"
608 #invoke pkgdata for ICU common data
609 # pkgdata will drop all output files (.dat, .dll, .lib) into the target (ICUBLD_PKG) directory.
610 # move the .dll and .lib files to their final destination afterwards.
611 # The $(U_ICUDATA_NAME).lib and $(U_ICUDATA_NAME).exp should already be in the right place due to stubdata.
613 # 2005-may-05 Removed Unicode properties files (unorm.icu, uprops.icu, ucase.icu, ubidi.icu)
614 # from data build. See Jitterbug 4497. (makedata.mak revision 1.117)
616 !IFDEF ICUDATA_SOURCE_ARCHIVE
617 "$(ICU_LIB_TARGET)" : $(COMMON_ICUDATA_DEPENDENCIES) "$(ICUDATA_SOURCE_ARCHIVE)"
618 @echo Building icu data from $(ICUDATA_SOURCE_ARCHIVE)
620 "$(ICUPBIN)\icupkg" -x * --list "$(ICUDATA_SOURCE_ARCHIVE)" > "$(ICUTMP)\icudata.lst"
621 "$(ICUPBIN)\pkgdata" $(COMMON_ICUDATA_ARGUMENTS) "$(ICUTMP)\icudata.lst"
622 copy "$(U_ICUDATA_NAME).dll" "$(DLL_OUTPUT)"
623 -@erase "$(U_ICUDATA_NAME).dll"
624 copy "$(ICUTMP)\$(ICUPKG).dat" "$(ICUOUT)\$(U_ICUDATA_NAME)$(U_ICUDATA_ENDIAN_SUFFIX).dat"
625 -@erase "$(ICUTMP)\$(ICUPKG).dat"
627 "$(ICU_LIB_TARGET)" : $(COMMON_ICUDATA_DEPENDENCIES) $(CNV_FILES) $(CNV_FILES_SPECIAL) "$(ICUBLD_PKG)\unames.icu" "$(ICUBLD_PKG)\cnvalias.icu" "$(ICUBLD_PKG)\nfkc.nrm" "$(ICUBLD_PKG)\nfkc_cf.nrm" "$(ICUBLD_PKG)\uts46.nrm" "$(ICUBLD_PKG)\$(ICUCOL)\ucadata.icu" $(CURR_RES_FILES) $(LANG_RES_FILES) $(REGION_RES_FILES) $(ZONE_RES_FILES) $(UNIT_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"
628 @echo Building icu data
630 "$(ICUPBIN)\pkgdata" $(COMMON_ICUDATA_ARGUMENTS) <<"$(ICUTMP)\icudata.lst"
633 $(ICUCOL)\ucadata.icu
638 $(CNV_FILES:.cnv =.cnv
640 $(CNV_FILES_SPECIAL:.cnv =.cnv
644 $(CURR_RES_FILES:.res =.res
646 $(LANG_RES_FILES:.res =.res
648 $(REGION_RES_FILES:.res =.res
650 $(ZONE_RES_FILES:.res =.res
652 $(UNIT_RES_FILES:.res =.res
654 $(COL_COL_FILES:.res =.res
656 $(RBNF_RES_FILES:.res =.res
658 $(TRANSLIT_RES_FILES:.res =.res
660 $(BRK_FILES:.brk =.brk
662 $(BRK_DICT_FILES:.dict =.dict
664 $(BRK_RES_FILES:.res =.res
666 $(SPREP_FILES:.spp=.spp
669 -@erase "$(ICU_LIB_TARGET)"
670 copy "$(U_ICUDATA_NAME).dll" "$(ICU_LIB_TARGET)"
671 -@erase "$(U_ICUDATA_NAME).dll"
672 copy "$(ICUTMP)\$(ICUPKG).dat" "$(ICUOUT)\$(U_ICUDATA_NAME)$(U_ICUDATA_ENDIAN_SUFFIX).dat"
673 -@erase "$(ICUTMP)\$(ICUPKG).dat"
676 # utility target to create missing directories
678 @if not exist "$(ICUOUT)\$(NULL)" mkdir "$(ICUOUT)"
679 @if not exist "$(ICUTMP)\$(NULL)" mkdir "$(ICUTMP)"
680 @if not exist "$(ICUOUT)\build\$(NULL)" mkdir "$(ICUOUT)\build"
681 @if not exist "$(ICUBLD_PKG)\$(NULL)" mkdir "$(ICUBLD_PKG)"
682 @if not exist "$(ICUBLD_PKG)\curr\$(NULL)" mkdir "$(ICUBLD_PKG)\curr"
683 @if not exist "$(ICUBLD_PKG)\lang\$(NULL)" mkdir "$(ICUBLD_PKG)\lang"
684 @if not exist "$(ICUBLD_PKG)\region\$(NULL)" mkdir "$(ICUBLD_PKG)\region"
685 @if not exist "$(ICUBLD_PKG)\zone\$(NULL)" mkdir "$(ICUBLD_PKG)\zone"
686 @if not exist "$(ICUBLD_PKG)\$(ICUBRK)\$(NULL)" mkdir "$(ICUBLD_PKG)\$(ICUBRK)"
687 @if not exist "$(ICUBLD_PKG)\$(ICUCOL)\$(NULL)" mkdir "$(ICUBLD_PKG)\$(ICUCOL)"
688 @if not exist "$(ICUBLD_PKG)\$(ICURBNF)\$(NULL)" mkdir "$(ICUBLD_PKG)\$(ICURBNF)"
689 @if not exist "$(ICUBLD_PKG)\$(ICUTRNS)\$(NULL)" mkdir "$(ICUBLD_PKG)\$(ICUTRNS)"
690 @if not exist "$(TESTDATAOUT)\$(NULL)" mkdir "$(TESTDATAOUT)"
691 @if not exist "$(TESTDATABLD)\$(NULL)" mkdir "$(TESTDATABLD)"
692 @if not exist "$(TESTDATAOUT)\testdata\$(NULL)" mkdir "$(TESTDATAOUT)\testdata"
694 # utility target to send us to the right dir
698 # This is to remove all the data files
700 @echo Cleaning up the data files.
715 -@erase "region\*.res"
716 -@erase "region\*.txt"
719 @cd "$(ICUBLD_PKG)\$(ICUBRK)"
724 @cd "$(ICUBLD_PKG)\$(ICUCOL)"
727 @cd "$(ICUBLD_PKG)\$(ICURBNF)"
730 @cd "$(ICUBLD_PKG)\$(ICUTRNS)"
750 @cd "$(TESTDATAOUT)\testdata"
755 # RBBI .brk file generation.
756 {$(ICUSRCDATA_RELATIVE_PATH)\$(ICUBRK)\rules}.txt.brk:
758 @"$(ICUTOOLS)\genbrk\$(CFG)\genbrk" -c -r $< -o $@ -d"$(ICUBLD_PKG)" -i "$(ICUBLD_PKG)"
760 #RBBI .dict file generation.
761 {$(ICUSRCDATA_RELATIVE_PATH)\$(ICUBRK)\dictionaries}.txt.dict:
763 @"$(ICUTOOLS)\gendict\$(CFG)\gendict" -c --uchars $< "$(ICUBLD_PKG)\$@"
765 $(ICUBRK)\thaidict.dict:
766 @echo Creating $(ICUBRK)\thaidict.dict
767 @"$(ICUTOOLS)\gendict\$(CFG)\gendict" -c --bytes --transform offset-0x0e00 $(ICUSRCDATA_RELATIVE_PATH)\$(ICUBRK)\dictionaries\thaidict.txt "$(ICUBLD_PKG)\$(ICUBRK)\thaidict.dict"
769 $(ICUBRK)\laodict.dict:
770 @echo Creating $(ICUBRK)\laodict.dict
771 @"$(ICUTOOLS)\gendict\$(CFG)\gendict" -c --bytes --transform offset-0x0e80 $(ICUSRCDATA_RELATIVE_PATH)\$(ICUBRK)\dictionaries\laodict.txt "$(ICUBLD_PKG)\$(ICUBRK)\laodict.dict"
773 $(ICUBRK)\burmesedict.dict:
774 @echo Creating $(ICUBRK)\burmesedict.dict
775 @"$(ICUTOOLS)\gendict\$(CFG)\gendict" -c --bytes --transform offset-0x1000 $(ICUSRCDATA_RELATIVE_PATH)\$(ICUBRK)\dictionaries\burmesedict.txt "$(ICUBLD_PKG)\$(ICUBRK)\burmesedict.dict"
777 $(ICUBRK)\khmerdict.dict:
778 @echo Creating $(ICUBRK)\khmerdict.dict
779 @"$(ICUTOOLS)\gendict\$(CFG)\gendict" -c --bytes --transform offset-0x1780 $(ICUSRCDATA_RELATIVE_PATH)\$(ICUBRK)\dictionaries\khmerdict.txt "$(ICUBLD_PKG)\$(ICUBRK)\khmerdict.dict"
781 !IFNDEF ICUDATA_SOURCE_ARCHIVE
782 # Rule for creating converters
783 $(CNV_FILES): $(UCM_SOURCE)
784 @echo Building Charset Conversion table $(@B)
785 @"$(ICUTOOLS)\makeconv\$(CFG)\makeconv" -c -d"$(ICUBLD_PKG)" $(ICUSRCDATA_RELATIVE_PATH)\$(ICUUCM)\$(@B).ucm
788 !IFDEF BUILD_SPECIAL_CNV_FILES
789 $(CNV_FILES_SPECIAL): $(UCM_SOURCE_SPECIAL)
790 @echo Building Special Charset Conversion table $(@B)
791 @"$(ICUTOOLS)\makeconv\$(CFG)\makeconv" -c --ignore-siso-check -d"$(ICUBLD_PKG)" $(ICUSRCDATA_RELATIVE_PATH)\$(ICUUCM)\$(@B).ucm
794 # Batch inference rule for creating miscellaneous resource files
795 # TODO: -q option is specified to squelch the 120+ warnings about
796 # empty intvectors and binary elements. Unfortunately, this may
797 # squelch other legitimate warnings. When there is a better
798 # way, remove the -q.
799 {$(ICUSRCDATA_RELATIVE_PATH)\$(ICUMISC2)}.txt.res::
800 @echo Making Miscellaneous Resource Bundle files
801 @"$(ICUTOOLS)\genrb\$(CFG)\genrb" -k -q -d"$(ICUBLD_PKG)" $<
803 # Inference rule for creating resource bundle files
804 {$(ICUSRCDATA_RELATIVE_PATH)\$(ICULOC)}.txt.res::
805 @echo Making Locale Resource Bundle files
806 @"$(ICUTOOLS)\genrb\$(CFG)\genrb" --usePoolBundle $(ICUSRCDATA_RELATIVE_PATH)\$(ICULOC) -k -d"$(ICUBLD_PKG)" $<
808 # copy the locales/pool.res file from the source folder to the build output folder
809 # and swap it to native endianness
810 pool.res: $(ICUSRCDATA_RELATIVE_PATH)\$(ICULOC)\pool.res
811 "$(ICUPBIN)\icupkg" -tl "$(ICUSRCDATA_RELATIVE_PATH)\$(ICULOC)\pool.res" pool.res
814 @echo Generating <<res_index.txt
815 // Warning this file is automatically generated
816 res_index:table(nofallback) {
818 $(GENRB_SOURCE:.txt= {""}
823 @"$(ICUTOOLS)\genrb\$(CFG)\genrb" -k -d"$(ICUBLD_PKG)" .\res_index.txt
826 {$(ICUSRCDATA_RELATIVE_PATH)\curr}.txt{curr}.res::
827 @echo Making currency display name files
828 @"$(ICUTOOLS)\genrb\$(CFG)\genrb" --usePoolBundle $(ICUSRCDATA_RELATIVE_PATH)\curr -k -i "$(ICUBLD_PKG)" -d"$(ICUBLD_PKG)\curr" $<
830 # copy the curr/pool.res file from the source folder to the build output folder
831 # and swap it to native endianness
832 curr\pool.res: $(ICUSRCDATA_RELATIVE_PATH)\curr\pool.res
833 "$(ICUPBIN)\icupkg" -tl "$(ICUSRCDATA_RELATIVE_PATH)\curr\pool.res" curr\pool.res
836 @echo Generating <<curr\res_index.txt
837 // Warning this file is automatically generated
838 res_index:table(nofallback) {
840 $(CURR_SOURCE:.txt= {""}
845 @"$(ICUTOOLS)\genrb\$(CFG)\genrb" -k -d"$(ICUBLD_PKG)\curr" .\curr\res_index.txt
848 {$(ICUSRCDATA_RELATIVE_PATH)\lang}.txt{lang}.res::
849 @echo Making language/script display name files
850 @"$(ICUTOOLS)\genrb\$(CFG)\genrb" --usePoolBundle $(ICUSRCDATA_RELATIVE_PATH)\lang -k -i "$(ICUBLD_PKG)" -d"$(ICUBLD_PKG)\lang" $<
852 # copy the lang/pool.res file from the source folder to the build output folder
853 # and swap it to native endianness
854 lang\pool.res: $(ICUSRCDATA_RELATIVE_PATH)\lang\pool.res
855 "$(ICUPBIN)\icupkg" -tl "$(ICUSRCDATA_RELATIVE_PATH)\lang\pool.res" lang\pool.res
858 @echo Generating <<lang\res_index.txt
859 // Warning this file is automatically generated
860 res_index:table(nofallback) {
862 $(LANG_SOURCE:.txt= {""}
867 @"$(ICUTOOLS)\genrb\$(CFG)\genrb" -k -d"$(ICUBLD_PKG)\lang" .\lang\res_index.txt
870 {$(ICUSRCDATA_RELATIVE_PATH)\region}.txt{region}.res::
871 @echo Making region display name files
872 @"$(ICUTOOLS)\genrb\$(CFG)\genrb" --usePoolBundle $(ICUSRCDATA_RELATIVE_PATH)\region -k -i "$(ICUBLD_PKG)" -d"$(ICUBLD_PKG)\region" $<
874 # copy the region/pool.res file from the source folder to the build output folder
875 # and swap it to native endianness
876 region\pool.res: $(ICUSRCDATA_RELATIVE_PATH)\region\pool.res
877 "$(ICUPBIN)\icupkg" -tl "$(ICUSRCDATA_RELATIVE_PATH)\region\pool.res" region\pool.res
879 region\res_index.res:
880 @echo Generating <<region\res_index.txt
881 // Warning this file is automatically generated
882 res_index:table(nofallback) {
884 $(REGION_SOURCE:.txt= {""}
889 @"$(ICUTOOLS)\genrb\$(CFG)\genrb" -k -d"$(ICUBLD_PKG)\region" .\region\res_index.txt
892 {$(ICUSRCDATA_RELATIVE_PATH)\zone}.txt{zone}.res::
893 @echo Making time zone display name files
894 @"$(ICUTOOLS)\genrb\$(CFG)\genrb" --usePoolBundle $(ICUSRCDATA_RELATIVE_PATH)\zone -k -i "$(ICUBLD_PKG)" -d"$(ICUBLD_PKG)\zone" $<
896 # copy the zone/pool.res file from the source folder to the build output folder
897 # and swap it to native endianness
898 zone\pool.res: $(ICUSRCDATA_RELATIVE_PATH)\zone\pool.res
899 "$(ICUPBIN)\icupkg" -tl "$(ICUSRCDATA_RELATIVE_PATH)\zone\pool.res" zone\pool.res
902 @echo Generating <<zone\res_index.txt
903 // Warning this file is automatically generated
904 res_index:table(nofallback) {
906 $(ZONE_SOURCE:.txt= {""}
911 @"$(ICUTOOLS)\genrb\$(CFG)\genrb" -k -d"$(ICUBLD_PKG)\zone" .\zone\res_index.txt
914 {$(ICUSRCDATA_RELATIVE_PATH)\unit}.txt{unit}.res::
915 @echo Making unit display name files
916 @"$(ICUTOOLS)\genrb\$(CFG)\genrb" --usePoolBundle $(ICUSRCDATA_RELATIVE_PATH)\unit -k -i "$(ICUBLD_PKG)" -d"$(ICUBLD_PKG)\unit" $<
918 # copy the unit/pool.res file from the source folder to the build output folder
919 # and swap it to native endianness
920 unit\pool.res: $(ICUSRCDATA_RELATIVE_PATH)\unit\pool.res
921 "$(ICUPBIN)\icupkg" -tl "$(ICUSRCDATA_RELATIVE_PATH)\unit\pool.res" unit\pool.res
924 @echo Generating <<unit\res_index.txt
925 // Warning this file is automatically generated
926 res_index:table(nofallback) {
928 $(UNIT_SOURCE:.txt= {""}
933 @"$(ICUTOOLS)\genrb\$(CFG)\genrb" -k -d"$(ICUBLD_PKG)\unit" .\unit\res_index.txt
936 {$(ICUSRCDATA_RELATIVE_PATH)\$(ICUCOL)}.txt{$(ICUCOL)}.res::
937 @echo Making Collation files
938 @"$(ICUTOOLS)\genrb\$(CFG)\genrb" -k -i "$(ICUBLD_PKG)" -d"$(ICUBLD_PKG)\$(ICUCOL)" $<
940 $(ICUCOL)\res_index.res:
941 @echo Generating <<$(ICUCOL)\res_index.txt
942 // Warning this file is automatically generated
943 res_index:table(nofallback) {
945 $(COLLATION_SOURCE:.txt= {""}
950 @"$(ICUTOOLS)\genrb\$(CFG)\genrb" -k -d"$(ICUBLD_PKG)\$(ICUCOL)" .\$(ICUCOL)\res_index.txt
952 {$(ICUSRCDATA_RELATIVE_PATH)\$(ICURBNF)}.txt{$(ICURBNF)}.res::
953 @echo Making RBNF files
954 @"$(ICUTOOLS)\genrb\$(CFG)\genrb" -k -i "$(ICUBLD_PKG)" -d"$(ICUBLD_PKG)\$(ICURBNF)" $<
956 $(ICURBNF)\res_index.res:
957 @echo Generating <<$(ICURBNF)\res_index.txt
958 // Warning this file is automatically generated
959 res_index:table(nofallback) {
961 $(RBNF_SOURCE:.txt= {""}
966 @"$(ICUTOOLS)\genrb\$(CFG)\genrb" -k -d"$(ICUBLD_PKG)\$(ICURBNF)" .\$(ICURBNF)\res_index.txt
968 $(ICUBRK)\res_index.res:
969 @echo Generating <<$(ICUBRK)\res_index.txt
970 // Warning this file is automatically generated
971 res_index:table(nofallback) {
973 $(BRK_RES_SOURCE:.txt= {""}
978 @"$(ICUTOOLS)\genrb\$(CFG)\genrb" -k -d"$(ICUBLD_PKG)\$(ICUBRK)" .\$(ICUBRK)\res_index.txt
980 {$(ICUSRCDATA_RELATIVE_PATH)\$(ICUBRK)}.txt{$(ICUBRK)}.res::
981 @echo Making Break Iterator Resource files
982 @"$(ICUTOOLS)\genrb\$(CFG)\genrb" -k -i "$(ICUBLD_PKG)" -d"$(ICUBLD_PKG)\$(ICUBRK)" $<
984 {$(ICUSRCDATA_RELATIVE_PATH)\$(ICUTRNS)}.txt{$(ICUTRNS)}.res::
985 @echo Making Transliterator files
986 @"$(ICUTOOLS)\genrb\$(CFG)\genrb" -k -i "$(ICUBLD_PKG)" -d"$(ICUBLD_PKG)\$(ICUTRNS)" $<
989 # DLL version information
990 # If you modify this, modify winmode.c in pkgdata.
991 "$(ICUTMP)\icudata.res": "$(ICUMISC)\icudata.rc"
992 @echo Creating data DLL version information from $**
993 @rc.exe /i "..\..\..\..\common" /r /fo $@ $**
995 # Targets for converters
996 "$(ICUBLD_PKG)\cnvalias.icu" : {"$(ICUSRCDATA)\$(ICUUCM)"}\convrtrs.txt "$(ICUTOOLS)\gencnval\$(CFG)\gencnval.exe"
997 @echo Creating data file for Converter Aliases
998 @"$(ICUTOOLS)\gencnval\$(CFG)\gencnval" -d "$(ICUBLD_PKG)" "$(ICUSRCDATA)\$(ICUUCM)\convrtrs.txt"
1000 # Targets for prebuilt Unicode data
1001 "$(ICUBLD_PKG)\pnames.icu": $(ICUSRCDATA_RELATIVE_PATH)\in\pnames.icu
1002 "$(ICUPBIN)\icupkg" -tl $? $@
1004 "$(ICUBLD_PKG)\ubidi.icu": $(ICUSRCDATA_RELATIVE_PATH)\in\ubidi.icu
1005 "$(ICUPBIN)\icupkg" -tl $? $@
1007 "$(ICUBLD_PKG)\ucase.icu": $(ICUSRCDATA_RELATIVE_PATH)\in\ucase.icu
1008 "$(ICUPBIN)\icupkg" -tl $? $@
1010 "$(ICUBLD_PKG)\uprops.icu": $(ICUSRCDATA_RELATIVE_PATH)\in\uprops.icu
1011 "$(ICUPBIN)\icupkg" -tl $? $@
1013 "$(ICUBLD_PKG)\unames.icu": $(ICUSRCDATA_RELATIVE_PATH)\in\unames.icu
1014 "$(ICUPBIN)\icupkg" -tl $? $@
1016 "$(ICUBLD_PKG)\nfc.nrm": $(ICUSRCDATA_RELATIVE_PATH)\in\nfc.nrm
1017 "$(ICUPBIN)\icupkg" -tl $? $@
1019 "$(ICUBLD_PKG)\nfkc.nrm": $(ICUSRCDATA_RELATIVE_PATH)\in\nfkc.nrm
1020 "$(ICUPBIN)\icupkg" -tl $? $@
1022 "$(ICUBLD_PKG)\nfkc_cf.nrm": $(ICUSRCDATA_RELATIVE_PATH)\in\nfkc_cf.nrm
1023 "$(ICUPBIN)\icupkg" -tl $? $@
1025 "$(ICUBLD_PKG)\uts46.nrm": $(ICUSRCDATA_RELATIVE_PATH)\in\uts46.nrm
1026 "$(ICUPBIN)\icupkg" -tl $? $@
1028 "$(ICUBLD_PKG)\coll\ucadata.icu": $(ICUSRCDATA_RELATIVE_PATH)\in\coll\ucadata-unihan.icu
1029 "$(ICUPBIN)\icupkg" -tl $? $@
1031 # Stringprep .spp file generation.
1032 {$(ICUSRCDATA_RELATIVE_PATH)\$(ICUSPREP)}.txt.spp:
1034 @"$(ICUTOOLS)\gensprep\$(CFG)\gensprep" -s $(<D) -d "$(ICUBLD_PKG)" -b $(@B) -m "$(ICUUNIDATA)" -u 3.2.0 $(<F)
1036 # Confusables .cfu file generation
1037 # Can't use an inference rule because two .txt source files combine to produce a single .cfu output file
1038 "$(ICUBLD_PKG)\confusables.cfu": "$(ICUUNIDATA)\confusables.txt" "$(ICUUNIDATA)\confusablesWholeScript.txt" "$(ICUTOOLS)\gencfu\$(CFG)\gencfu.exe"
1040 @"$(ICUTOOLS)\gencfu\$(CFG)\gencfu" -c -r "$(ICUUNIDATA)\confusables.txt" -w "$(ICUUNIDATA)\confusablesWholeScript.txt" -o $@ -i "$(ICUBLD_PKG)"
1042 !IFDEF ICUDATA_ARCHIVE
1043 "$(ICUDATA_SOURCE_ARCHIVE)": CREATE_DIRS $(ICUDATA_ARCHIVE) "$(ICUTOOLS)\icupkg\$(CFG)\icupkg.exe"
1044 "$(ICUTOOLS)\icupkg\$(CFG)\icupkg" -t$(U_ICUDATA_ENDIAN_SUFFIX) "$(ICUDATA_ARCHIVE)" "$(ICUDATA_SOURCE_ARCHIVE)"
1047 # Dependencies on the tools for the batch inference rules
1049 !IFNDEF ICUDATA_SOURCE_ARCHIVE
1050 $(UCM_SOURCE) : {"$(ICUTOOLS)\makeconv\$(CFG)"}makeconv.exe
1052 !IFDEF BUILD_SPECIAL_CNV_FILES
1053 $(UCM_SOURCE_SPECIAL): {"$(ICUTOOLS)\makeconv\$(CFG)"}makeconv.exe
1056 # This used to depend on "$(ICUBLD_PKG)\uprops.icu" "$(ICUBLD_PKG)\ucase.icu" "$(ICUBLD_PKG)\ubidi.icu"
1057 # This data is now hard coded as a part of the library.
1058 # See Jitterbug 4497 for details.
1059 $(MISC_SOURCE) $(RB_FILES) $(CURR_FILES) $(LANG_FILES) $(REGION_FILES) $(ZONE_FILES) $(UNIT_FILES) $(COL_COL_FILES) $(RBNF_RES_FILES) $(BRK_RES_FILES) $(TRANSLIT_RES_FILES): {"$(ICUTOOLS)\genrb\$(CFG)"}genrb.exe "$(ICUBLD_PKG)\$(ICUCOL)\ucadata.icu"
1061 # This used to depend on "$(ICUBLD_PKG)\pnames.icu" "$(ICUBLD_PKG)\uprops.icu" "$(ICUBLD_PKG)\ucase.icu" "$(ICUBLD_PKG)\ubidi.icu"
1062 # These are now hardcoded in ICU4C and only loaded in ICU4J.
1063 $(BRK_SOURCE) : "$(ICUBLD_PKG)\unames.icu"