#******************************************************************************
#
-# Copyright (C) 2002-2004, International Business Machines
+# Copyright (C) 2002-2008, International Business Machines
# Corporation and others. All Rights Reserved.
#
#******************************************************************************
-ICUDIR=ICUunrenamed
TOP=../..
-SO=so
+srcdir = .
+top_srcdir = $(TOP)
+
+top_builddir = $(TOP)
+
+-include $(TOP)/icudefs.mk
+ICUDIR=ICUunrenamed
+#SO=so
COM=$(ICUDIR)/lib/libicuuc.$(SO)
I18=$(ICUDIR)/lib/libicui18n.$(SO)
LIBS=$(COM) $(I18) $(LAY) $(LEX) $(UIO)
+# Extra flags to prevent internal API from being hidden.
+# This is important because ELF (Linux) based platforms that don't hide internal
+# API will allow a duplicate internal name to resolve to an external library.
+# See the gcc manual on the "visibility" attribute for details.
+FLAG_OVERRIDE= LIBCFLAGS= LIBCXXFLAGS= $(EXTRA_MAKE_OPTIONS)
+
all:
@cat README
-mv $(ICUDIR) $(ICUDIR)old
-(rm -rf $(ICUDIR)old &)
mkdir $(ICUDIR)
- ( cd $(ICUDIR) ; CPPFLAGS=-DURENAME_H $(TOP)/../configure --with-data-packaging=archive --enable-layout=yes --enable-tests=no --enable-extras=yes --prefix=`pwd` $(GENREN_CONFIGURE_OPTS) )
+ ( cd $(ICUDIR) ; CPPFLAGS=-DURENAME_H $(TOP)/../configure --with-data-packaging=archive --enable-tests=no --prefix=`pwd` $(GENREN_CONFIGURE_OPTS) )
+ # cause lib and bin to be created, and any other general sanity
+ $(MAKE) $(FLAG_OVERRIDE) -C $(ICUDIR) clean
+ $(MAKE) $(FLAG_OVERRIDE) -C $(ICUDIR) all-local
# build the libraries
$(DAT): $(ICUDIR)/config.status Makefile
- gmake -C $(ICUDIR)/stubdata libicudata.$(SO)
+ $(MAKE) $(FLAG_OVERRIDE) -C $(ICUDIR)/stubdata all-local
$(COM): $(DAT) $(ICUDIR)/config.status Makefile
- gmake -C $(ICUDIR)/common libicuuc.$(SO)
+ $(MAKE) $(FLAG_OVERRIDE) -C $(ICUDIR)/common all-local
$(I18): $(DAT) $(COM) $(ICUDIR)/config.status Makefile
- gmake -C $(ICUDIR)/i18n libicui18n.$(SO)
+ $(MAKE) $(FLAG_OVERRIDE) -C $(ICUDIR)/i18n all-local
$(LAY): $(DAT) $(I18) $(COM) $(ICUDIR)/config.status Makefile
- gmake -C $(ICUDIR)/layout libicule.$(SO)
+ $(MAKE) $(FLAG_OVERRIDE) -C $(ICUDIR)/layout all-local
$(LEX): $(DAT) $(I18) $(COM) $(ICUDIR)/config.status Makefile
- gmake -C $(ICUDIR)/layoutex libiculx.$(SO)
+ $(MAKE) $(FLAG_OVERRIDE) -C $(ICUDIR)/layoutex all-local
$(UIO): $(DAT) $(I18) $(COM) $(ICUDIR)/config.status Makefile
- gmake -C $(ICUDIR)/extra/ustdio libicuio.$(SO)
+ $(MAKE) $(FLAG_OVERRIDE) -C $(ICUDIR)/io all-local
# the header itself
urename.h: $(LIBS) genren.pl
-cp urename.h urename.h.old
- perl ./genren.pl $(LIBS)
+ perl ./genren.pl $(GENREN_PL_OPTS) $(LIBS)
sorts: urename.sort urename.old.sort
@echo "*** Please check urename.h manually before committing it."
cp $(TOP)/common/unicode/urename.h $(TOP)/common/unicode/urename.h.old
cp urename.h $(TOP)/common/unicode/
+-include Makefile.local