]> git.saurik.com Git - apple/icu.git/blob - icuSources/data/makedata.mak
ICU-6.2.9.tar.gz
[apple/icu.git] / icuSources / data / makedata.mak
1 #**********************************************************************
2 #* Copyright (C) 1999-2004, International Business Machines Corporation
3 #* and others. All Rights Reserved.
4 #**********************************************************************
5 # nmake file for creating data files on win32
6 # invoke with
7 # nmake /f makedata.mak icumake=$(ProjectDir)
8 #
9 # 12/10/1999 weiv Created
10
11 ##############################################################################
12 # Keep the following in sync with the version - see common/unicode/uversion.h
13 U_ICUDATA_NAME=icudt32
14 ##############################################################################
15 U_ICUDATA_ENDIAN_SUFFIX=l
16 UNICODE_VERSION=4.0.1
17
18 # ICUMAKE
19 # Must be provided by whoever runs this makefile.
20 # Is the directory containing this file (makedata.mak)
21 # Is the directory into which most data is built (prior to packaging)
22 # Is icu\source\data\build
23 #
24 !IF "$(ICUMAKE)"==""
25 !ERROR Can't find ICUMAKE (ICU Data Make dir, should point to icu\source\data\ )!
26 !ENDIF
27 !MESSAGE ICU data make path is $(ICUMAKE)
28
29 ICUOUT=$(ICUMAKE)\out
30
31 # the prefix "icudt21_" for use in filenames
32 ICUPKG=$(U_ICUDATA_NAME)$(U_ICUDATA_ENDIAN_SUFFIX)
33
34 # need to nuke \\ for .NET...
35 ICUOUT=$(ICUOUT:\\=\)
36
37 ICUBLD=$(ICUOUT)\build\$(ICUPKG)
38 ICUTMP=$(ICUOUT)\tmp
39
40 # ICUP
41 # The root of the ICU source directory tree
42 #
43 ICUP=$(ICUMAKE)\..\..
44 ICUP=$(ICUP:\source\data\..\..=)
45 # In case the first one didn't do it, try this one. .NET would do the second one.
46 ICUP=$(ICUP:\source\data\\..\..=)
47 !MESSAGE ICU root path is $(ICUP)
48
49
50 # ICUSRCDATA
51 # The data directory in source
52 #
53 ICUSRCDATA=$(ICUP)\source\data
54 ICUSRCDATA_RELATIVE_PATH=..\..\..\
55
56 # ICUUCM
57 # The directory that contains ucmcore.mk files along with *.ucm files
58 #
59 ICUUCM=mappings
60
61 # ICULOC
62 # The directory that contains resfiles.mk files along with *.txt locale data files
63 #
64 ICULOC=locales
65
66 # ICUCOL
67 # The directory that contains colfiles.mk files along with *.txt collation data files
68 #
69 ICUCOL=coll
70
71 # ICURBNF
72 # The directory that contains rbnffiles.mk files along with *.txt RBNF data files
73 #
74 ICURBNF=rbnf
75
76 # ICUTRNS
77 # The directory that contains trfiles.mk files along with *.txt transliterator files
78 #
79 ICUTRNS=translit
80
81 # ICUBRK
82 # The directory that contains resfiles.mk files along with *.txt break iterator files
83 #
84 ICUBRK=brkitr
85
86 # ICUUNIDATA
87 # The directory that contains Unicode data files
88 #
89 ICUUNIDATA=$(ICUP)\source\data\unidata
90
91
92 # ICUMISC
93 # The directory that contains miscfiles.mk along with files that are miscelleneous data
94 #
95 ICUMISC=$(ICUP)\source\data\misc
96 ICUMISC2=misc
97
98 #
99 # ICUDATA
100 # The source directory. Contains the source files for the common data to be built.
101 # WARNING: NOT THE SAME AS ICU_DATA environment variable. Confusing.
102 ICUDATA=$(ICUP)\source\data
103
104 #
105 # DLL_OUTPUT
106 # Destination directory for the common data DLL file.
107 # This is the same place that all of the other ICU DLLs go (the code-containing DLLs)
108 # The lib file for the data DLL goes in $(DLL_OUTPUT)/../lib/
109 #
110 DLL_OUTPUT=$(ICUP)\bin
111
112 #
113 # TESTDATA
114 # The source directory for data needed for test programs.
115 TESTDATA=$(ICUP)\source\test\testdata
116
117 #
118 # TESTDATAOUT
119 # The destination directory for the built test data .dat file
120 TESTDATAOUT=$(ICUP)\source\test\testdata\out\
121
122 #
123 # TESTDATABLD
124 # The build directory for test data intermidiate files
125 # (Tests are NOT run from this makefile,
126 # only the data is put in place.)
127 TESTDATABLD=$(ICUP)\source\test\testdata\out\build
128
129 #
130 # ICUTOOLS
131 # Directory under which all of the ICU data building tools live.
132 #
133 ICUTOOLS=$(ICUP)\source\tools
134
135 # The current ICU tools need to be in the path first.
136 PATH = $(ICUP)\bin;$(PATH)
137
138 # This variable can be overridden to "-m static" by the project settings,
139 # if you want a static data library.
140 !IF "$(ICU_PACKAGE_MODE)"==""
141 ICU_PACKAGE_MODE=-m dll
142 !ENDIF
143
144
145 # Suffixes for data files
146 .SUFFIXES : .ucm .cnv .dll .dat .res .txt .c
147
148 # We're including a list of .ucm files.
149 # There are several lists, they are all optional.
150
151 # Always build the mapping files for the EBCDIC fallback codepages
152 # They are necessary on EBCDIC machines, and
153 # the following logic is much easier if UCM_SOURCE is never empty.
154 # (They are small.)
155 UCM_SOURCE=ibm-37_P100-1995.ucm ibm-1047_P100-1995.ucm
156
157 !IF EXISTS("$(ICUSRCDATA)\$(ICUUCM)\ucmcore.mk")
158 !INCLUDE "$(ICUSRCDATA)\$(ICUUCM)\ucmcore.mk"
159 UCM_SOURCE=$(UCM_SOURCE) $(UCM_SOURCE_CORE)
160 !ELSE
161 !MESSAGE Warning: cannot find "ucmcore.mk". Not building core MIME/Unix/Windows converter files.
162 !ENDIF
163
164 !IF EXISTS("$(ICUSRCDATA)\$(ICUUCM)\ucmfiles.mk")
165 !INCLUDE "$(ICUSRCDATA)\$(ICUUCM)\ucmfiles.mk"
166 UCM_SOURCE=$(UCM_SOURCE) $(UCM_SOURCE_FILES)
167 !ELSE
168 !MESSAGE Warning: cannot find "ucmfiles.mk". Not building many converter files.
169 !ENDIF
170
171 !IF EXISTS("$(ICUSRCDATA)\$(ICUUCM)\ucmebcdic.mk")
172 !INCLUDE "$(ICUSRCDATA)\$(ICUUCM)\ucmebcdic.mk"
173 UCM_SOURCE=$(UCM_SOURCE) $(UCM_SOURCE_EBCDIC)
174 !ELSE
175 !MESSAGE Warning: cannot find "ucmebcdic.mk". Not building EBCDIC converter files.
176 !ENDIF
177
178 !IF EXISTS("$(ICUSRCDATA)\$(ICUUCM)\ucmlocal.mk")
179 !INCLUDE "$(ICUSRCDATA)\$(ICUUCM)\ucmlocal.mk"
180 UCM_SOURCE=$(UCM_SOURCE) $(UCM_SOURCE_LOCAL)
181 !ELSE
182 !MESSAGE Information: cannot find "ucmlocal.mk". Not building user-additional converter files.
183 !ENDIF
184
185 CNV_FILES=$(UCM_SOURCE:.ucm=.cnv)
186
187 !IF EXISTS("$(ICUSRCDATA)\$(ICUBRK)\brkfiles.mk")
188 !INCLUDE "$(ICUSRCDATA)\$(ICUBRK)\brkfiles.mk"
189 !IF EXISTS("$(ICUSRCDATA)\$(ICUBRK)\brklocal.mk")
190 !INCLUDE "$(ICUSRCDATA)\$(ICUBRK)\brklocal.mk"
191 BRK_SOURCE=$(BRK_SOURCE) $(BRK_SOURCE_LOCAL)
192 !ELSE
193 !MESSAGE Information: cannot find "brklocal.mk". Not building user-additional break iterator files.
194 !ENDIF
195 !ELSE
196 !MESSAGE Warning: cannot find "brkfiles.mk"
197 !ENDIF
198 BRK_SOURCE=char.txt title.txt word.txt $(BRK_SOURCE)
199
200 #
201 # Break iterator data files.
202 #
203 BRK_FILES=$(BRK_SOURCE:.txt=.brk)
204
205 # Read list of locale resource bundle files
206 !IF EXISTS("$(ICUSRCDATA)\$(ICULOC)\resfiles.mk")
207 !INCLUDE "$(ICUSRCDATA)\$(ICULOC)\resfiles.mk"
208 !IF EXISTS("$(ICUSRCDATA)\$(ICULOC)\reslocal.mk")
209 !INCLUDE "$(ICUSRCDATA)\$(ICULOC)\reslocal.mk"
210 GENRB_SOURCE=$(GENRB_SOURCE) $(GENRB_SOURCE_LOCAL)
211 !ELSE
212 !MESSAGE Information: cannot find "reslocal.mk". Not building user-additional resource bundle files.
213 !ENDIF
214 !ELSE
215 !MESSAGE Warning: cannot find "resfiles.mk"
216 !ENDIF
217
218 RB_FILES = root.res $(GENRB_ALIAS_SOURCE:.txt=.res) $(GENRB_SOURCE:.txt=.res)
219
220 # Read list of locale resource bundle files
221 !IF EXISTS("$(ICUSRCDATA)\$(ICUCOL)\colfiles.mk")
222 !INCLUDE "$(ICUSRCDATA)\$(ICUCOL)\colfiles.mk"
223 !IF EXISTS("$(ICUSRCDATA)\$(ICUCOL)\collocal.mk")
224 !INCLUDE "$(ICUSRCDATA)\$(ICUCOL)\collocal.mk"
225 COLLATION_SOURCE=$(COLLATION_SOURCE) $(COLLATION_SOURCE_LOCAL)
226 !ELSE
227 !MESSAGE Information: cannot find "collocal.mk". Not building user-additional resource bundle files.
228 !ENDIF
229 !ELSE
230 !MESSAGE Warning: cannot find "colfiles.mk"
231 !ENDIF
232
233 COL_FILES = $(ICUCOL)\root.txt $(COLLATION_ALIAS_SOURCE) $(COLLATION_SOURCE)
234 COL_COL_FILES = $(COL_FILES:.txt =.res coll\)
235 COL_COL_FILES = $(COL_COL_FILES:.txt=.res)
236 COL_COL_FILES = $(COL_COL_FILES:coll\ =)
237
238 # Read list of RBNF resource bundle files
239 !IF EXISTS("$(ICUSRCDATA)\$(ICURBNF)\rbnffiles.mk")
240 !INCLUDE "$(ICUSRCDATA)\$(ICURBNF)\rbnffiles.mk"
241 !IF EXISTS("$(ICUSRCDATA)\$(ICURBNF)\rbnflocal.mk")
242 !INCLUDE "$(ICUSRCDATA)\$(ICURBNF)\rbnflocal.mk"
243 RBNF_SOURCE=$(RBNF_SOURCE) $(RBNF_SOURCE_LOCAL)
244 !ELSE
245 !MESSAGE Information: cannot find "rbnflocal.mk". Not building user-additional resource bundle files.
246 !ENDIF
247 !ELSE
248 !MESSAGE Warning: cannot find "rbnffiles.mk"
249 !ENDIF
250
251 RBNF_FILES = $(ICURBNF)\root.txt $(RBNF_ALIAS_SOURCE) $(RBNF_SOURCE)
252 RBNF_RES_FILES = $(RBNF_FILES:.txt =.res rbnf\)
253 RBNF_RES_FILES = $(RBNF_RES_FILES:.txt=.res)
254 RBNF_RES_FILES = $(RBNF_RES_FILES:rbnf\ =rbnf\)
255
256 # Read list of transliterator resource bundle files
257 !IF EXISTS("$(ICUSRCDATA)\$(ICUTRNS)\trnsfiles.mk")
258 !INCLUDE "$(ICUSRCDATA)\$(ICUTRNS)\trnsfiles.mk"
259 !IF EXISTS("$(ICUSRCDATA)\$(ICUTRNS)\trnslocal.mk")
260 !INCLUDE "$(ICUSRCDATA)\$(ICUTRNS)\trnslocal.mk"
261 TRANSLIT_SOURCE=$(TRANSLIT_SOURCE) $(TRANSLIT_SOURCE_LOCAL)
262 !ELSE
263 !MESSAGE Information: cannot find "trnslocal.mk". Not building user-additional transliterator files.
264 !ENDIF
265 !ELSE
266 !MESSAGE Warning: cannot find "trnsfiles.mk"
267 !ENDIF
268
269 TRANSLIT_FILES = $(ICUTRNS)\root.txt $(TRANSLIT_ALIAS_SOURCE) $(TRANSLIT_SOURCE)
270 TRANSLIT_RES_FILES = $(TRANSLIT_FILES:.txt =.res translit\)
271 TRANSLIT_RES_FILES = $(TRANSLIT_RES_FILES:.txt=.res)
272 TRANSLIT_RES_FILES = $(TRANSLIT_RES_FILES:translit\ =translit\)
273
274 # Read list of miscellaneous resource bundle files
275 !IF EXISTS("$(ICUSRCDATA)\$(ICUMISC2)\miscfiles.mk")
276 !INCLUDE "$(ICUSRCDATA)\$(ICUMISC2)\miscfiles.mk"
277 !IF EXISTS("$(ICUSRCDATA)\$(ICUMISC2)\misclocal.mk")
278 !INCLUDE "$(ICUSRCDATA)\$(ICUMISC2)\misclocal.mk"
279 MISC_SOURCE=$(MISC_SOURCE) $(MISC_SOURCE_LOCAL)
280 !ELSE
281 !MESSAGE Information: cannot find "misclocal.mk". Not building user-additional miscellaenous files.
282 !ENDIF
283 !ELSE
284 !MESSAGE Warning: cannot find "miscfiles.mk"
285 !ENDIF
286
287 MISC_FILES = $(MISC_SOURCE:.txt=.res)
288
289 INDEX_RES_FILES = res_index.res
290 INDEX_COL_FILES = $(ICUCOL)\res_index.res
291 INDEX_RBNF_FILES = $(ICURBNF)\res_index.res
292 #INDEX_TRANSLIT_FILES = $(ICUTRNS)\res_index.res
293
294 # don't include COL_FILES
295 ALL_RES = $(INDEX_RES_FILES) $(RB_FILES) $(MISC_FILES)
296
297 #############################################################################
298 #
299 # ALL
300 # This target builds all the data files. The world starts here.
301 # Note: we really want the common data dll to go to $(DLL_OUTPUT), not $(ICUBLD). But specifying
302 # that here seems to cause confusion with the building of the stub library of the same name.
303 # Building the common dll in $(ICUBLD) unconditionally copies it to $(DLL_OUTPUT) too.
304 #
305 #############################################################################
306 ALL : GODATA "$(DLL_OUTPUT)\$(U_ICUDATA_NAME).dll" "$(TESTDATAOUT)\testdata.dat"
307 @echo All targets are up to date
308
309 #
310 # testdata - nmake will invoke pkgdata, which will create testdata.dat
311 #
312 "$(TESTDATAOUT)\testdata.dat": "$(ICUBLD)\ucadata.icu" $(TRANSLIT_RES_FILES) $(MISC_FILES) $(RB_FILES) {"$(ICUTOOLS)\genrb\$(CFG)"}genrb.exe
313 @cd "$(TESTDATA)"
314 @echo building testdata...
315 nmake /nologo /f "$(TESTDATA)\testdata.mak" TESTDATA=. ICUTOOLS="$(ICUTOOLS)" ICUP="$(ICUP)" CFG=$(CFG) TESTDATAOUT="$(TESTDATAOUT)" ICUDATA="$(ICUDATA)" TESTDATABLD="$(TESTDATABLD)"
316
317 #invoke pkgdata for ICU common data
318 # pkgdata will drop all output files (.dat, .dll, .lib) into the target (ICUBLD) directory.
319 # move the .dll and .lib files to their final destination afterwards.
320 # The $(U_ICUDATA_NAME).lib and $(U_ICUDATA_NAME).exp should already be in the right place due to stubdata.
321 #
322 "$(DLL_OUTPUT)\$(U_ICUDATA_NAME).dll" : "$(ICUP)\bin\pkgdata.exe" $(CNV_FILES) "$(ICUBLD)\uprops.icu" "$(ICUBLD)\ucase.icu" "$(ICUBLD)\unames.icu" "$(ICUBLD)\pnames.icu" "$(ICUBLD)\unorm.icu" "$(ICUBLD)\cnvalias.icu" "$(ICUBLD)\ucadata.icu" "$(ICUBLD)\invuca.icu" "$(ICUBLD)\uidna.spp" $(BRK_FILES) $(INDEX_COL_FILES) $(COL_COL_FILES) $(INDEX_RBNF_FILES) $(RBNF_RES_FILES) $(TRANSLIT_RES_FILES) $(ALL_RES) "$(ICUTMP)\icudata.res" "$(ICUP)\source\stubdata\stubdatabuilt.txt"
323 @echo Building icu data
324 cd "$(ICUBLD)"
325 @"$(ICUP)\bin\pkgdata" -f -e $(U_ICUDATA_NAME) -v $(ICU_PACKAGE_MODE) -c -p $(ICUPKG) -T "$(ICUTMP)" -L $(U_ICUDATA_NAME) -d "$(ICUBLD)" -s . <<"$(ICUTMP)\pkgdatain.txt"
326 unorm.icu
327 uprops.icu
328 ucase.icu
329 pnames.icu
330 unames.icu
331 ucadata.icu
332 invuca.icu
333 uidna.spp
334 cnvalias.icu
335 $(CNV_FILES:.cnv =.cnv
336 )
337 $(ALL_RES:.res =.res
338 )
339 $(COL_COL_FILES:.res =.res
340 )
341 $(ICUCOL)\res_index.res
342 $(RBNF_RES_FILES:.res =.res
343 )
344 $(ICURBNF)\res_index.res
345 $(TRANSLIT_RES_FILES:.res =.res
346 )
347 $(BRK_FILES:.brk =.brk
348 )
349 <<KEEP
350 copy "$(U_ICUDATA_NAME).dll" "$(DLL_OUTPUT)"
351 -@erase "$(U_ICUDATA_NAME).dll"
352 copy "$(ICUPKG).dat" "$(ICUOUT)\$(U_ICUDATA_NAME)$(U_ICUDATA_ENDIAN_SUFFIX).dat"
353 -@erase "$(ICUPKG).dat"
354
355
356 # utility target to send us to the right dir
357 GODATA :
358 @if not exist "$(ICUOUT)\$(NULL)" mkdir "$(ICUOUT)"
359 @if not exist "$(ICUTMP)\$(NULL)" mkdir "$(ICUTMP)"
360 @if not exist "$(ICUOUT)\build\$(NULL)" mkdir "$(ICUOUT)\build"
361 @if not exist "$(ICUBLD)\$(NULL)" mkdir "$(ICUBLD)"
362 @if not exist "$(ICUBLD)\$(ICUCOL)\$(NULL)" mkdir "$(ICUBLD)\$(ICUCOL)"
363 @if not exist "$(ICUBLD)\$(ICURBNF)\$(NULL)" mkdir "$(ICUBLD)\$(ICURBNF)"
364 @if not exist "$(ICUBLD)\$(ICUTRNS)\$(NULL)" mkdir "$(ICUBLD)\$(ICUTRNS)"
365 @if not exist "$(TESTDATAOUT)\$(NULL)" mkdir "$(TESTDATAOUT)"
366 @if not exist "$(TESTDATABLD)\$(NULL)" mkdir "$(TESTDATABLD)"
367 @cd "$(ICUBLD)"
368
369 # This is to remove all the data files
370 CLEAN : GODATA
371 @echo Cleaning up the data files.
372 @cd "$(ICUBLD)"
373 -@erase "*.brk"
374 -@erase "*.cnv"
375 -@erase "*.exp"
376 -@erase "*.icu"
377 -@erase "*.lib"
378 -@erase "*.res"
379 -@erase "*.spp"
380 -@erase "*.txt"
381 @cd "$(ICUBLD)\$(ICUCOL)"
382 -@erase "*.res"
383 -@erase "*.txt"
384 @cd "$(ICUBLD)\$(ICURBNF)"
385 -@erase "*.res"
386 -@erase "*.txt"
387 @cd "$(ICUBLD)\$(ICUTRNS)"
388 -@erase "*.res"
389 @cd "$(ICUOUT)"
390 -@erase "*.dat"
391 @cd "$(ICUTMP)"
392 -@erase "*.txt"
393 -@erase "*.mak"
394 -@erase "*.obj"
395 -@erase "*.res"
396 @cd "$(TESTDATABLD)"
397 -@erase "*.cnv"
398 -@erase "*.icu"
399 -@erase "*.mak"
400 -@erase "*.res"
401 -@erase "*.spp"
402 -@erase "*.txt"
403 @cd "$(TESTDATAOUT)"
404 -@erase "*.dat"
405 -@erase "*.typ"
406 @cd "$(ICUBLD)"
407
408
409 # RBBI .brk file generation.
410 {$(ICUSRCDATA_RELATIVE_PATH)\$(ICUBRK)}.txt.brk:
411 genbrk -c -r $< -o $@ -d"$(ICUBLD)" -i "$(ICUBLD)"
412
413 # Batch inference rule for creating converters
414 {$(ICUSRCDATA_RELATIVE_PATH)\$(ICUUCM)}.ucm.cnv::
415 @echo Generating converters
416 @"$(ICUTOOLS)\makeconv\$(CFG)\makeconv" -c -d"$(ICUBLD)" $<
417
418 # Batch inference rule for creating miscellaneous resource files
419 # TODO: -q option is specified to squelch the 120+ warnings about
420 # empty intvectors and binary elements. Unfortunately, this may
421 # squelch other legitimate warnings. When there is a better
422 # way, remove the -q.
423 {$(ICUSRCDATA_RELATIVE_PATH)\$(ICUMISC2)}.txt.res::
424 @echo Making Miscellaneous Resource Bundle files
425 @"$(ICUTOOLS)\genrb\$(CFG)\genrb" -k -q -d"$(ICUBLD)" $<
426
427 # Inference rule for creating resource bundle files
428 {$(ICUSRCDATA_RELATIVE_PATH)\$(ICULOC)}.txt.res::
429 @echo Making Locale Resource Bundle files
430 @"$(ICUTOOLS)\genrb\$(CFG)\genrb" -k -d"$(ICUBLD)" $<
431
432 $(INDEX_RES_FILES):
433 @echo Generating <<res_index.txt
434 // Warning this file is automatically generated
435 res_index {
436 InstalledLocales {
437 $(GENRB_SOURCE:.txt= {""}
438 )
439 }
440 }
441 <<KEEP
442 @"$(ICUTOOLS)\genrb\$(CFG)\genrb" -k -d"$(ICUBLD)" .\res_index.txt
443
444 {$(ICUSRCDATA_RELATIVE_PATH)\$(ICUCOL)}.txt{$(ICUCOL)}.res::
445 @echo Making Collation files
446 @"$(ICUTOOLS)\genrb\$(CFG)\genrb" -k -i "$(ICUBLD)" -d"$(ICUBLD)\$(ICUCOL)" $<
447
448 $(INDEX_COL_FILES):
449 @echo Generating <<$(ICUCOL)\res_index.txt
450 // Warning this file is automatically generated
451 res_index {
452 InstalledLocales {
453 $(COLLATION_SOURCE:.txt= {""}
454 )
455 }
456 }
457 <<KEEP
458 @"$(ICUTOOLS)\genrb\$(CFG)\genrb" -k -d"$(ICUBLD)\$(ICUCOL)" .\$(ICUCOL)\res_index.txt
459
460 {$(ICUSRCDATA_RELATIVE_PATH)\$(ICURBNF)}.txt{$(ICURBNF)}.res::
461 @echo Making RBNF files
462 @"$(ICUTOOLS)\genrb\$(CFG)\genrb" -k -i "$(ICUBLD)" -d"$(ICUBLD)\$(ICURBNF)" $<
463
464 $(INDEX_RBNF_FILES):
465 @echo Generating <<$(ICURBNF)\res_index.txt
466 // Warning this file is automatically generated
467 res_index {
468 InstalledLocales {
469 $(RBNF_SOURCE:.txt= {""}
470 )
471 }
472 }
473 <<KEEP
474 @"$(ICUTOOLS)\genrb\$(CFG)\genrb" -k -d"$(ICUBLD)\$(ICURBNF)" .\$(ICURBNF)\res_index.txt
475
476 {$(ICUSRCDATA_RELATIVE_PATH)\$(ICUTRNS)}.txt{$(ICUTRNS)}.res::
477 @echo Making Transliterator files
478 @"$(ICUTOOLS)\genrb\$(CFG)\genrb" -k -i "$(ICUBLD)" -d"$(ICUBLD)\$(ICUTRNS)" $<
479
480
481 # DLL version information
482 # If you modify this, modify winmode.c in pkgdata.
483 "$(ICUTMP)\icudata.res": "$(ICUMISC)\icudata.rc"
484 @echo Creating data DLL version information from $**
485 @rc.exe /i "..\..\..\..\..\include" /r /fo $@ $**
486
487 # Targets for unames.icu
488 "$(ICUBLD)\unames.icu": "$(ICUUNIDATA)\*.txt" "$(ICUTOOLS)\gennames\$(CFG)\gennames.exe"
489 @echo Creating data file for Unicode Names
490 @"$(ICUTOOLS)\gennames\$(CFG)\gennames" -1 -u $(UNICODE_VERSION) -d "$(ICUBLD)" "$(ICUUNIDATA)\UnicodeData.txt"
491
492 # Targets for pnames.icu
493 # >> Depends on the Unicode data as well as uchar.h and uscript.h <<
494 "$(ICUBLD)\pnames.icu": "$(ICUUNIDATA)\*.txt" "$(ICUTOOLS)\genpname\$(CFG)\genpname.exe" "$(ICUP)\source\common\unicode\uchar.h" "$(ICUP)\source\common\unicode\uscript.h"
495 @echo Creating data file for Unicode Property Names
496 @"$(ICUTOOLS)\genpname\$(CFG)\genpname" -d "$(ICUBLD)"
497
498 # Targets for uprops.icu
499 "$(ICUBLD)\uprops.icu": "$(ICUUNIDATA)\*.txt" "$(ICUTOOLS)\genprops\$(CFG)\genprops.exe" "$(ICUBLD)\pnames.icu"
500 @echo Creating data file for Unicode Character Properties
501 @"$(ICUTOOLS)\genprops\$(CFG)\genprops" -u $(UNICODE_VERSION) -i "$(ICUBLD)" -s "$(ICUUNIDATA)" -d "$(ICUBLD)"
502
503 # Targets for ucase.icu
504 "$(ICUBLD)\ucase.icu": "$(ICUUNIDATA)\*.txt" "$(ICUTOOLS)\gencase\$(CFG)\gencase.exe"
505 @echo Creating data file for Unicode Case Mapping Properties
506 @"$(ICUTOOLS)\gencase\$(CFG)\gencase" -u $(UNICODE_VERSION) -i "$(ICUBLD)" -s "$(ICUUNIDATA)" -d "$(ICUBLD)"
507
508 # Targets for unorm.icu
509 "$(ICUBLD)\unorm.icu": "$(ICUUNIDATA)\*.txt" "$(ICUTOOLS)\gennorm\$(CFG)\gennorm.exe" "$(ICUBLD)\pnames.icu" "$(ICUBLD)\uprops.icu" "$(ICUBLD)\ucase.icu"
510 @echo Creating data file for Unicode Normalization
511 @"$(ICUTOOLS)\gennorm\$(CFG)\gennorm" -u $(UNICODE_VERSION) -d "$(ICUBLD)" -i "$(ICUBLD)" -s "$(ICUUNIDATA)"
512
513 # Targets for converters
514 "$(ICUBLD)\cnvalias.icu" : {"$(ICUSRCDATA)\$(ICUUCM)"}\convrtrs.txt "$(ICUTOOLS)\gencnval\$(CFG)\gencnval.exe"
515 @echo Creating data file for Converter Aliases
516 @"$(ICUTOOLS)\gencnval\$(CFG)\gencnval" -d "$(ICUBLD)" "$(ICUSRCDATA)\$(ICUUCM)\convrtrs.txt"
517
518 # Targets for ucadata.icu & invuca.icu
519 "$(ICUBLD)\invuca.icu" "$(ICUBLD)\ucadata.icu": "$(ICUUNIDATA)\FractionalUCA.txt" "$(ICUTOOLS)\genuca\$(CFG)\genuca.exe" "$(ICUBLD)\uprops.icu" "$(ICUBLD)\ucase.icu" "$(ICUBLD)\unorm.icu"
520 @echo Creating UCA data files
521 @"$(ICUTOOLS)\genuca\$(CFG)\genuca" -d "$(ICUBLD)" -i "$(ICUBLD)" -s "$(ICUUNIDATA)"
522
523 # Targets for uidna.spp
524 "$(ICUBLD)\uidna.spp" : "$(ICUUNIDATA)\*.txt" "$(ICUMISC)\NamePrepProfile.txt"
525 gensprep -s "$(ICUMISC)" -d "$(ICUBLD)\\" -b uidna -n "$(ICUUNIDATA)" -k -u 3.2.0 NamePrepProfile.txt
526
527 # Dependencies on the tools for the batch inference rules
528
529 $(UCM_SOURCE) : {"$(ICUTOOLS)\makeconv\$(CFG)"}makeconv.exe
530
531 $(MISC_SOURCE) $(RB_FILES) $(COL_COL_FILES) $(RBNF_RES_FILES) $(TRANSLIT_RES_FILES): {"$(ICUTOOLS)\genrb\$(CFG)"}genrb.exe "$(ICUBLD)\ucadata.icu" "$(ICUBLD)\uprops.icu" "$(ICUBLD)\ucase.icu" "$(ICUBLD)\unorm.icu"
532
533 $(BRK_SOURCE) : "$(ICUBLD)\uprops.icu" "$(ICUBLD)\ucase.icu" "$(ICUBLD)\unames.icu" "$(ICUBLD)\pnames.icu" "$(ICUBLD)\unorm.icu"