2000-01-14 16:20:17 +00:00
#******************************************************************************
#
2009-04-01 01:54:14 +00:00
# Copyright (C) 1998-2009, International Business Machines
2000-01-14 16:20:17 +00:00
# Corporation and others. All Rights Reserved.
#
#******************************************************************************
1999-08-16 21:50:52 +00:00
## Top-level Makefile.in for ICU
## Stephen F. Booth
srcdir = @srcdir@
top_srcdir = @top_srcdir@
top_builddir = .
2000-10-26 19:28:33 +00:00
i n c l u d e $( top_builddir ) / i c u d e f s . m k
1999-08-16 21:50:52 +00:00
2001-11-11 06:58:13 +00:00
docdir = $( datadir) /doc
2002-03-02 22:16:01 +00:00
docsubdir = $( PACKAGE) $( ICULIBDASHSUFFIX) /html
2001-11-11 06:58:13 +00:00
2000-10-24 19:50:20 +00:00
##
1999-08-16 21:50:52 +00:00
2000-10-26 19:28:33 +00:00
## Build directory information
subdir = .
2004-04-01 00:21:58 +00:00
#AUTOCONF = @AUTOCONF@
1999-08-16 21:50:52 +00:00
## Optional directory setup
2003-04-24 19:29:57 +00:00
@ L A Y O U T _ T R U E @ LAYOUT = layout layoutex
2004-05-05 23:03:04 +00:00
@ I C U I O _ T R U E @ ICUIO = io
@ E X T R A S _ T R U E @ EXTRA = extra
1999-08-16 21:50:52 +00:00
@ T E S T S _ T R U E @ TEST = test
@ S A M P L E S _ T R U E @ SAMPLE = samples
2001-11-11 06:58:13 +00:00
DOXYGEN = @DOXYGEN@
2008-05-28 21:40:18 +00:00
DOCZIP = icu-docs.zip
2001-11-11 06:58:13 +00:00
1999-08-16 21:50:52 +00:00
## Files to remove for 'make clean'
2008-05-28 21:40:18 +00:00
CLEANFILES = *~
1999-08-16 21:50:52 +00:00
2002-05-07 03:09:19 +00:00
## Files built (autoconfed) and installed
2008-12-01 21:57:14 +00:00
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) /%)
2002-05-07 03:09:19 +00:00
## Files built (autoconfed) but not installed
2009-04-01 01:54:14 +00:00
LOCAL_BUILT_FILES = icudefs.mk config/icucross.mk
2002-05-07 03:09:19 +00:00
1999-08-16 21:50:52 +00:00
DOCDIRS = common i18n
2004-05-05 23:03:04 +00:00
SUBDIRS = stubdata common i18n $( LAYOUT) tools data $( ICUIO) $( EXTRA) $( SAMPLE) $( TEST)
1999-08-16 21:50:52 +00:00
2002-05-23 23:45:40 +00:00
SECTION = 1
MANX_FILES = config/icu-config.$( SECTION)
ALL_MAN_FILES = $( MANX_FILES)
2000-06-13 19:44:38 +00:00
## Extra files to install [nothing at present]
EXTRA_DATA =
1999-08-16 21:50:52 +00:00
## List of phony targets
1999-11-23 04:49:35 +00:00
.PHONY : all all -local all -recursive install install -local install -udata install -udata -files install -udata -dlls \
1999-08-16 21:50:52 +00:00
i n s t a l l - r e c u r s i v e c l e a n c l e a n - l o c a l c l e a n - r e c u r s i v e d i s t c l e a n \
d i s t c l e a n - l o c a l d i s t c l e a n - r e c u r s i v e d o c d i s t d i s t - l o c a l d i s t - r e c u r s i v e \
2001-11-11 06:58:13 +00:00
c h e c k c h e c k - l o c a l c h e c k - r e c u r s i v e c l e a n - r e c u r s i v e - w i t h - t w i s t i n s t a l l - i c u \
2007-07-09 20:50:46 +00:00
d o c i n s t a l l - d o c t e s t s
1999-08-16 21:50:52 +00:00
## Clear suffix list
.SUFFIXES :
## List of standard targets
2000-07-11 17:52:01 +00:00
all : all -local all -recursive
1999-08-16 21:50:52 +00:00
install : install -recursive install -local
2000-10-02 23:37:16 +00:00
clean : clean -recursive -with -twist clean -local
1999-08-16 21:50:52 +00:00
distclean : distclean -recursive distclean -local
dist : dist -recursive dist -local
2008-10-10 16:52:15 +00:00
check : all check -recursive
2004-03-11 06:44:56 +00:00
check-recursive : all
1999-08-16 21:50:52 +00:00
2001-11-11 07:22:54 +00:00
i f e q ( $( DOXYGEN ) , )
doc :
2002-01-04 23:48:46 +00:00
@echo you need Doxygen to generate documentation. Doxygen can be found on the Web
@echo at http://www.doxygen.org/
2001-11-11 07:22:54 +00:00
e l s e
2002-02-25 08:11:57 +00:00
doc : doc /html /index .html
2004-05-05 23:03:04 +00:00
doc/html/index.html : Doxyfile $( wildcard ./common /unicode /platform .h $ ( srcdir ) /common /unicode /*.h $ ( srcdir ) /i 18n /unicode /*.h $ ( srcdir ) /layout /unicode /*.h $ ( srcdir ) /io /unicode /*.h )
2001-11-11 06:58:13 +00:00
$( DOXYGEN)
Doxyfile : $( srcdir ) /Doxyfile .in
CONFIG_FILES = $@ CONFIG_HEADERS = $( SHELL) ./config.status
2008-05-28 21:40:18 +00:00
$(DOCZIP) : doc
-$( RMV) $( DOCZIP)
( cd doc/html ; zip -r ../../$( DOCZIP) * )
2001-11-11 07:22:54 +00:00
e n d i f
2001-11-11 06:58:13 +00:00
2000-10-02 23:37:16 +00:00
LOCAL_SUBDIRS = $( SUBDIRS)
CLEAN_FIRST_SUBDIRS = tools
2004-03-26 01:22:25 +00:00
$(LIBDIR) $(BINDIR) :
-$( MKINSTALLDIRS) $@
1999-08-16 21:50:52 +00:00
## Recursive targets
2004-03-26 01:22:25 +00:00
all-recursive install-recursive clean-recursive distclean-recursive dist-recursive check-recursive : $( LIBDIR ) $( BINDIR )
1999-08-16 21:50:52 +00:00
@dot_seen= no; \
target = ` echo $@ | sed s/-recursive//` ; \
2000-10-02 23:37:16 +00:00
list = '$(LOCAL_SUBDIRS)' ; for subdir in $$ list; do \
2002-01-04 23:48:46 +00:00
echo " $( MAKE) [ $( MAKELEVEL) ]: Making \` $$ target' in \` $$ subdir' " ; \
1999-08-16 21:50:52 +00:00
if test " $$ subdir " = "." ; then \
dot_seen = yes; \
local_target = " $$ target-local " ; \
else \
local_target = " $$ target " ; \
fi ; \
2000-10-24 19:50:20 +00:00
( cd $$ subdir && $( MAKE) RECURSIVE = YES $$ local_target) || exit; \
1999-08-16 21:50:52 +00:00
done ; \
if test " $$ dot_seen " = "no" ; then \
2000-08-11 22:08:11 +00:00
$( MAKE) " $$ target-local " || exit; \
1999-08-16 21:50:52 +00:00
fi
2000-10-02 23:37:16 +00:00
clean-recursive-with-twist :
2000-10-03 00:01:27 +00:00
$( MAKE) clean-recursive LOCAL_SUBDIRS = '$(CLEAN_FIRST_SUBDIRS) $(filter-out $(CLEAN_FIRST_SUBDIRS),$(LOCAL_SUBDIRS))'
2000-10-02 23:37:16 +00:00
2002-05-07 03:09:19 +00:00
all-local : $( srcdir ) /configure $( LOCAL_BUILT_FILES ) $( INSTALLED_BUILT_FILES )
1999-11-23 04:49:35 +00:00
2002-11-14 18:44:13 +00:00
install-local : install -icu install -manx
2002-05-23 23:45:40 +00:00
2002-05-07 03:09:19 +00:00
install-icu : $( INSTALLED_BUILT_FILES )
2001-11-10 02:21:37 +00:00
@$( MKINSTALLDIRS) $( DESTDIR) $( pkgdatadir) /config
@$( MKINSTALLDIRS) $( DESTDIR) $( pkglibdir)
2002-06-11 22:23:05 +00:00
@$( MKINSTALLDIRS) $( DESTDIR) $( bindir)
2000-10-13 00:26:21 +00:00
@$( MKINSTALLDIRS) $( DESTDIR) $( sbindir)
2001-11-10 02:21:37 +00:00
$( INSTALL_DATA) @platform_make_fragment@ $( DESTDIR) $( pkgdatadir) /config/@platform_make_fragment_name@
2000-10-13 00:26:21 +00:00
$( INSTALL_SCRIPT) $( top_srcdir) /mkinstalldirs $( DESTDIR) $( pkgdatadir) /mkinstalldirs
2007-09-20 16:19:52 +00:00
$( INSTALL_SCRIPT) $( top_srcdir) /install-sh $( DESTDIR) $( pkgdatadir) /install-sh
2003-06-16 15:29:06 +00:00
$( INSTALL_DATA) $( top_srcdir) /../license.html $( DESTDIR) $( pkgdatadir) /license.html
2003-05-25 08:05:49 +00:00
$( INSTALL_SCRIPT) $( top_builddir) /config/icu-config $( DESTDIR) $( bindir) /icu-config
2004-11-17 20:41:21 +00:00
$( INSTALL_DATA) $( top_builddir) /config/Makefile.inc $( DESTDIR) $( pkglibdir) /Makefile.inc
2008-12-01 21:57:14 +00:00
$( INSTALL_DATA) $( top_builddir) /config/pkgdata.inc $( DESTDIR) $( pkglibdir) /pkgdata.inc
2004-11-17 20:41:21 +00:00
cd $( DESTDIR) $( pkglibdir) /..; \
$( RM) current && ln -s $( VERSION) current; \
2008-12-01 21:57:14 +00:00
$( RM) Makefile.inc && ln -s current/Makefile.inc Makefile.inc; \
$( RM) pkgdata.inc && ln -s current/pkgdata.inc pkgdata.inc
2002-05-07 03:09:19 +00:00
2001-11-11 07:22:54 +00:00
i f e q ( $( DOXYGEN ) , )
install-doc :
e l s e
2001-11-11 06:58:13 +00:00
install-doc : doc
$( RM) -r $( DESTDIR) $( docdir) /$( docsubdir)
$( MKINSTALLDIRS) $( DESTDIR) $( docdir) /$( docsubdir)
$( INSTALL_DATA) doc/html/* $( DESTDIR) $( docdir) /$( docsubdir)
2001-11-11 07:22:54 +00:00
e n d i f
1999-08-16 21:50:52 +00:00
2001-11-10 02:21:37 +00:00
$(DESTDIR)$(pkglibdir)/% : $( top_srcdir ) /../data /%
2000-07-11 17:52:01 +00:00
$( INSTALL_DATA) $< $@
2007-07-09 20:50:46 +00:00
# Build the tests, but don't run them.
tests : all
$( MAKE) -C $( top_builddir) /test
1999-08-16 21:50:52 +00:00
dist-local :
clean-local :
2000-05-15 22:32:11 +00:00
test -z " $( CLEANFILES) " || $( RMV) $( CLEANFILES)
2008-05-28 21:40:18 +00:00
$( RMV) Doxyfile doc $( DOCZIP)
1999-08-16 21:50:52 +00:00
2000-04-10 23:24:53 +00:00
distclean-local : clean -local
2008-12-01 21:57:14 +00:00
$( RMV) $( top_builddir) /config/Makefile.inc $( top_builddir) /config/pkgdata.inc $( top_builddir) /config/icu-config
2009-04-01 01:54:14 +00:00
$( RMV) config.cache config.log config.status $( top_builddir) /config/icucross.mk
2006-11-28 01:39:50 +00:00
$( RMV) Makefile config/Makefile icudefs.mk $( LIBDIR) $( BINDIR)
1999-08-16 21:50:52 +00:00
2008-12-01 21:57:14 +00:00
check-local : $( top_builddir ) /config /icu -config $( top_builddir ) /config /Makefile .inc $( top_builddir ) /config /pkgdata .inc
2008-10-10 16:52:15 +00:00
@echo verifying that icu-config --selfcheck can operate
@test "passed" = " $( shell $( top_builddir) /config/icu-config --selfcheck 2>& 1) " || ( echo "FAIL: icu-config could not run properly." ; exit 1)
@echo verifying that $( MAKE) -f Makefile.inc selfcheck can operate
@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 )
@echo "PASS: config selfcheck OK"
1999-08-16 21:50:52 +00:00
2000-01-12 01:01:46 +00:00
#$(srcdir)/configure : $(srcdir)/configure.in $(top_srcdir)/aclocal.m4
# cd $(srcdir) && $(AUTOCONF)
1999-08-16 21:50:52 +00:00
2000-10-24 19:50:20 +00:00
icudefs.mk : $( srcdir ) /icudefs .mk .in $( top_builddir ) /config .status
cd $( top_builddir) \
&& CONFIG_FILES = $( subdir) /$@ CONFIG_HEADERS = $( SHELL) ./config.status
2009-04-01 01:54:14 +00:00
config/icucross.mk : $( top_builddir ) /icudefs .mk $( top_builddir ) /Makefile
@echo rebuilding $@
@( echo " CROSS_ICU_VERSION= $( VERSION) " ; \
echo " TOOLEXEEXT= $( EXEEXT) " \
) > $@
@( echo 'TOOLBINDIR=$$(cross_buildroot)/bin' ; \
echo 'TOOLLIBDIR=$$(cross_buildroot)/lib' ; \
echo " INVOKE= $( LDLIBRARYPATH_ENVVAR) = $( LIBRARY_PATH_PREFIX) " '$$(TOOLLIBDIR):$$(cross_buildroot)/stubdata:$$(cross_buildroot)/tools/ctestfw:$$$$' " $( LDLIBRARYPATH_ENVVAR) " ; \
echo " PKGDATA_INVOKE= $( LDLIBRARYPATH_ENVVAR) = $( LIBRARY_PATH_PREFIX) " '$$(cross_buildroot)/stubdata:$$(cross_buildroot)/tools/ctestfw:$$(TOOLLIBDIR):$$$$' " $( LDLIBRARYPATH_ENVVAR) " '$$' "(PKGDATA_INVOKE_OPTS)" ; \
echo ) >> $@
2000-10-26 19:37:43 +00:00
Makefile : $( srcdir ) /Makefile .in icudefs .mk $( top_builddir ) /config .status
1999-08-16 21:50:52 +00:00
cd $( top_builddir) \
2000-08-29 07:28:22 +00:00
&& CONFIG_FILES = $( subdir) /$@ CONFIG_HEADERS = $( SHELL) ./config.status
1999-08-16 21:50:52 +00:00
2000-06-29 01:43:49 +00:00
$(top_builddir)/config/Makefile.inc : $( srcdir ) /config /Makefile .inc .in $( top_builddir ) /config .status
cd $( top_builddir) \
&& CONFIG_FILES = $@ CONFIG_HEADERS = $( SHELL) ./config.status
2008-12-01 21:57:14 +00:00
$(top_builddir)/config/pkgdata.inc : icudefs .mk $( top_builddir ) /config /pkgdataMakefile
cd $( top_builddir) /config; \
$( MAKE) -f pkgdataMakefile
$(top_builddir)/config/pkgdataMakefile :
cd $( top_builddir) \
&& CONFIG_FILES = $@ CONFIG_HEADERS = $( SHELL) ./config.status
2002-05-07 05:12:43 +00:00
$(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 /make 2sh .sed
2002-05-23 23:45:40 +00:00
-$( RMV) $@
2004-07-09 15:43:36 +00:00
$( INSTALL_SCRIPT) $( top_srcdir) /config/icu-config-top $@
2006-03-30 00:33:20 +00:00
chmod u+w $@
2002-05-07 03:09:19 +00:00
@echo "# Following from @platform_make_fragment@" >> $@
sed -f $( top_srcdir) /config/make2sh.sed < $( top_builddir) /config/Makefile.inc | grep -v '#M#' | uniq >> $@
sed -f $( top_srcdir) /config/make2sh.sed < @platform_make_fragment@ | grep -v '#M#' | uniq >> $@
cat $( top_srcdir) /config/icu-config-bottom >> $@
echo "# Rebuilt on " ` date` >> $@
2006-03-30 00:33:20 +00:00
chmod u-w $@
2002-05-07 03:09:19 +00:00
2003-02-07 00:40:17 +00:00
config.status : $( srcdir ) /configure $( srcdir ) /common /unicode /uversion .h
@echo
@echo
@echo "*** config.status has become stale ***"
@echo " 'configure' and/or 'uversion.h' have changed, please"
@echo " do 'runConfigureICU' (or 'configure') again, as per"
@echo " the readme.html."
@echo
@echo
exit 1
2000-02-16 22:38:38 +00:00
2002-05-23 23:45:40 +00:00
install-manx : $( MANX_FILES )
$( MKINSTALLDIRS) $( DESTDIR) $( mandir) /man$( SECTION)
$( INSTALL_DATA) $? $( DESTDIR) $( mandir) /man$( SECTION)
2002-06-11 22:23:05 +00:00
config/%.$(SECTION) : $( srcdir ) /config /%.$( SECTION ) .in
2002-05-23 23:45:40 +00:00
cd $( top_builddir) \
&& CONFIG_FILES = $( subdir) /$@ CONFIG_HEADERS = $( SHELL) ./config.status
2002-06-11 22:23:05 +00:00