1833f3ccbc8f4dd1ec8abb9121988b99ff34ec4c1Adam Lesinski#****************************************************************************** 2833f3ccbc8f4dd1ec8abb9121988b99ff34ec4c1Adam Lesinski# 3833f3ccbc8f4dd1ec8abb9121988b99ff34ec4c1Adam Lesinski# Copyright (C) 2002-2011, International Business Machines 4833f3ccbc8f4dd1ec8abb9121988b99ff34ec4c1Adam Lesinski# Corporation and others. All Rights Reserved. 5833f3ccbc8f4dd1ec8abb9121988b99ff34ec4c1Adam Lesinski# 6833f3ccbc8f4dd1ec8abb9121988b99ff34ec4c1Adam Lesinski#****************************************************************************** 7833f3ccbc8f4dd1ec8abb9121988b99ff34ec4c1Adam Lesinski 8833f3ccbc8f4dd1ec8abb9121988b99ff34ec4c1Adam LesinskiTOP=../.. 9833f3ccbc8f4dd1ec8abb9121988b99ff34ec4c1Adam Lesinski 10833f3ccbc8f4dd1ec8abb9121988b99ff34ec4c1Adam Lesinskisrcdir = . 11833f3ccbc8f4dd1ec8abb9121988b99ff34ec4c1Adam Lesinskitop_srcdir = $(TOP) 12833f3ccbc8f4dd1ec8abb9121988b99ff34ec4c1Adam Lesinskitop_builddir = $(TOP) 13833f3ccbc8f4dd1ec8abb9121988b99ff34ec4c1Adam Lesinski 14833f3ccbc8f4dd1ec8abb9121988b99ff34ec4c1Adam Lesinski# override if you have an out-of-source build (not yet working.) 15833f3ccbc8f4dd1ec8abb9121988b99ff34ec4c1Adam LesinskiBUILDDIR = $(top_builddir) 16833f3ccbc8f4dd1ec8abb9121988b99ff34ec4c1Adam Lesinski 17833f3ccbc8f4dd1ec8abb9121988b99ff34ec4c1Adam LesinskiICUDIR=ICUunrenamed 18833f3ccbc8f4dd1ec8abb9121988b99ff34ec4c1Adam Lesinski 19833f3ccbc8f4dd1ec8abb9121988b99ff34ec4c1Adam Lesinski# Extra flags to prevent internal API from being hidden. 20833f3ccbc8f4dd1ec8abb9121988b99ff34ec4c1Adam Lesinski# This is important because ELF (Linux) based platforms that don't hide internal 21833f3ccbc8f4dd1ec8abb9121988b99ff34ec4c1Adam Lesinski# API will allow a duplicate internal name to resolve to an external library. 22833f3ccbc8f4dd1ec8abb9121988b99ff34ec4c1Adam Lesinski# See the gcc manual on the "visibility" attribute for details. 23833f3ccbc8f4dd1ec8abb9121988b99ff34ec4c1Adam LesinskiFLAG_OVERRIDE= LIBCFLAGS= LIBCXXFLAGS= $(EXTRA_MAKE_OPTIONS) 24833f3ccbc8f4dd1ec8abb9121988b99ff34ec4c1Adam Lesinski 25833f3ccbc8f4dd1ec8abb9121988b99ff34ec4c1Adam Lesinski## any local overrides 26-include Makefile.local 27 28# load definition of .SO, etc (but not if we are doing 'make clean') 29ifneq ($(patsubst %clean,,$(MAKECMDGOALS)),) 30include $(BUILDDIR)/icudefs.mk 31endif 32 33COM=$(ICUDIR)/lib/libicuuc.$(SO) 34I18=$(ICUDIR)/lib/libicui18n.$(SO) 35LAY=$(ICUDIR)/lib/libicule.$(SO) 36LEX=$(ICUDIR)/lib/libiculx.$(SO) 37DAT=$(ICUDIR)/stubdata/libicudata.$(SO) 38UIO=$(ICUDIR)/lib/libicuio.$(SO) 39 40LIBS=$(COM) $(I18) $(LAY) $(LEX) $(UIO) 41 42## Targets. 43 44 45all: 46 @cat README 47 48clean: 49 -rm -rf $(ICUDIR) urename.* *~ 50 51# We use config.status to mean we have a valid out of source tree. 52 53$(ICUDIR)/config.status: 54 -mv $(ICUDIR) $(ICUDIR)old 55 -(rm -rf $(ICUDIR)old &) 56 mkdir $(ICUDIR) 57 ( cd $(ICUDIR) ; CPPFLAGS=-DU_DISABLE_RENAMING=1 $(GENREN_CONFIGURE_ENV) $(top_srcdir)/../configure --with-data-packaging=archive --enable-tests=no --prefix=`pwd` $(GENREN_CONFIGURE_OPTS) ) 58 # cause lib and bin to be created, and any other general sanity 59 $(MAKE) $(FLAG_OVERRIDE) -C $(ICUDIR) clean 60 $(MAKE) $(FLAG_OVERRIDE) -C $(ICUDIR) all-local 61 62# build the libraries 63$(DAT): $(ICUDIR)/config.status Makefile 64 $(MAKE) $(FLAG_OVERRIDE) -C $(ICUDIR)/stubdata all-local 65 66$(COM): $(DAT) $(ICUDIR)/config.status Makefile 67 $(MAKE) $(FLAG_OVERRIDE) -C $(ICUDIR)/common all-local 68 69$(I18): $(DAT) $(COM) $(ICUDIR)/config.status Makefile 70 $(MAKE) $(FLAG_OVERRIDE) -C $(ICUDIR)/i18n all-local 71 72$(LAY): $(DAT) $(I18) $(COM) $(ICUDIR)/config.status Makefile 73 $(MAKE) $(FLAG_OVERRIDE) -C $(ICUDIR)/layout all-local 74 75$(LEX): $(DAT) $(I18) $(COM) $(ICUDIR)/config.status Makefile 76 $(MAKE) $(FLAG_OVERRIDE) -C $(ICUDIR)/layoutex all-local 77 78$(UIO): $(DAT) $(I18) $(COM) $(ICUDIR)/config.status Makefile 79 $(MAKE) $(FLAG_OVERRIDE) -C $(ICUDIR)/io all-local 80 81# the header itself 82urename.h: $(LIBS) genren.pl 83 -cp urename.h urename.h.old 84 perl ./genren.pl $(GENREN_PL_OPTS) $(LIBS) 85 86# This is still here, but less useful with the "new" macro-based rename. Just use 'svn diff'. 87sorts: urename.sort urename.old.sort 88 @echo "*** Please check urename.h manually before committing it." 89 @echo "Try 'diff --side-by-side urename.old.sort urename.sort'" 90 91urename.sort: urename.h 92 sort urename.h > $@ 93 94urename.old.sort: $(top_srcdir)/common/unicode/urename.h 95 sort $(top_srcdir)/common/unicode/urename.h > $@ 96 97install-header: urename.h 98 cp urename.h $(top_srcdir)/common/unicode/ 99 @echo "*** Please check urename.h manually before committing it." 100 101