OLD | NEW |
(Empty) | |
| 1 #****************************************************************************** |
| 2 # |
| 3 # Copyright (C) 1998-2010, International Business Machines |
| 4 # Corporation and others. All Rights Reserved. |
| 5 # |
| 6 #****************************************************************************** |
| 7 ## Top-level Makefile.in for ICU |
| 8 ## Stephen F. Booth |
| 9 |
| 10 srcdir = @srcdir@ |
| 11 top_srcdir = @top_srcdir@ |
| 12 |
| 13 top_builddir = . |
| 14 |
| 15 include $(top_builddir)/icudefs.mk |
| 16 |
| 17 docdir = $(datadir)/doc |
| 18 docsubdir = $(PACKAGE)$(ICULIBDASHSUFFIX)/html |
| 19 docsubsrchdir = $(docsubdir)/search |
| 20 docfilesdir = doc/html |
| 21 docfiles = $(docfilesdir)/*.png $(docfilesdir)/*.html $(docfilesdir)/*.css $(doc
filesdir)/*.tag $(docfilesdir)/installdox |
| 22 docsrchdir = $(docfilesdir)/search |
| 23 docsrchfiles = $(docsrchdir)/* |
| 24 |
| 25 ## |
| 26 |
| 27 ## Build directory information |
| 28 subdir = . |
| 29 |
| 30 #AUTOCONF = @AUTOCONF@ |
| 31 |
| 32 ## Optional directory setup |
| 33 @LAYOUT_TRUE@LAYOUT = layout layoutex |
| 34 @ICUIO_TRUE@ICUIO = io |
| 35 @EXTRAS_TRUE@EXTRA = extra |
| 36 @TESTS_TRUE@TEST = test |
| 37 @SAMPLES_TRUE@SAMPLE = samples |
| 38 |
| 39 DOXYGEN = @DOXYGEN@ |
| 40 DOCZIP = icu-docs.zip |
| 41 |
| 42 ## Files to remove for 'make clean' |
| 43 CLEANFILES = *~ |
| 44 |
| 45 ALL_PKGCONFIG_SUFFIX=uc i18n io le lx |
| 46 ALL_PKGCONFIG_FILES=$(ALL_PKGCONFIG_SUFFIX:%=$(top_builddir)/config/icu-%.pc) |
| 47 |
| 48 ## Files built (autoconfed) and installed |
| 49 INSTALLED_BUILT_FILES = $(top_builddir)/config/Makefile.inc $(top_builddir)/conf
ig/pkgdata.inc $(top_builddir)/config/icu-config @platform_make_fragment@ $(EXTR
A_DATA:%=$(DESTDIR)$(pkglibdir)/%) $(ALL_PKGCONFIG_FILES) |
| 50 |
| 51 ## Files built (autoconfed) but not installed |
| 52 LOCAL_BUILT_FILES = icudefs.mk config/icucross.mk |
| 53 |
| 54 DOCDIRS = common i18n |
| 55 SUBDIRS = stubdata common i18n $(LAYOUT) tools data $(ICUIO) $(EXTRA) $(SAMPLE)
$(TEST) |
| 56 |
| 57 SECTION = 1 |
| 58 |
| 59 MANX_FILES = config/icu-config.$(SECTION) |
| 60 |
| 61 ALL_MAN_FILES = $(MANX_FILES) |
| 62 |
| 63 ## Extra files to install [nothing at present] |
| 64 EXTRA_DATA = |
| 65 |
| 66 ## List of phony targets |
| 67 .PHONY : all all-local all-recursive install install-local install-udata install
-udata-files install-udata-dlls \ |
| 68 install-recursive clean clean-local clean-recursive distclean \ |
| 69 distclean-local distclean-recursive doc dist dist-local dist-recursive \ |
| 70 check check-local check-recursive clean-recursive-with-twist install-icu \ |
| 71 doc install-doc tests icu4j-data icu4j-data-install update-windows-makefiles xch
eck-local xcheck-recursive xperf xcheck xperf-recursive |
| 72 |
| 73 ## Clear suffix list |
| 74 .SUFFIXES : |
| 75 |
| 76 ## List of standard targets |
| 77 all: all-local all-recursive |
| 78 install: install-recursive install-local |
| 79 clean: clean-recursive-with-twist clean-local |
| 80 distclean : distclean-recursive distclean-local |
| 81 dist: dist-recursive dist-local |
| 82 check: all check-recursive |
| 83 check-recursive: all |
| 84 xcheck: all xcheck-recursive |
| 85 xperf: all xperf-recursive |
| 86 |
| 87 xcheck-recursive: all xcheck-local |
| 88 @$(MAKE) -C test xcheck |
| 89 |
| 90 xperf-recursive: all tests |
| 91 @$(MAKE) -C test/perf xperf |
| 92 |
| 93 ifeq ($(DOXYGEN),) |
| 94 doc: |
| 95 @echo you need Doxygen to generate documentation. Doxygen can be found o
n the Web |
| 96 @echo at http://www.doxygen.org/ |
| 97 else |
| 98 doc: doc/html/index.html |
| 99 |
| 100 doc/html/index.html: Doxyfile $(wildcard ./common/unicode/platform.h $(srcdir)/c
ommon/unicode/*.h $(srcdir)/i18n/unicode/*.h $(srcdir)/layout/unicode/*.h $(srcd
ir)/io/unicode/*.h) |
| 101 $(DOXYGEN) |
| 102 |
| 103 Doxyfile: $(srcdir)/Doxyfile.in |
| 104 CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status |
| 105 |
| 106 $(DOCZIP): doc |
| 107 -$(RMV) $(DOCZIP) |
| 108 ( cd doc/html ; zip -r ../../$(DOCZIP) * ) |
| 109 endif |
| 110 |
| 111 LOCAL_SUBDIRS = $(SUBDIRS) |
| 112 CLEAN_FIRST_SUBDIRS = tools |
| 113 |
| 114 $(LIBDIR) $(BINDIR): |
| 115 -$(MKINSTALLDIRS) $@ |
| 116 |
| 117 ## Recursive targets |
| 118 all-recursive install-recursive clean-recursive distclean-recursive dist-recursi
ve check-recursive: $(LIBDIR) $(BINDIR) |
| 119 @dot_seen=no; \ |
| 120 target=`echo $@ | sed s/-recursive//`; \ |
| 121 list='$(LOCAL_SUBDIRS)'; for subdir in $$list; do \ |
| 122 echo "$(MAKE)[$(MAKELEVEL)]: Making \`$$target' in \`$$subdir'"; \ |
| 123 if test "$$subdir" = "."; then \ |
| 124 dot_seen=yes; \ |
| 125 local_target="$$target-local"; \ |
| 126 else \ |
| 127 local_target="$$target"; \ |
| 128 fi; \ |
| 129 (cd $$subdir && $(MAKE) RECURSIVE=YES $$local_target) || exit; \ |
| 130 done; \ |
| 131 if test "$$dot_seen" = "no"; then \ |
| 132 $(MAKE) "$$target-local" || exit; \ |
| 133 fi |
| 134 |
| 135 clean-recursive-with-twist: |
| 136 $(MAKE) clean-recursive LOCAL_SUBDIRS='$(CLEAN_FIRST_SUBDIRS) $(filter-o
ut $(CLEAN_FIRST_SUBDIRS),$(LOCAL_SUBDIRS))' |
| 137 |
| 138 all-local: $(srcdir)/configure $(LOCAL_BUILT_FILES) $(INSTALLED_BUILT_FILES) |
| 139 |
| 140 install-local: install-icu install-manx |
| 141 |
| 142 install-icu: $(INSTALLED_BUILT_FILES) |
| 143 @$(MKINSTALLDIRS) $(DESTDIR)$(pkgdatadir)/config |
| 144 @$(MKINSTALLDIRS) $(DESTDIR)$(pkglibdir) |
| 145 @$(MKINSTALLDIRS) $(DESTDIR)$(bindir) |
| 146 @$(MKINSTALLDIRS) $(DESTDIR)$(sbindir) |
| 147 $(INSTALL_DATA) @platform_make_fragment@ $(DESTDIR)$(pkgdatadir)/config/
@platform_make_fragment_name@ |
| 148 $(INSTALL_SCRIPT) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(pkgdatadir)/mk
installdirs |
| 149 $(INSTALL_SCRIPT) $(top_srcdir)/install-sh $(DESTDIR)$(pkgdatadir)/insta
ll-sh |
| 150 @$(MKINSTALLDIRS) $(DESTDIR)$(libdir)/pkgconfig |
| 151 $(INSTALL_DATA) $(ALL_PKGCONFIG_FILES) $(DESTDIR)$(libdir)/pkgconfig/ |
| 152 $(INSTALL_DATA) $(top_srcdir)/../license.html $(DESTDIR)$(pkgdatadir)/li
cense.html |
| 153 $(INSTALL_SCRIPT) $(top_builddir)/config/icu-config $(DESTDIR)$(bindir)/
icu-config |
| 154 $(INSTALL_DATA) $(top_builddir)/config/Makefile.inc $(DESTDIR)$(pkglibdi
r)/Makefile.inc |
| 155 $(INSTALL_DATA) $(top_builddir)/config/pkgdata.inc $(DESTDIR)$(pkglibdir
)/pkgdata.inc |
| 156 cd $(DESTDIR)$(pkglibdir)/..; \ |
| 157 $(RM) current && ln -s $(VERSION) current; \ |
| 158 $(RM) Makefile.inc && ln -s current/Makefile.inc Makefile.inc; \ |
| 159 $(RM) pkgdata.inc && ln -s current/pkgdata.inc pkgdata.inc |
| 160 |
| 161 ifeq ($(DOXYGEN),) |
| 162 install-doc: |
| 163 else |
| 164 install-doc: doc |
| 165 $(RM) -r $(DESTDIR)$(docdir)/$(docsubdir) |
| 166 $(MKINSTALLDIRS) $(DESTDIR)$(docdir)/$(docsubsrchdir) |
| 167 $(INSTALL_DATA) $(docfiles) $(DESTDIR)$(docdir)/$(docsubdir) |
| 168 $(INSTALL_DATA) $(docsrchfiles) $(DESTDIR)$(docdir)/$(docsubsrchdir) |
| 169 endif |
| 170 |
| 171 $(DESTDIR)$(pkglibdir)/%: $(top_srcdir)/../data/% |
| 172 $(INSTALL_DATA) $< $@ |
| 173 |
| 174 # Build the tests, but don't run them. |
| 175 tests: all |
| 176 $(MAKE) -C $(top_builddir)/test |
| 177 |
| 178 clean-local: |
| 179 test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES) |
| 180 -$(RMV) "test-*.xml" |
| 181 -$(RMV) "perf-*.xml" |
| 182 -$(RMV) $(ALL_PKGCONFIG_FILES) |
| 183 $(RMV) Doxyfile doc $(DOCZIP) |
| 184 |
| 185 distclean-local: clean-local |
| 186 $(RMV) $(top_builddir)/config/Makefile.inc $(top_builddir)/config/pkgdat
a.inc $(top_builddir)/config/icu-config $(top_builddir)/config/icu.pc $(ALL_PKGC
ONFIG_FILES) |
| 187 $(RMV) config.cache config.log config.status $(top_builddir)/config/icuc
ross.mk autom4te.cache |
| 188 $(RMV) Makefile config/Makefile icudefs.mk $(LIBDIR) $(BINDIR) |
| 189 -$(RMV) dist |
| 190 |
| 191 check-local: xcheck-local |
| 192 -$(RMV) test-local.xml |
| 193 |
| 194 xcheck-local: $(top_builddir)/config/icu-config $(top_builddir)/config/Makefile.
inc $(top_builddir)/config/pkgdata.inc |
| 195 @echo verifying that icu-config --selfcheck can operate |
| 196 @test "passed" = "$(shell $(top_builddir)/config/icu-config --selfcheck
2>&1)" || (echo "FAIL: icu-config could not run properly." ; exit 1) |
| 197 @echo verifying that $(MAKE) -f Makefile.inc selfcheck can operate |
| 198 @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 ) |
| 199 @echo "PASS: config selfcheck OK" |
| 200 |
| 201 #$(srcdir)/configure : $(srcdir)/configure.in $(top_srcdir)/aclocal.m4 |
| 202 # cd $(srcdir) && $(AUTOCONF) |
| 203 |
| 204 icudefs.mk: $(srcdir)/icudefs.mk.in $(top_builddir)/config.status |
| 205 cd $(top_builddir) \ |
| 206 && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.s
tatus |
| 207 |
| 208 config/icucross.mk: $(top_builddir)/icudefs.mk $(top_builddir)/Makefile |
| 209 @echo rebuilding $@ |
| 210 @(echo "CROSS_ICU_VERSION=$(VERSION)" ;\ |
| 211 echo "TOOLEXEEXT=$(EXEEXT)" \ |
| 212 ) > $@ |
| 213 @(echo 'TOOLBINDIR=$$(cross_buildroot)/bin' ;\ |
| 214 echo 'TOOLLIBDIR=$$(cross_buildroot)/lib' ;\ |
| 215 echo "INVOKE=$(LDLIBRARYPATH_ENVVAR)=$(LIBRARY_PATH_PREFIX)"'$$(TOOLLI
BDIR):$$(cross_buildroot)/stubdata:$$(cross_buildroot)/tools/ctestfw:$$$$'"$(LDL
IBRARYPATH_ENVVAR)" ;\ |
| 216 echo "PKGDATA_INVOKE=$(LDLIBRARYPATH_ENVVAR)=$(LIBRARY_PATH_PREFIX)"'$
$(cross_buildroot)/stubdata:$$(cross_buildroot)/tools/ctestfw:$$(TOOLLIBDIR):$$$
$'"$(LDLIBRARYPATH_ENVVAR) "'$$'"(PKGDATA_INVOKE_OPTS)" ;\ |
| 217 echo ) >> $@ |
| 218 |
| 219 |
| 220 config/icu.pc: $(srcdir)/config/icu.pc.in |
| 221 cd $(top_builddir) \ |
| 222 && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status |
| 223 |
| 224 config/icu-uc.pc: config/icu.pc Makefile icudefs.mk |
| 225 @cat config/icu.pc > $@ |
| 226 @echo "Description: $(PACKAGE_ICU_DESCRIPTION): Common and Data librarie
s" >> $@ |
| 227 @echo "Name: $(PACKAGE)-uc" >> $@ |
| 228 @echo "Libs:" '-L$${libdir}' "${ICULIBS_UC}" "${ICULIBS_DT}" >> $@ |
| 229 @echo "Libs.private:" '$${baselibs}' >> $@ |
| 230 @echo $@ updated. |
| 231 |
| 232 config/icu-i18n.pc: config/icu.pc Makefile icudefs.mk |
| 233 @cat config/icu.pc > $@ |
| 234 @echo "Description: $(PACKAGE_ICU_DESCRIPTION): Internationalization lib
rary" >> $@ |
| 235 @echo "Name: $(PACKAGE)-i18n" >> $@ |
| 236 @echo "Requires: icu-uc" >> $@ |
| 237 @echo "Libs:" "${ICULIBS_I18N}" >> $@ |
| 238 @echo $@ updated. |
| 239 |
| 240 config/icu-io.pc: config/icu.pc Makefile icudefs.mk |
| 241 @cat config/icu.pc > $@ |
| 242 @echo "Description: $(PACKAGE_ICU_DESCRIPTION): Stream and I/O Library"
>> $@ |
| 243 @echo "Name: $(PACKAGE)-io" >> $@ |
| 244 @echo "Requires: icu-i18n" >> $@ |
| 245 @echo "Libs:" "${ICULIBS_IO}" >> $@ |
| 246 @echo $@ updated. |
| 247 |
| 248 config/icu-le.pc: config/icu.pc Makefile icudefs.mk |
| 249 @cat config/icu.pc > $@ |
| 250 @echo "Description: $(PACKAGE_ICU_DESCRIPTION): Layout library" >> $@ |
| 251 @echo "Name: $(PACKAGE)-le" >> $@ |
| 252 @echo "Requires: icu-uc" >> $@ |
| 253 @echo "Libs:" "${ICULIBS_LE}" >> $@ |
| 254 @echo $@ updated. |
| 255 |
| 256 config/icu-lx.pc: config/icu.pc Makefile icudefs.mk |
| 257 @cat config/icu.pc > $@ |
| 258 @echo "Description: $(PACKAGE_ICU_DESCRIPTION): Paragraph Layout library
" >> $@ |
| 259 @echo "Name: $(PACKAGE)-lx" >> $@ |
| 260 @echo "Requires: icu-le" >> $@ |
| 261 @echo "Libs:" "${ICULIBS_LX}" >> $@ |
| 262 @echo $@ updated. |
| 263 |
| 264 |
| 265 Makefile: $(srcdir)/Makefile.in icudefs.mk $(top_builddir)/config.status |
| 266 cd $(top_builddir) \ |
| 267 && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.s
tatus |
| 268 |
| 269 $(top_builddir)/config/Makefile.inc: $(srcdir)/config/Makefile.inc.in $(top_bui
lddir)/config.status |
| 270 cd $(top_builddir) \ |
| 271 && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status |
| 272 |
| 273 $(top_builddir)/config/pkgdata.inc: icudefs.mk $(top_builddir)/config/pkgdataMak
efile |
| 274 cd $(top_builddir)/config; \ |
| 275 $(MAKE) -f pkgdataMakefile |
| 276 |
| 277 $(top_builddir)/config/pkgdataMakefile: |
| 278 cd $(top_builddir) \ |
| 279 && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status |
| 280 |
| 281 $(top_builddir)/config/icu-config: $(top_builddir)/Makefile $(top_srcdir)/config
/icu-config-top $(top_srcdir)/config/icu-config-bottom $(top_builddir)/config/Ma
kefile.inc @platform_make_fragment@ $(top_srcdir)/config/make2sh.sed |
| 282 -$(RMV) $@ |
| 283 $(INSTALL_SCRIPT) $(top_srcdir)/config/icu-config-top $@ |
| 284 chmod u+w $@ |
| 285 @echo "# Following from @platform_make_fragment@" >> $@ |
| 286 LC_ALL=C sed -f $(top_srcdir)/config/make2sh.sed < $(top_builddir)/confi
g/Makefile.inc | grep -v '#M#' | uniq >> $@ |
| 287 LC_ALL=C sed -f $(top_srcdir)/config/make2sh.sed < @platform_make_fragme
nt@ | grep -v '#M#' | uniq >> $@ |
| 288 cat $(top_srcdir)/config/icu-config-bottom >> $@ |
| 289 echo "# Rebuilt on "`date` >> $@ |
| 290 chmod u-w $@ |
| 291 |
| 292 config.status: $(srcdir)/configure $(srcdir)/common/unicode/uvernum.h |
| 293 @echo |
| 294 @echo |
| 295 @echo "*** config.status has become stale ***" |
| 296 @echo " 'configure' and/or 'uvernum.h' have changed, please" |
| 297 @echo " do 'runConfigureICU' (or 'configure') again, as per" |
| 298 @echo " the readme.html." |
| 299 @echo |
| 300 @echo |
| 301 exit 1 |
| 302 |
| 303 |
| 304 install-manx: $(MANX_FILES) |
| 305 $(MKINSTALLDIRS) $(DESTDIR)$(mandir)/man$(SECTION) |
| 306 $(INSTALL_DATA) $? $(DESTDIR)$(mandir)/man$(SECTION) |
| 307 |
| 308 config/%.$(SECTION): $(srcdir)/config/%.$(SECTION).in |
| 309 cd $(top_builddir) \ |
| 310 && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status |
| 311 |
| 312 icu4j-data-install icu4j-data: all tests |
| 313 @echo ICU4J_ROOT=$(ICU4J_ROOT) |
| 314 @$(MAKE) -C test/testdata $@ |
| 315 @$(MAKE) -C data $@ |
| 316 |
| 317 # For updating Windows makefiles |
| 318 |
| 319 WINDOWS_UPDATEFILES=$(srcdir)/data/makedata.mak $(shell find $(srcdir) -name '*.
vcproj' -o -name '*.vcxproj') |
| 320 |
| 321 WINDOWS_UPDATEFILES_SED=config/windows-update.sed |
| 322 |
| 323 update-windows-makefiles: config.status |
| 324 @echo Updating Windows Makefiles for ICU $(VERSION) |
| 325 CONFIG_FILES=$(WINDOWS_UPDATEFILES_SED) CONFIG_HEADERS= $(SHELL) ./confi
g.status |
| 326 @for file in $(WINDOWS_UPDATEFILES); do \ |
| 327 echo "Updating $$file"; \ |
| 328 mv "$${file}" "$${file}.bak" && \ |
| 329 sed -f $(WINDOWS_UPDATEFILES_SED) < "$${file}.bak" > "$${file}" && \ |
| 330 rm "$${file}.bak"; \ |
| 331 done; |
| 332 $(RMV) $(WINDOWS_UPDATEFILES_SED) |
| 333 @echo Please check over the changes carefully before checking them in. |
| 334 |
| 335 # For building a source distribution. |
| 336 distcheck dist-local: |
| 337 $(MAKE) -C . -f config/dist.mk srcdir="$(srcdir)" top_srcdir="$(top_srcd
ir)" $@ |
OLD | NEW |