]>
Commit | Line | Data |
---|---|---|
f3c0d7a5 A |
1 | # Copyright (C) 2016 and later: Unicode, Inc. and others. |
2 | # License & terms of use: http://www.unicode.org/copyright.html | |
b75a7d8f A |
3 | #****************************************************************************** |
4 | # | |
2ca993e8 | 5 | # Copyright (C) 1998-2016, International Business Machines |
b75a7d8f A |
6 | # Corporation and others. All Rights Reserved. |
7 | # | |
8 | #****************************************************************************** | |
9 | ## Top-level Makefile.in for ICU | |
10 | ## Stephen F. Booth | |
11 | ||
12 | srcdir = @srcdir@ | |
13 | top_srcdir = @top_srcdir@ | |
14 | ||
15 | top_builddir = . | |
16 | ||
17 | include $(top_builddir)/icudefs.mk | |
18 | ||
19 | docdir = $(datadir)/doc | |
20 | docsubdir = $(PACKAGE)$(ICULIBDASHSUFFIX)/html | |
729e4ab9 | 21 | docfilesdir = doc/html |
51004dcb | 22 | docfiles = $(docfilesdir)/*.png $(docfilesdir)/*.html $(docfilesdir)/*.css $(docfilesdir)/*.tag |
729e4ab9 A |
23 | docsrchdir = $(docfilesdir)/search |
24 | docsrchfiles = $(docsrchdir)/* | |
b75a7d8f A |
25 | |
26 | ## | |
27 | ||
28 | ## Build directory information | |
29 | subdir = . | |
30 | ||
374ca955 | 31 | #AUTOCONF = @AUTOCONF@ |
b75a7d8f A |
32 | |
33 | ## Optional directory setup | |
b331163b | 34 | @LAYOUTEX_TRUE@LAYOUTEX = layoutex |
374ca955 A |
35 | @ICUIO_TRUE@ICUIO = io |
36 | @EXTRAS_TRUE@EXTRA = extra | |
0f5d89e8 A |
37 | # need tools for tests |
38 | @TOOLS_TRUE@@TESTS_TRUE@TEST = test | |
b75a7d8f | 39 | @SAMPLES_TRUE@SAMPLE = samples |
57a6839d | 40 | @TOOLS_TRUE@TOOLS = tools |
0f5d89e8 | 41 | @TOOLS_TRUE@DATASUBDIR = data |
b75a7d8f | 42 | |
51004dcb A |
43 | ## pkgconfig setup. Always have uc and i18n. Others are optional. |
44 | ALL_PKGCONFIG_SUFFIX=uc i18n | |
b331163b | 45 | @LAYOUTEX_TRUE@ALL_PKGCONFIG_SUFFIX+= lx |
51004dcb A |
46 | @ICUIO_TRUE@ALL_PKGCONFIG_SUFFIX+= io |
47 | ||
b75a7d8f | 48 | DOXYGEN = @DOXYGEN@ |
46f4442e | 49 | DOCZIP = icu-docs.zip |
b75a7d8f | 50 | |
3d1f044b A |
51 | INSTALL_ICU_CONFIG = @INSTALL_ICU_CONFIG@ |
52 | ||
b75a7d8f | 53 | ## Files to remove for 'make clean' |
46f4442e | 54 | CLEANFILES = *~ |
b75a7d8f | 55 | |
729e4ab9 A |
56 | ALL_PKGCONFIG_FILES=$(ALL_PKGCONFIG_SUFFIX:%=$(top_builddir)/config/icu-%.pc) |
57 | ||
b75a7d8f | 58 | ## Files built (autoconfed) and installed |
729e4ab9 | 59 | INSTALLED_BUILT_FILES = $(top_builddir)/config/Makefile.inc $(top_builddir)/config/pkgdata.inc $(top_builddir)/config/icu-config @platform_make_fragment@ $(EXTRA_DATA:%=$(DESTDIR)$(pkglibdir)/%) $(ALL_PKGCONFIG_FILES) |
b75a7d8f A |
60 | |
61 | ## Files built (autoconfed) but not installed | |
51004dcb | 62 | LOCAL_BUILT_FILES = icudefs.mk config/icucross.mk config/icucross.inc |
b75a7d8f A |
63 | |
64 | DOCDIRS = common i18n | |
0f5d89e8 | 65 | SUBDIRS = stubdata common i18n $(LAYOUTEX) $(ICUIO) $(TOOLS) $(DATASUBDIR) $(EXTRA) $(SAMPLE) $(TEST) |
b75a7d8f A |
66 | |
67 | SECTION = 1 | |
68 | ||
3d1f044b | 69 | ifeq ($(INSTALL_ICU_CONFIG),true) |
b75a7d8f | 70 | MANX_FILES = config/icu-config.$(SECTION) |
3d1f044b | 71 | endif |
b75a7d8f A |
72 | |
73 | ALL_MAN_FILES = $(MANX_FILES) | |
74 | ||
75 | ## Extra files to install [nothing at present] | |
76 | EXTRA_DATA = | |
77 | ||
78 | ## List of phony targets | |
79 | .PHONY : all all-local all-recursive install install-local install-udata install-udata-files install-udata-dlls \ | |
80 | install-recursive clean clean-local clean-recursive distclean \ | |
81 | distclean-local distclean-recursive doc dist dist-local dist-recursive \ | |
82 | check check-local check-recursive clean-recursive-with-twist install-icu \ | |
4388f060 A |
83 | doc install-doc tests icu4j-data icu4j-data-install update-windows-makefiles xcheck-local xcheck-recursive xperf xcheck xperf-recursive \ |
84 | check-exhaustive check-exhaustive-local check-exhaustive-recursive releaseDist | |
b75a7d8f A |
85 | |
86 | ## Clear suffix list | |
87 | .SUFFIXES : | |
88 | ||
89 | ## List of standard targets | |
90 | all: all-local all-recursive | |
91 | install: install-recursive install-local | |
92 | clean: clean-recursive-with-twist clean-local | |
93 | distclean : distclean-recursive distclean-local | |
0f5d89e8 | 94 | dist: dist-recursive |
729e4ab9 | 95 | check: all check-recursive |
374ca955 | 96 | check-recursive: all |
729e4ab9 A |
97 | xcheck: all xcheck-recursive |
98 | xperf: all xperf-recursive | |
4388f060 A |
99 | check-exhaustive: all check-exhaustive-recursive |
100 | ||
57a6839d A |
101 | pcheck: all tests |
102 | @$(MAKE) -C test pcheck | |
103 | ||
4388f060 | 104 | check-exhaustive-local: check-local |
729e4ab9 A |
105 | |
106 | xcheck-recursive: all xcheck-local | |
107 | @$(MAKE) -C test xcheck | |
108 | ||
109 | xperf-recursive: all tests | |
110 | @$(MAKE) -C test/perf xperf | |
b75a7d8f | 111 | |
4388f060 A |
112 | $(top_builddir)/config/icuinfo.xml: all |
113 | @$(MAKE) -C tools/icuinfo check | |
114 | ||
b75a7d8f | 115 | ifeq ($(DOXYGEN),) |
4388f060 | 116 | doc doc-searchengine: |
b75a7d8f A |
117 | @echo you need Doxygen to generate documentation. Doxygen can be found on the Web |
118 | @echo at http://www.doxygen.org/ | |
119 | else | |
120 | doc: doc/html/index.html | |
121 | ||
f3c0d7a5 | 122 | doc-searchengine: Doxyfile $(wildcard ./common/unicode/platform.h $(srcdir)/common/unicode/*.h $(srcdir)/i18n/unicode/*.h $(srcdir)/io/unicode/*.h) |
4388f060 | 123 | sed < Doxyfile -e 's%[^#]*SEARCHENGINE.*%SEARCHENGINE=YES%' | $(DOXYGEN) - |
51004dcb A |
124 | @echo adding links from non-namespaced class files |
125 | find doc/html -name 'classicu_1_1*' -print | sed -e 's%^\(.*class\)icu_1_1\(.*\)$$%ln & \1\2%' | sh | |
4388f060 A |
126 | @echo Docs created - WARNING, probably contains non-GPL .js files |
127 | ||
f3c0d7a5 | 128 | doc/html/index.html: Doxyfile $(wildcard ./common/unicode/platform.h $(srcdir)/common/unicode/*.h $(srcdir)/i18n/unicode/*.h $(srcdir)/io/unicode/*.h) |
b75a7d8f | 129 | $(DOXYGEN) |
51004dcb A |
130 | @echo adding links from non-namespaced class files |
131 | find doc/html -name 'classicu_1_1*' -print | sed -e 's%^\(.*class\)icu_1_1\(.*\)$$%ln & \1\2%' | sh | |
b75a7d8f A |
132 | |
133 | Doxyfile: $(srcdir)/Doxyfile.in | |
134 | CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status | |
46f4442e A |
135 | |
136 | $(DOCZIP): doc | |
137 | -$(RMV) $(DOCZIP) | |
138 | ( cd doc/html ; zip -r ../../$(DOCZIP) * ) | |
b75a7d8f A |
139 | endif |
140 | ||
141 | LOCAL_SUBDIRS = $(SUBDIRS) | |
57a6839d | 142 | CLEAN_FIRST_SUBDIRS = $(TOOLS) |
b75a7d8f | 143 | |
374ca955 A |
144 | $(LIBDIR) $(BINDIR): |
145 | -$(MKINSTALLDIRS) $@ | |
146 | ||
b75a7d8f | 147 | ## Recursive targets |
4388f060 | 148 | all-recursive install-recursive clean-recursive distclean-recursive dist-recursive check-recursive check-exhaustive-recursive: $(LIBDIR) $(BINDIR) |
f3c0d7a5 A |
149 | ifneq ($(NEED_ESCAPING),) |
150 | @echo "building tools/escapesrc (Needed for this platform with NEED_ESCAPING)" | |
151 | @(cd tools/escapesrc && $(MAKE) RECURSIVE=YES $$local_target) || exit | |
152 | endif | |
b75a7d8f A |
153 | @dot_seen=no; \ |
154 | target=`echo $@ | sed s/-recursive//`; \ | |
155 | list='$(LOCAL_SUBDIRS)'; for subdir in $$list; do \ | |
156 | echo "$(MAKE)[$(MAKELEVEL)]: Making \`$$target' in \`$$subdir'"; \ | |
157 | if test "$$subdir" = "."; then \ | |
158 | dot_seen=yes; \ | |
159 | local_target="$$target-local"; \ | |
160 | else \ | |
161 | local_target="$$target"; \ | |
162 | fi; \ | |
163 | (cd $$subdir && $(MAKE) RECURSIVE=YES $$local_target) || exit; \ | |
164 | done; \ | |
165 | if test "$$dot_seen" = "no"; then \ | |
166 | $(MAKE) "$$target-local" || exit; \ | |
167 | fi | |
168 | ||
169 | clean-recursive-with-twist: | |
170 | $(MAKE) clean-recursive LOCAL_SUBDIRS='$(CLEAN_FIRST_SUBDIRS) $(filter-out $(CLEAN_FIRST_SUBDIRS),$(LOCAL_SUBDIRS))' | |
171 | ||
172 | all-local: $(srcdir)/configure $(LOCAL_BUILT_FILES) $(INSTALLED_BUILT_FILES) | |
51004dcb A |
173 | ifndef VERBOSE |
174 | @echo "Note: rebuild with \"$(MAKE) VERBOSE=1 $(MAKECMDGOALS)\" to show all compiler parameters." | |
175 | endif | |
b75a7d8f A |
176 | install-local: install-icu install-manx |
177 | ||
b331163b A |
178 | # always installs. Used by layoutex. |
179 | install-pkgconfig: $(ALL_PKGCONFIG_FILES) | |
180 | @$(MKINSTALLDIRS) $(DESTDIR)$(libdir)/pkgconfig | |
181 | $(INSTALL_DATA) $(ALL_PKGCONFIG_FILES) $(DESTDIR)$(libdir)/pkgconfig/ | |
182 | ||
b75a7d8f A |
183 | install-icu: $(INSTALLED_BUILT_FILES) |
184 | @$(MKINSTALLDIRS) $(DESTDIR)$(pkgdatadir)/config | |
185 | @$(MKINSTALLDIRS) $(DESTDIR)$(pkglibdir) | |
186 | @$(MKINSTALLDIRS) $(DESTDIR)$(bindir) | |
187 | @$(MKINSTALLDIRS) $(DESTDIR)$(sbindir) | |
374ca955 A |
188 | $(INSTALL_DATA) @platform_make_fragment@ $(DESTDIR)$(pkgdatadir)/config/@platform_make_fragment_name@ |
189 | $(INSTALL_SCRIPT) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(pkgdatadir)/mkinstalldirs | |
46f4442e | 190 | $(INSTALL_SCRIPT) $(top_srcdir)/install-sh $(DESTDIR)$(pkgdatadir)/install-sh |
729e4ab9 A |
191 | @$(MKINSTALLDIRS) $(DESTDIR)$(libdir)/pkgconfig |
192 | $(INSTALL_DATA) $(ALL_PKGCONFIG_FILES) $(DESTDIR)$(libdir)/pkgconfig/ | |
2ca993e8 | 193 | $(INSTALL_DATA) $(top_srcdir)/../LICENSE $(DESTDIR)$(pkgdatadir)/LICENSE |
3d1f044b | 194 | ifeq ($(INSTALL_ICU_CONFIG),true) |
374ca955 | 195 | $(INSTALL_SCRIPT) $(top_builddir)/config/icu-config $(DESTDIR)$(bindir)/icu-config |
3d1f044b | 196 | endif |
b75a7d8f | 197 | $(INSTALL_DATA) $(top_builddir)/config/Makefile.inc $(DESTDIR)$(pkglibdir)/Makefile.inc |
729e4ab9 | 198 | $(INSTALL_DATA) $(top_builddir)/config/pkgdata.inc $(DESTDIR)$(pkglibdir)/pkgdata.inc |
4388f060 A |
199 | # @echo icuinfo.xml is built after make check. |
200 | # -$(INSTALL_DATA) $(top_builddir)/config/icuinfo.xml $(DESTDIR)$(pkglibdir)/icuinfo.xml | |
b75a7d8f | 201 | cd $(DESTDIR)$(pkglibdir)/..; \ |
3d1f044b | 202 | $(RMV) current && ln -s $(VERSION) current; \ |
729e4ab9 A |
203 | $(RM) Makefile.inc && ln -s current/Makefile.inc Makefile.inc; \ |
204 | $(RM) pkgdata.inc && ln -s current/pkgdata.inc pkgdata.inc | |
b75a7d8f A |
205 | |
206 | ifeq ($(DOXYGEN),) | |
207 | install-doc: | |
208 | else | |
209 | install-doc: doc | |
210 | $(RM) -r $(DESTDIR)$(docdir)/$(docsubdir) | |
51004dcb | 211 | $(MKINSTALLDIRS) $(DESTDIR)$(docdir)/$(docsubdir) |
729e4ab9 | 212 | $(INSTALL_DATA) $(docfiles) $(DESTDIR)$(docdir)/$(docsubdir) |
51004dcb | 213 | |
b75a7d8f A |
214 | endif |
215 | ||
216 | $(DESTDIR)$(pkglibdir)/%: $(top_srcdir)/../data/% | |
217 | $(INSTALL_DATA) $< $@ | |
218 | ||
46f4442e A |
219 | # Build the tests, but don't run them. |
220 | tests: all | |
221 | $(MAKE) -C $(top_builddir)/test | |
222 | ||
b75a7d8f A |
223 | clean-local: |
224 | test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES) | |
729e4ab9 A |
225 | -$(RMV) "test-*.xml" |
226 | -$(RMV) "perf-*.xml" | |
4388f060 | 227 | -$(RMV) $(ALL_PKGCONFIG_FILES) $(top_builddir)/config/icuinfo.xml |
46f4442e | 228 | $(RMV) Doxyfile doc $(DOCZIP) |
b75a7d8f A |
229 | |
230 | distclean-local: clean-local | |
729e4ab9 | 231 | $(RMV) $(top_builddir)/config/Makefile.inc $(top_builddir)/config/pkgdata.inc $(top_builddir)/config/icu-config $(top_builddir)/config/icu.pc $(ALL_PKGCONFIG_FILES) |
51004dcb | 232 | $(RMV) config.cache config.log config.status $(top_builddir)/config/icucross.mk $(top_builddir)/config/icucross.inc autom4te.cache uconfig.h.prepend |
46f4442e | 233 | $(RMV) Makefile config/Makefile icudefs.mk $(LIBDIR) $(BINDIR) |
729e4ab9 A |
234 | -$(RMV) dist |
235 | ||
236 | check-local: xcheck-local | |
237 | -$(RMV) test-local.xml | |
b75a7d8f | 238 | |
729e4ab9 A |
239 | xcheck-local: $(top_builddir)/config/icu-config $(top_builddir)/config/Makefile.inc $(top_builddir)/config/pkgdata.inc |
240 | @echo verifying that icu-config --selfcheck can operate | |
241 | @test "passed" = "$(shell $(top_builddir)/config/icu-config --selfcheck 2>&1)" || (echo "FAIL: icu-config could not run properly." ; exit 1) | |
242 | @echo verifying that $(MAKE) -f Makefile.inc selfcheck can operate | |
243 | @test "passed" = "$(shell $(MAKE) --no-print-directory -f $(top_builddir)/config/Makefile.inc SELFCHECK=1 selfcheck)" || (echo "FAIL: Makefile.inc could not run properly." ; exit 1 ) | |
244 | @echo "PASS: config selfcheck OK" | |
b75a7d8f | 245 | |
57a6839d A |
246 | #$(srcdir)/configure : $(srcdir)/configure.ac $(top_srcdir)/aclocal.m4 |
247 | # cd $(srcdir) && aclocal && $(AUTOCONF) | |
b75a7d8f A |
248 | |
249 | icudefs.mk: $(srcdir)/icudefs.mk.in $(top_builddir)/config.status | |
250 | cd $(top_builddir) \ | |
251 | && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status | |
252 | ||
729e4ab9 A |
253 | config/icucross.mk: $(top_builddir)/icudefs.mk $(top_builddir)/Makefile |
254 | @echo rebuilding $@ | |
255 | @(echo "CROSS_ICU_VERSION=$(VERSION)" ;\ | |
256 | echo "TOOLEXEEXT=$(EXEEXT)" \ | |
257 | ) > $@ | |
258 | @(echo 'TOOLBINDIR=$$(cross_buildroot)/bin' ;\ | |
259 | echo 'TOOLLIBDIR=$$(cross_buildroot)/lib' ;\ | |
260 | echo "INVOKE=$(LDLIBRARYPATH_ENVVAR)=$(LIBRARY_PATH_PREFIX)"'$$(TOOLLIBDIR):$$(cross_buildroot)/stubdata:$$(cross_buildroot)/tools/ctestfw:$$$$'"$(LDLIBRARYPATH_ENVVAR)" ;\ | |
51004dcb | 261 | echo "PKGDATA_INVOKE=$(LDLIBRARYPATH_ENVVAR)=$(LIBRARY_PATH_PREFIX)"'$$(cross_buildroot)/stubdata:$$(cross_buildroot)/tools/ctestfw:$$(TOOLLIBDIR):$$$$'"$(LDLIBRARYPATH_ENVVAR) " ;\ |
729e4ab9 A |
262 | echo ) >> $@ |
263 | ||
51004dcb A |
264 | config/icucross.inc: $(top_builddir)/icudefs.mk $(top_builddir)/Makefile @platform_make_fragment@ |
265 | @echo rebuilding $@ | |
266 | @(grep '^CURR_FULL_DIR' $(top_builddir)/icudefs.mk ; \ | |
267 | grep '^CURR_FULL_DIR' @platform_make_fragment@ || echo ""; \ | |
268 | ) > $@ | |
729e4ab9 A |
269 | |
270 | config/icu.pc: $(srcdir)/config/icu.pc.in | |
271 | cd $(top_builddir) \ | |
272 | && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status | |
273 | ||
274 | config/icu-uc.pc: config/icu.pc Makefile icudefs.mk | |
275 | @cat config/icu.pc > $@ | |
276 | @echo "Description: $(PACKAGE_ICU_DESCRIPTION): Common and Data libraries" >> $@ | |
277 | @echo "Name: $(PACKAGE)-uc" >> $@ | |
278 | @echo "Libs:" '-L$${libdir}' "${ICULIBS_UC}" "${ICULIBS_DT}" >> $@ | |
279 | @echo "Libs.private:" '$${baselibs}' >> $@ | |
280 | @echo $@ updated. | |
281 | ||
282 | config/icu-i18n.pc: config/icu.pc Makefile icudefs.mk | |
283 | @cat config/icu.pc > $@ | |
284 | @echo "Description: $(PACKAGE_ICU_DESCRIPTION): Internationalization library" >> $@ | |
285 | @echo "Name: $(PACKAGE)-i18n" >> $@ | |
286 | @echo "Requires: icu-uc" >> $@ | |
287 | @echo "Libs:" "${ICULIBS_I18N}" >> $@ | |
288 | @echo $@ updated. | |
289 | ||
290 | config/icu-io.pc: config/icu.pc Makefile icudefs.mk | |
291 | @cat config/icu.pc > $@ | |
292 | @echo "Description: $(PACKAGE_ICU_DESCRIPTION): Stream and I/O Library" >> $@ | |
293 | @echo "Name: $(PACKAGE)-io" >> $@ | |
294 | @echo "Requires: icu-i18n" >> $@ | |
295 | @echo "Libs:" "${ICULIBS_IO}" >> $@ | |
296 | @echo $@ updated. | |
297 | ||
b331163b A |
298 | ICULEHB_LIBS=@ICULEHB_LIBS@ |
299 | USING_HB= | |
300 | ifneq ($(ICULEHB_LIBS),) | |
301 | USING_HB=(Using HarfBuzz) | |
302 | endif | |
303 | ||
304 | ||
729e4ab9 A |
305 | config/icu-lx.pc: config/icu.pc Makefile icudefs.mk |
306 | @cat config/icu.pc > $@ | |
b331163b | 307 | @echo "Description: $(PACKAGE_ICU_DESCRIPTION): Paragraph Layout library $(USING_HB)" >> $@ |
729e4ab9 | 308 | @echo "Name: $(PACKAGE)-lx" >> $@ |
b331163b A |
309 | ifneq ($(ICULEHB_LIBS),) |
310 | @echo "Requires: icu-le-hb icu-uc" >> $@ | |
311 | else | |
729e4ab9 | 312 | @echo "Requires: icu-le" >> $@ |
b331163b | 313 | endif |
729e4ab9 A |
314 | @echo "Libs:" "${ICULIBS_LX}" >> $@ |
315 | @echo $@ updated. | |
316 | ||
317 | ||
b75a7d8f A |
318 | Makefile: $(srcdir)/Makefile.in icudefs.mk $(top_builddir)/config.status |
319 | cd $(top_builddir) \ | |
320 | && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status | |
321 | ||
322 | $(top_builddir)/config/Makefile.inc: $(srcdir)/config/Makefile.inc.in $(top_builddir)/config.status | |
323 | cd $(top_builddir) \ | |
324 | && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status | |
325 | ||
729e4ab9 A |
326 | $(top_builddir)/config/pkgdata.inc: icudefs.mk $(top_builddir)/config/pkgdataMakefile |
327 | cd $(top_builddir)/config; \ | |
328 | $(MAKE) -f pkgdataMakefile | |
329 | ||
330 | $(top_builddir)/config/pkgdataMakefile: | |
331 | cd $(top_builddir) \ | |
332 | && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status | |
333 | ||
b75a7d8f A |
334 | $(top_builddir)/config/icu-config: $(top_builddir)/Makefile $(top_srcdir)/config/icu-config-top $(top_srcdir)/config/icu-config-bottom $(top_builddir)/config/Makefile.inc @platform_make_fragment@ $(top_srcdir)/config/make2sh.sed |
335 | -$(RMV) $@ | |
374ca955 | 336 | $(INSTALL_SCRIPT) $(top_srcdir)/config/icu-config-top $@ |
73c04bcf | 337 | chmod u+w $@ |
f3c0d7a5 A |
338 | @echo "# Following from icu/icu4c/source/config/Makefile.inc" >> $@ |
339 | LC_ALL=C $(SED) -f $(top_srcdir)/config/make2sh.sed < $(top_builddir)/config/Makefile.inc | grep -v '#M#' | uniq >> $@ | |
b75a7d8f | 340 | @echo "# Following from @platform_make_fragment@" >> $@ |
f3c0d7a5 | 341 | LC_ALL=C $(SED) -f $(top_srcdir)/config/make2sh.sed < @platform_make_fragment@ | grep -v '#M#' | uniq >> $@ |
b75a7d8f | 342 | cat $(top_srcdir)/config/icu-config-bottom >> $@ |
73c04bcf | 343 | chmod u-w $@ |
b75a7d8f | 344 | |
729e4ab9 | 345 | config.status: $(srcdir)/configure $(srcdir)/common/unicode/uvernum.h |
b75a7d8f A |
346 | @echo |
347 | @echo | |
348 | @echo "*** config.status has become stale ***" | |
729e4ab9 | 349 | @echo " 'configure' and/or 'uvernum.h' have changed, please" |
b75a7d8f A |
350 | @echo " do 'runConfigureICU' (or 'configure') again, as per" |
351 | @echo " the readme.html." | |
352 | @echo | |
353 | @echo | |
354 | exit 1 | |
355 | ||
356 | ||
357 | install-manx: $(MANX_FILES) | |
358 | $(MKINSTALLDIRS) $(DESTDIR)$(mandir)/man$(SECTION) | |
3d1f044b | 359 | ifneq ($(MANX_FILES),) |
b75a7d8f | 360 | $(INSTALL_DATA) $? $(DESTDIR)$(mandir)/man$(SECTION) |
3d1f044b | 361 | endif |
b75a7d8f A |
362 | |
363 | config/%.$(SECTION): $(srcdir)/config/%.$(SECTION).in | |
364 | cd $(top_builddir) \ | |
365 | && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status | |
366 | ||
729e4ab9 A |
367 | icu4j-data-install icu4j-data: all tests |
368 | @echo ICU4J_ROOT=$(ICU4J_ROOT) | |
369 | @$(MAKE) -C test/testdata $@ | |
370 | @$(MAKE) -C data $@ | |
371 | ||
372 | # For updating Windows makefiles | |
373 | ||
374 | WINDOWS_UPDATEFILES=$(srcdir)/data/makedata.mak $(shell find $(srcdir) -name '*.vcproj' -o -name '*.vcxproj') | |
375 | ||
376 | WINDOWS_UPDATEFILES_SED=config/windows-update.sed | |
377 | ||
378 | update-windows-makefiles: config.status | |
379 | @echo Updating Windows Makefiles for ICU $(VERSION) | |
380 | CONFIG_FILES=$(WINDOWS_UPDATEFILES_SED) CONFIG_HEADERS= $(SHELL) ./config.status | |
381 | @for file in $(WINDOWS_UPDATEFILES); do \ | |
382 | echo "Updating $$file"; \ | |
383 | mv "$${file}" "$${file}.bak" && \ | |
384 | sed -f $(WINDOWS_UPDATEFILES_SED) < "$${file}.bak" > "$${file}" && \ | |
385 | rm "$${file}.bak"; \ | |
386 | done; | |
387 | $(RMV) $(WINDOWS_UPDATEFILES_SED) | |
388 | @echo Please check over the changes carefully before checking them in. | |
389 | ||
390 | # For building a source distribution. | |
391 | distcheck dist-local: | |
51004dcb | 392 | $(MAKE) -C . -f $(top_srcdir)/config/dist.mk srcdir="$(srcdir)" top_srcdir="$(top_srcdir)" $@ |
4388f060 A |
393 | |
394 | ifeq ($(DESTDIR),) | |
395 | releaseDist: | |
396 | @echo "Please provide DESTDIR when calling the target releaseDist." | |
397 | else | |
398 | releaseDist: install | |
399 | @echo -n "ICU Version: " > $(DESTDIR)/readme.txt | |
400 | @echo `./config/icu-config --noverify --version` >> $(DESTDIR)/readme.txt | |
401 | @echo -n "HOST: " >> $(DESTDIR)/readme.txt | |
402 | @echo `./config/icu-config --noverify --host` >> $(DESTDIR)/readme.txt | |
403 | @echo -n "CC Compiler: " >> $(DESTDIR)/readme.txt | |
404 | @echo `./config/icu-config --noverify --cc` >> $(DESTDIR)/readme.txt | |
405 | @echo -n "CXX Compiler: " >> $(DESTDIR)/readme.txt | |
406 | @echo `./config/icu-config --noverify --cxx` >> $(DESTDIR)/readme.txt | |
407 | endif | |
408 | ||
409 | check-installed-icu: install | |
410 | @echo "Testing ICU installed in $(prefix)" | |
411 | $(INSTALLED_INVOKE) $(bindir)/icuinfo$(EXEEXT) | |
412 | $(INSTALLED_INVOKE) $(bindir)/uconv$(EXEEXT) -V | |
413 | $(INSTALLED_INVOKE) $(bindir)/genrb$(EXEEXT) -V | |
414 | $(INSTALLED_INVOKE) $(bindir)/gencnval$(EXEEXT) -h | |
415 | @echo INSTALLED ICU IN "$(prefix)" OK! |