]>
Commit | Line | Data |
---|---|---|
b75a7d8f | 1 | ## Makefile.in for ICU data |
374ca955 | 2 | ## Copyright (c) 1999-2004, International Business Machines Corporation and |
b75a7d8f A |
3 | ## others. All Rights Reserved. |
4 | ||
5 | ## Source directory information | |
6 | srcdir = @srcdir@ | |
7 | top_srcdir = @top_srcdir@ | |
8 | ||
9 | # So that you have $(top_builddir)/config.status | |
10 | top_builddir = .. | |
11 | ||
12 | ## All the flags and other definitions are included here. | |
13 | include $(top_builddir)/icudefs.mk | |
14 | ||
15 | ## Build directory information | |
16 | # So that $(top_builddir)/$(subdir) ~= "here" | |
17 | subdir = data | |
18 | ||
19 | #lib icu data for link | |
374ca955 A |
20 | LIB_ICUDATA_NAME=$(LIBICU)$(DATA_STUBNAME)$(ICULIBSUFFIX) |
21 | LIB_STATIC_ICUDATA_NAME=$(LIBSICU)$(DATA_STUBNAME)$(ICULIBSUFFIX) | |
b75a7d8f | 22 | |
374ca955 A |
23 | # Allow Windows to override these options |
24 | ifeq ($(PKGDATA_OPTS),) | |
25 | PKGDATA_OPTS = -O $(top_builddir)/data/icupkg.inc | |
26 | endif | |
27 | ifeq ($(PKGDATA_VERSIONING),) | |
28 | PKGDATA_VERSIONING = -r $(SO_TARGET_VERSION) | |
29 | endif | |
30 | ||
31 | # This allows all the data to be in one directory | |
32 | ifeq ($(PKGDATA_MODE),dll) | |
33 | ICUPKGDATA_OUTDIR = $(LIBDIR) | |
34 | else | |
35 | ICUPKGDATA_OUTDIR = $(OUTDIR) | |
36 | endif | |
b75a7d8f A |
37 | |
38 | top_builddir_from_tmp = $(patsubst ..%,../..%,$(top_builddir)) | |
374ca955 A |
39 | CURDIR:=$(CURR_FULL_DIR) |
40 | PKGDATA = $(BINDIR)/pkgdata $(PKGDATA_OPTS) -q -c -s $(CURDIR)/out/build/$(ICUDATA_PLATFORM_NAME) -d $(ICUPKGDATA_OUTDIR) | |
41 | ||
b75a7d8f A |
42 | |
43 | # OBJDATADIR must be a short path (with ..'s) to the data. | |
44 | ||
374ca955 A |
45 | ifeq ($(top_srcdir),..) |
46 | SRCDATADIR=. | |
47 | else | |
b75a7d8f | 48 | SRCDATADIR=$(top_srcdir)/data |
374ca955 A |
49 | endif |
50 | ifeq ($(top_builddir),..) | |
51 | OUTDIR=./out | |
52 | else | |
b75a7d8f | 53 | OUTDIR=$(top_builddir)/data/out |
374ca955 A |
54 | endif |
55 | ||
56 | OUTTMPDIR=$(OUTDIR)/tmp | |
57 | BUILDDIR=$(OUTDIR)/build/$(ICUDATA_PLATFORM_NAME) | |
b75a7d8f A |
58 | UNICODEDATADIR=$(SRCDATADIR)/unidata |
59 | LOCSRCDIR=$(SRCDATADIR)/locales | |
374ca955 A |
60 | COLSRCDIR=$(SRCDATADIR)/coll |
61 | COLBLDDIR=$(BUILDDIR)/coll | |
62 | RBNFSRCDIR=$(SRCDATADIR)/rbnf | |
63 | RBNFBLDDIR=$(BUILDDIR)/rbnf | |
64 | TRANSLITSRCDIR=$(SRCDATADIR)/translit | |
65 | TRANSLITBLDDIR=$(BUILDDIR)/translit | |
66 | MISCSRCDIR=$(SRCDATADIR)/misc | |
b75a7d8f A |
67 | BRKSRCDIR=$(SRCDATADIR)/brkitr |
68 | MISCSRCDIR=$(SRCDATADIR)/misc | |
69 | UCMSRCDIR=$(SRCDATADIR)/mappings | |
70 | COMINCDIR=$(top_srcdir)/common/unicode | |
71 | SRCLISTDEPS=Makefile $(srcdir)/Makefile.in | |
374ca955 | 72 | BUILD_DIRS=$(OUTDIR) $(BUILDDIR) $(COLBLDDIR) $(RBNFBLDDIR) $(TRANSLITBLDDIR) $(TESTOUTDIR) $(TESTBUILDDIR) $(OUTTMPDIR) $(OUTTMPDIR_390STUB) $(OUTTMPDIR)/$(COLLATION_TREE) $(OUTTMPDIR)/$(RBNF_TREE) $(OUTTMPDIR)/$(TRANSLIT_TREE) |
b75a7d8f A |
73 | |
74 | # relative lib links from pkgdata are the same as for tmp | |
75 | TOOLDIR=$(top_builddir)/tools | |
76 | ||
77 | ## List of phony targets | |
374ca955 | 78 | .PHONY : all all-local all-recursive install install-local install-files \ |
b75a7d8f A |
79 | install-recursive clean clean-local clean-recursive distclean \ |
80 | distclean-local distclean-recursive dist dist-local dist-recursive \ | |
374ca955 | 81 | check check-local check-recursive build-local clean-resindex build-dir |
b75a7d8f A |
82 | |
83 | ## Clear suffix list | |
84 | .SUFFIXES : | |
85 | ||
86 | ## List of standard targets | |
87 | all: all-local | |
88 | install: all-local install-local | |
89 | clean: clean-local | |
90 | distclean : distclean-local | |
91 | dist: | |
92 | check: all | |
93 | ||
94 | ||
95 | distclean-local: clean | |
96 | $(RMV) Makefile | |
97 | ||
98 | ifeq ($(OS390_STUBDATA),1) | |
99 | OS390PKG=package390 | |
100 | OS390INSTALL=install390 | |
101 | ||
102 | # Additional data for 390 | |
374ca955 A |
103 | OS390LIST=$(OUTTMPDIR)/icudata390.lst |
104 | OUTTMPDIR_390STUB=$(top_builddir)/data/out/tmp_390stub | |
b75a7d8f A |
105 | endif |
106 | ||
374ca955 | 107 | all-local: build-dir icupkg.inc build-local packagedata $(POST_DATA_BUILD) $(OS390PKG) |
b75a7d8f A |
108 | |
109 | dist-local: | |
110 | ||
111 | clean-map: | |
112 | -test -z *.map || $(RMV) *.map | |
113 | ||
114 | clean-local: cleanpackage cleanfiles clean-map | |
b75a7d8f A |
115 | |
116 | cleanfiles: | |
117 | test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES) | |
118 | ||
119 | cleanpackage: | |
120 | $(RMV) $(OUTDIR) | |
374ca955 | 121 | $(RMV) $(LIBDIR)/$(LIB_ICUDATA_NAME)*.$(SO)* $(LIBDIR)/$(LIB_STATIC_ICUDATA_NAME).$(A) |
b75a7d8f A |
122 | |
123 | check-local: | |
124 | ||
125 | # During this INVOKE we only want to use stubdata. | |
126 | # We don't want to try to write over files that we are using. | |
374ca955 | 127 | PKGDATA_INVOKE:=$(subst $(LIBDIR):$(top_builddir)/stubdata,$(top_builddir)/stubdata:$(LIBDIR),$(INVOKE)) $(PKGDATA_INVOKE_OPTS) |
b75a7d8f | 128 | |
374ca955 | 129 | packagedata: icupkg.inc $(OUTTMPDIR)/icudata.lst build-local |
b75a7d8f | 130 | ifneq ($(ENABLE_STATIC),) |
374ca955 | 131 | $(PKGDATA_INVOKE) $(PKGDATA) -e $(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBSTATICNAME) -m static $(OUTTMPDIR)/icudata.lst |
b75a7d8f | 132 | endif |
374ca955 | 133 | $(PKGDATA_INVOKE) $(PKGDATA) -e $(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -p $(ICUDATA_NAME) -m $(PKGDATA_MODE) $(PKGDATA_VERSIONING) $(PKGDATA_LIBNAME) $(OUTTMPDIR)/icudata.lst |
b75a7d8f A |
134 | |
135 | ## Install ICU data. | |
374ca955 | 136 | install-local: $(OUTTMPDIR)/icudata.lst ./icupkg.inc packagedata $(OS390INSTALL) |
b75a7d8f | 137 | $(MKINSTALLDIRS) $(TMPDATADIR) $(DESTDIR)$(ICUPKGDATA_DIR) |
b75a7d8f | 138 | ifneq ($(ENABLE_STATIC),) |
374ca955 | 139 | $(PKGDATA_INVOKE) $(PKGDATA) -m static -e $(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -s $(BUILDDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBSTATICNAME) $(OUTTMPDIR)/icudata.lst -I $(ICUPKGDATA_INSTALL_LIBDIR) |
b75a7d8f | 140 | endif |
374ca955 | 141 | $(PKGDATA_INVOKE) $(PKGDATA) -m $(PKGDATA_MODE) $(PKGDATA_VERSIONING) -e $(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -s $(BUILDDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBNAME) $(OUTTMPDIR)/icudata.lst -I $(ICUPKGDATA_INSTALL_DIR) |
b75a7d8f | 142 | |
b75a7d8f A |
143 | |
144 | #### | |
145 | #### | |
146 | #### 390 support | |
374ca955 | 147 | install390: package390 |
b75a7d8f | 148 | $(MKINSTALLDIRS) $(TMPDATADIR) $(DESTDIR)$(libdir) |
374ca955 | 149 | $(INVOKE) $(PKGDATA) -s $(BUILDDIR)$(STUB_SUFFIX) -T $(OUTTMPDIR_390STUB) -p $(ICUDATA_NAME)$(STUB_SUFFIX) $(PKGDATA_LIBNAME)$(STUB_SUFFIX) -e $(ICUDATA_ENTRY_POINT) $(OS390LIST) -m dll $(PKGDATA_VERSIONING) -I $(DESTDIR)$(ICUPKGDATA_DIR) |
b75a7d8f | 150 | ifeq ($(PKGDATA_MODE),dll) |
374ca955 | 151 | $(INSTALL-L) $(ICUPKGDATA_OUTDIR)/$(LIB_ICUDATA_NAME)$(STUB_SUFFIX)$(SO_TARGET_VERSION)$(IMPORT_LIB_EXT) $(DESTDIR)$(ICUPKGDATA_DIR)/$(LIB_ICUDATA_NAME)$(STUB_SUFFIX)$(SO_TARGET_VERSION)$(IMPORT_LIB_EXT) |
b75a7d8f A |
152 | endif |
153 | ||
374ca955 A |
154 | #### $(LIB_ICUDATA_NAME)$(STUB_SUFFIX) is the subset data for batch mode |
155 | package390: $(OUTTMPDIR)/icudata390.lst $(OUTTMPDIR)/icudata.lst ./icupkg.inc packagedata | |
156 | ln -s $(ICUDATA_NAME) $(OUTDIR)/build/$(ICUDATA_NAME)$(STUB_SUFFIX) | |
157 | $(INVOKE) $(PKGDATA) -s $(BUILDDIR)$(STUB_SUFFIX) -T $(OUTTMPDIR_390STUB) -p $(ICUDATA_NAME)$(STUB_SUFFIX) $(PKGDATA_LIBNAME)$(STUB_SUFFIX) -e $(ICUDATA_ENTRY_POINT) $(OS390LIST) -m dll $(PKGDATA_VERSIONING) | |
158 | cp $(ICUPKGDATA_OUTDIR)/$(LIB_ICUDATA_NAME)$(STUB_SUFFIX).$(SO) $(top_builddir)/stubdata/$(LIB_ICUDATA_NAME)$(STUB_SUFFIX).$(SO) | |
b75a7d8f A |
159 | |
160 | ||
161 | ##### Define all the data files. the build rule that depends on them is below. | |
374ca955 A |
162 | # X_FILES_SHORT = just the base names (for lists) |
163 | # X_FILES = full paths (for dependency) | |
b75a7d8f A |
164 | |
165 | ## DAT files - Misc. data files. | |
374ca955 A |
166 | DAT_FILES_SHORT=uprops.icu ucase.icu pnames.icu unames.icu unorm.icu cnvalias.icu ucadata.icu invuca.icu uidna.spp |
167 | DAT_FILES=$(DAT_FILES_SHORT:%=$(BUILDDIR)/%) | |
b75a7d8f A |
168 | |
169 | ## BRK files | |
374ca955 A |
170 | -include $(BRKSRCDIR)/brkfiles.mk |
171 | -include $(BRKSRCDIR)/brklocal.mk | |
172 | ALL_BRK_SOURCE=char.txt title.txt word.txt $(BRK_SOURCE) $(BRK_SOURCE_LOCAL) | |
173 | BRK_FILES_SHORT=$(ALL_BRK_SOURCE:%.txt=%.brk) | |
174 | BRK_FILES=$(BRK_FILES_SHORT:%=$(BUILDDIR)/%) | |
b75a7d8f | 175 | |
374ca955 | 176 | ## UCM files |
b75a7d8f A |
177 | -include $(UCMSRCDIR)/ucmcore.mk |
178 | -include $(UCMSRCDIR)/ucmfiles.mk | |
179 | -include $(UCMSRCDIR)/ucmebcdic.mk | |
180 | -include $(UCMSRCDIR)/ucmlocal.mk | |
181 | ALL_UCM_SOURCE=ibm-37_P100-1995.ucm ibm-1047_P100-1995.ucm $(UCM_SOURCE_CORE) $(UCM_SOURCE_FILES) $(UCM_SOURCE_EBCDIC) $(UCM_SOURCE_LOCAL) | |
182 | UCM_FILES = $(ALL_UCM_SOURCE:%=$(SRCDATADIR)/%) | |
374ca955 A |
183 | CNV_FILES = $(ALL_UCM_SOURCE:%.ucm=$(BUILDDIR)/%.cnv) |
184 | CNV_FILES_SHORT = $(ALL_UCM_SOURCE:%.ucm=%.cnv) | |
b75a7d8f A |
185 | |
186 | ## RES files | |
187 | -include $(LOCSRCDIR)/resfiles.mk | |
374ca955 A |
188 | -include $(COLSRCDIR)/colfiles.mk |
189 | -include $(RBNFSRCDIR)/rbnffiles.mk | |
190 | -include $(TRANSLITSRCDIR)/trnsfiles.mk | |
b75a7d8f | 191 | -include $(LOCSRCDIR)/reslocal.mk |
374ca955 A |
192 | -include $(COLSRCDIR)/collocal.mk |
193 | -include $(RBNFSRCDIR)/rbnflocal.mk | |
194 | -include $(TRANSLITSRCDIR)/translocal.mk | |
195 | RES_SRC= root.txt $(GENRB_SOURCE) $(GENRB_ALIAS_SOURCE) $(GENRB_SOURCE_LOCAL) | |
196 | RES_SRC_FILES = $(RES_SRC:%=$(LOCSRCDIR)/%) | |
b75a7d8f | 197 | INSTALLED_RB_FILES = $(GENRB_SOURCE:%.txt=%) $(GENRB_SOURCE_LOCAL:%.txt=%) |
374ca955 A |
198 | COL_SRC= root.txt $(COLLATION_SOURCE) $(COLLATION_ALIAS_SOURCE) $(COLLATION_SOURCE_LOCAL) |
199 | COL_SRC_FILES = $(COL_SRC:%=$(COLSRCDIR)/%) | |
200 | INSTALLED_COL_FILES = $(COLLATION_SOURCE:%.txt=%) $(COLLATION_SOURCE_LOCAL:%.txt=%) | |
201 | RBNF_SRC= root.txt $(RBNF_SOURCE) $(RBNF_ALIAS_SOURCE) $(RBNF_SOURCE_LOCAL) | |
202 | RBNF_SRC_FILES = $(RBNF_SRC:%=$(RBNFSRCDIR)/%) | |
203 | INSTALLED_RBNF_FILES = $(RBNF_SOURCE:%.txt=%) $(RBNF_SOURCE_LOCAL:%.txt=%) | |
204 | INSTALLED_TRANSLIT_FILES = $(TRANSLIT_SOURCE:%.txt=%) $(TRANSLIT_SOURCE_LOCAL:%.txt=%) | |
205 | TRANSLIT_SRC= root.txt $(TRANSLIT_SOURCE) $(TRANSLIT_ALIAS_SOURCE) $(TRANSLIT_SOURCE_LOCAL) | |
206 | TRANSLIT_SRC_FILES = $(TRANSLIT_SRC:%=$(TRANSLITSRCDIR)/%) | |
207 | INSTALLED_TRANSLIT_FILES = $(TRANSLIT_SOURCE:%.txt=%) $(TRANSLIT_SOURCE_LOCAL:%.txt=%) | |
208 | GENRBOPTS=-k | |
209 | ||
210 | ## MISC files | |
211 | -include $(MISCSRCDIR)/miscfiles.mk | |
212 | -include $(MISCSRCDIR)/misclocal.mk | |
213 | MSC_SOURCE= $(MISC_SOURCE) $(MISC_SOURCE_LOCAL) | |
214 | MSC_SRC_FILES=$(MSC_SOURCE:%=$(MISCSRCDIR)/%) | |
215 | ||
216 | ifeq ($(ENABLE_SO_VERSION_DATA),1) | |
217 | ifeq ($(PKGDATA_MODE),dll) | |
218 | SO_VERSION_DATA = $(OUTTMPDIR)/icudata.res | |
219 | $(SO_VERSION_DATA) : $(MISCSRCDIR)/icudata.rc | |
220 | rc.exe /i$(srcdir)/../common /fo$@ $(SOURCE_FILE) | |
221 | endif | |
222 | endif | |
b75a7d8f | 223 | |
374ca955 A |
224 | ALL_RES_SRC= $(RES_SRC) $(TRNS_SOURCE) $(MSC_SOURCE) |
225 | RES_FILES = $(ALL_RES_SRC:%.txt=$(BUILDDIR)/%.res) | |
226 | RES_FILES_SHORT = $(ALL_RES_SRC:%.txt=%.res) | |
227 | ||
228 | INDEX_NAME=res_index | |
229 | INDEX_FILE=$(OUTTMPDIR)/$(INDEX_NAME).txt | |
230 | INDEX_RES_FILE=$(INDEX_FILE:$(OUTTMPDIR)/%.txt=$(BUILDDIR)/%.res) | |
231 | INDEX_RES_FILE_SHORT=$(INDEX_FILE:$(OUTTMPDIR)/%.txt=%.res) | |
232 | ||
233 | COLLATION_TREE=coll | |
234 | COLLATION_INDEX_FILE=$(OUTTMPDIR)/$(COLLATION_TREE)/$(INDEX_NAME).txt | |
235 | COLLATION_INDEX_RES=$(COLBLDDIR)/$(INDEX_NAME).res | |
236 | COLLATION_INDEX_RES_SHORT=$(COLLATION_TREE)/$(INDEX_NAME).res | |
237 | COLLATION_FILES = $(COL_SRC:%.txt=$(COLBLDDIR)/%.res) $(COLLATION_INDEX_RES) | |
238 | COLLATION_FILES_SHORT = $(COL_SRC:%.txt=$(COLLATION_TREE)/%.res) | |
239 | ||
240 | RBNF_TREE=rbnf | |
241 | RBNF_INDEX_FILE=$(OUTTMPDIR)/$(RBNF_TREE)/$(INDEX_NAME).txt | |
242 | RBNF_INDEX_RES=$(RBNFBLDDIR)/$(INDEX_NAME).res | |
243 | RBNF_INDEX_RES_SHORT=$(RBNF_TREE)/$(INDEX_NAME).res | |
244 | RBNF_FILES = $(RBNF_SRC:%.txt=$(RBNFBLDDIR)/%.res) $(RBNF_INDEX_RES) | |
245 | RBNF_FILES_SHORT = $(RBNF_SRC:%.txt=$(RBNF_TREE)/%.res) | |
246 | ||
247 | TRANSLIT_TREE=translit | |
248 | #TRANSLIT_INDEX_FILE=$(OUTTMPDIR)/$(TRANSLIT_TREE)/$(INDEX_NAME).txt | |
249 | #TRANSLIT_INDEX_RES=$(TRANSLITBLDDIR)/$(INDEX_NAME).res | |
250 | #TRANSLIT_INDEX_RES_SHORT=$(TRANSLIT_TREE)/$(INDEX_NAME).res | |
251 | TRANSLIT_FILES = $(TRANSLIT_SRC:%.txt=$(TRANSLITBLDDIR)/%.res) | |
252 | TRANSLIT_FILES_SHORT = $(TRANSLIT_SRC:%.txt=$(TRANSLIT_TREE)/%.res) | |
b75a7d8f A |
253 | |
254 | ## All generated files | |
374ca955 A |
255 | ALL_FILES = $(DAT_FILES) $(CNV_FILES) $(BRK_FILES) $(RES_FILES) $(INDEX_RES_FILE) $(COLLATION_FILES) $(RBNF_FILES) $(TRANSLIT_FILES) |
256 | # a list to use in the .lst files (package-relative) | |
257 | ALL_FILES_LIST = $(DAT_FILES_SHORT) $(CNV_FILES_SHORT) $(BRK_FILES_SHORT) $(RES_FILES_SHORT) $(INDEX_RES_FILE_SHORT) $(COLLATION_FILES_SHORT) $(COLLATION_INDEX_RES_SHORT) $(RBNF_FILES_SHORT) $(RBNF_INDEX_RES_SHORT) $(TRANSLIT_FILES_SHORT) | |
b75a7d8f A |
258 | |
259 | ##################################################### | |
260 | # General data build rules | |
261 | ||
262 | ## Files to remove for 'make clean' | |
263 | CLEANFILES = *~ icupkg.inc | |
264 | ||
374ca955 | 265 | $(OUTTMPDIR)/icudata.lst: $(SRCLISTDEPS) |
b75a7d8f A |
266 | @echo "generating $@ (list of data files)" |
267 | @-$(RMV) $@ | |
374ca955 | 268 | @for file in $(ALL_FILES_LIST); do \ |
b75a7d8f A |
269 | echo $$file >> $@; \ |
270 | done; | |
271 | ||
374ca955 | 272 | build-local: build-dir $(SO_VERSION_DATA) $(ALL_FILES) $(OUTTMPDIR)/icudata.lst $(OS390LIST) |
b75a7d8f | 273 | |
374ca955 A |
274 | build-dir: $(BUILD_DIRS) |
275 | $(BUILD_DIRS): | |
276 | -$(MKINSTALLDIRS) $(BUILD_DIRS) | |
b75a7d8f A |
277 | |
278 | ||
279 | # Now, sections for building each kind of data. | |
280 | ||
281 | #################################################### DAT | |
282 | # DAT FILES | |
283 | ||
284 | # uprops.icu | |
374ca955 A |
285 | $(BUILDDIR)/uprops.icu: $(UNICODEDATADIR)/UnicodeData.txt $(UNICODEDATADIR)/BidiMirroring.txt $(BINDIR)/genprops$(EXEEXT) $(BUILDDIR)/$(ICUDT)pnames.icu |
286 | $(INVOKE) $(BINDIR)/genprops -s $(UNICODEDATADIR) -i $(BUILDDIR) -d $(BUILDDIR) -u $(UNICODE_VERSION) | |
287 | ||
288 | # ucase.icu | |
289 | $(BUILDDIR)/ucase.icu: $(UNICODEDATADIR)/UnicodeData.txt $(BINDIR)/gencase$(EXEEXT) | |
290 | $(INVOKE) $(BINDIR)/gencase -s $(UNICODEDATADIR) -i $(BUILDDIR) -d $(BUILDDIR) -u $(UNICODE_VERSION) | |
b75a7d8f A |
291 | |
292 | # pnames.icu | |
374ca955 A |
293 | $(BUILDDIR)/pnames.icu: $(UNICODEDATADIR)/PropertyAliases.txt $(UNICODEDATADIR)/PropertyValueAliases.txt $(UNICODEDATADIR)/Blocks.txt $(COMINCDIR)/uscript.h $(COMINCDIR)/uchar.h $(BINDIR)/genpname$(EXEEXT) |
294 | $(INVOKE) $(BINDIR)/genpname -d $(BUILDDIR) | |
b75a7d8f A |
295 | |
296 | # unorm.icu | |
374ca955 A |
297 | $(BUILDDIR)/unorm.icu: $(UNICODEDATADIR)/UnicodeData.txt $(UNICODEDATADIR)/DerivedNormalizationProps.txt $(UNICODEDATADIR)/BidiMirroring.txt $(BINDIR)/gennorm$(EXEEXT) $(BUILDDIR)/$(ICUDT)pnames.icu $(BUILDDIR)/$(ICUDT)uprops.icu $(BUILDDIR)/$(ICUDT)ucase.icu |
298 | $(INVOKE) $(BINDIR)/gennorm -s $(UNICODEDATADIR) -i $(BUILDDIR) -d $(BUILDDIR) -u $(UNICODE_VERSION) | |
b75a7d8f A |
299 | |
300 | # ucadata.icu | |
374ca955 A |
301 | $(BUILDDIR)/ucadata.icu $(BUILDDIR)/$(ICUDT)invuca.icu: $(UNICODEDATADIR)/FractionalUCA.txt $(BINDIR)/genuca$(EXEEXT) $(BUILDDIR)/$(ICUDT)unorm.icu $(BUILDDIR)/$(ICUDT)ucase.icu |
302 | $(INVOKE) $(BINDIR)/genuca -s $(UNICODEDATADIR) -d $(BUILDDIR) -i $(BUILDDIR) | |
b75a7d8f A |
303 | |
304 | # unames.icu | |
374ca955 A |
305 | $(BUILDDIR)/unames.icu: $(UNICODEDATADIR)/UnicodeData.txt $(BINDIR)/gennames$(EXEEXT) |
306 | $(INVOKE) $(BINDIR)/gennames -1 -d $(BUILDDIR) $(UNICODEDATADIR)/UnicodeData.txt -u $(UNICODE_VERSION) | |
b75a7d8f A |
307 | |
308 | # cnvalias.icu | |
374ca955 A |
309 | $(BUILDDIR)/cnvalias.icu: $(UCMSRCDIR)/convrtrs.txt $(BINDIR)/gencnval$(EXEEXT) |
310 | $(INVOKE) $(BINDIR)/gencnval -d $(BUILDDIR) $(UCMSRCDIR)/convrtrs.txt | |
b75a7d8f | 311 | |
374ca955 A |
312 | # uidna.spp |
313 | $(BUILDDIR)/uidna.spp: $(MISCSRCDIR)/NamePrepProfile.txt $(BINDIR)/gensprep$(EXEEXT) $(BUILDDIR)/uprops.icu $(BUILDDIR)/unames.icu $(BUILDDIR)/pnames.icu | |
314 | $(INVOKE) $(BINDIR)/gensprep -d $(BUILDDIR) -i $(BUILDDIR) -s $(MISCSRCDIR) -b uidna -n $(UNICODEDATADIR) -u 3.2.0 -k NamePrepProfile.txt | |
b75a7d8f A |
315 | |
316 | #################################################### BRK | |
317 | # BRK FILES | |
318 | ||
319 | thaidict.brk: $(SRCDATADIR)/thaidict.brk | |
320 | $(RMV) $@ && ln -s $(BUILDDIR) $@ | |
321 | ||
374ca955 A |
322 | $(BUILDDIR)/%.brk: $(BRKSRCDIR)/%.txt $(BINDIR)/genbrk$(EXEEXT) $(DAT_FILES) |
323 | $(INVOKE) $(BINDIR)/genbrk -c -i $(BUILDDIR) -r $< -o $@ | |
b75a7d8f A |
324 | |
325 | #################################################### CNV | |
326 | # CNV FILES | |
374ca955 A |
327 | $(BUILDDIR)/%.cnv: $(UCMSRCDIR)/%.ucm $(BINDIR)/makeconv$(EXEEXT) |
328 | $(INVOKE) $(BINDIR)/makeconv -c -d $(BUILDDIR) $(UCMSRCDIR)/$(<F) | |
b75a7d8f A |
329 | |
330 | #################################################### RES | |
331 | # RES FILES | |
332 | ||
374ca955 A |
333 | ### collation res |
334 | $(COLBLDDIR)/%.res: $(COLSRCDIR)/%.txt $(BINDIR)/genrb$(EXEEXT) $(DAT_FILES) | |
335 | $(INVOKE) $(BINDIR)/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(COLSRCDIR) -d $(COLBLDDIR) $(<F) | |
336 | ||
337 | $(COLBLDDIR)/$(INDEX_NAME).res: $(OUTTMPDIR)/$(COLLATION_TREE)/$(INDEX_NAME).txt $(BINDIR)/genrb$(EXEEXT) | |
338 | $(INVOKE) $(BINDIR)/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(OUTTMPDIR)/$(COLLATION_TREE) -d $(COLBLDDIR) $(INDEX_NAME).txt | |
339 | ||
340 | $(OUTTMPDIR)/$(COLLATION_TREE)/$(INDEX_NAME).txt: $(SRCLISTDEPS) | |
341 | @echo "generating $@ (list of installed collation locales)"; \ | |
342 | $(RMV) $@; \ | |
343 | echo "// Warning this file is automatically generated" > $@; \ | |
344 | echo "$(INDEX_NAME) {" >> $@; \ | |
345 | echo " InstalledLocales {" >> $@; \ | |
346 | for file in $(INSTALLED_COL_FILES); do \ | |
347 | echo " $$file {\"\"}" >> $@; \ | |
348 | done; \ | |
349 | echo " }" >> $@; \ | |
350 | echo "}" >> $@; | |
351 | ||
352 | ### RBNF res | |
353 | $(RBNFBLDDIR)/%.res: $(RBNFSRCDIR)/%.txt $(BINDIR)/genrb$(EXEEXT) $(DAT_FILES) | |
354 | $(INVOKE) $(BINDIR)/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(RBNFSRCDIR) -d $(RBNFBLDDIR) $(<F) | |
355 | ||
356 | $(RBNFBLDDIR)/$(INDEX_NAME).res: $(OUTTMPDIR)/$(RBNF_TREE)/$(INDEX_NAME).txt $(BINDIR)/genrb$(EXEEXT) | |
357 | $(INVOKE) $(BINDIR)/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(OUTTMPDIR)/$(RBNF_TREE) -d $(RBNFBLDDIR) $(INDEX_NAME).txt | |
358 | ||
359 | $(OUTTMPDIR)/$(RBNF_TREE)/$(INDEX_NAME).txt: $(SRCLISTDEPS) | |
360 | @echo "generating $@ (list of installed RBNF locales)"; \ | |
361 | $(RMV) $@; \ | |
362 | echo "// Warning this file is automatically generated" > $@; \ | |
363 | echo "$(INDEX_NAME) {" >> $@; \ | |
364 | echo " InstalledLocales {" >> $@; \ | |
365 | for file in $(INSTALLED_RBNF_FILES); do \ | |
366 | echo " $$file {\"\"}" >> $@; \ | |
367 | done; \ | |
368 | echo " }" >> $@; \ | |
369 | echo "}" >> $@; | |
370 | ||
371 | ### TRANSLIT res | |
372 | $(TRANSLITBLDDIR)/%.res: $(TRANSLITSRCDIR)/%.txt $(BINDIR)/genrb$(EXEEXT) $(DAT_FILES) | |
373 | $(INVOKE) $(BINDIR)/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(TRANSLITSRCDIR) -d $(TRANSLITBLDDIR) $(<F) | |
374 | ||
375 | ### normal (locale) res | |
b75a7d8f A |
376 | all-RES: $(RES_FILES) |
377 | ||
374ca955 A |
378 | $(BUILDDIR)/%.res: $(LOCSRCDIR)/%.txt $(BINDIR)/genrb$(EXEEXT) $(DAT_FILES) |
379 | $(INVOKE) $(BINDIR)/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(LOCSRCDIR) -d $(BUILDDIR) $(<F) | |
b75a7d8f | 380 | |
374ca955 A |
381 | # zoneinfo has some issues. Ignore some warnings with -q |
382 | $(BUILDDIR)/%.res: $(MISCSRCDIR)/%.txt $(BINDIR)/genrb$(EXEEXT) | |
383 | $(INVOKE) $(BINDIR)/genrb $(GENRBOPTS) -q -i $(BUILDDIR) -s $(MISCSRCDIR) -d $(BUILDDIR) $(<F) | |
b75a7d8f | 384 | |
374ca955 | 385 | $(OUTTMPDIR)/$(INDEX_NAME).txt: $(SRCLISTDEPS) |
b75a7d8f A |
386 | @echo "generating $@ (list of installed locales)"; \ |
387 | $(RMV) $@; \ | |
388 | echo "// Warning this file is automatically generated" > $@; \ | |
374ca955 | 389 | echo "$(INDEX_NAME) {" >> $@; \ |
b75a7d8f A |
390 | echo " InstalledLocales {" >> $@; \ |
391 | for file in $(INSTALLED_RB_FILES); do \ | |
392 | echo " $$file {\"\"}" >> $@; \ | |
393 | done; \ | |
394 | echo " }" >> $@; \ | |
395 | echo "}" >> $@; | |
396 | ||
374ca955 A |
397 | clean-resindex: |
398 | -$(RMV) $(BUILDDIR)/$(INDEX_NAME).txt $(OUTTMPDIR)/icudata.lst | |
399 | ||
400 | $(INDEX_RES_FILE): $(INDEX_FILE) $(BINDIR)/genrb$(EXEEXT) | |
401 | $(INVOKE) $(BINDIR)/genrb $(GENRBOPTS) -i $(BUILDDIR) -d $(BUILDDIR) $(INDEX_FILE) | |
b75a7d8f A |
402 | |
403 | ################################################################### | |
404 | Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status | |
405 | cd $(top_builddir) \ | |
406 | && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status | |
407 | ||
408 | icupkg.inc: $(srcdir)/icupkg.inc.in $(top_builddir)/config.status | |
409 | cd $(top_builddir) \ | |
410 | && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status | |
411 | ||
412 | ########### | |
413 | ########### 390 (z/OS) support | |
414 | UCMFILES390=ebcdic-xml-us.ucm ibm-37_P100-1995.ucm ibm-1047_P100-1995.ucm ibm-4909_P100-1999.ucm | |
374ca955 | 415 | ALLFILES390=uprops.icu ucase.icu pnames.icu unorm.icu cnvalias.icu $(UCMFILES390:.ucm=.cnv) |
b75a7d8f | 416 | |
374ca955 | 417 | $(OUTTMPDIR)/icudata390.lst: $(SRCLISTDEPS) |
b75a7d8f A |
418 | @echo "generating $@ (list of 390 data files)" |
419 | @-$(RMV) $@ | |
420 | @for file in $(ALLFILES390); do \ | |
b75a7d8f A |
421 | echo $$file >> $@; \ |
422 | done; | |
423 | ||
374ca955 A |
424 | ifeq ($(POST_DATA_BUILD), os400-data-rebind) |
425 | os400-data-rebind: $(LIBICUUC) | |
b75a7d8f | 426 | |
374ca955 A |
427 | $(LIBICUUC): $(LIBICUDT) |
428 | $(RMV) $(LIBICUUC) | |
429 | (cd ../common && $(MAKE) RECURSIVE=YES) || exit; | |
430 | endif | |
b75a7d8f | 431 |