Wed, 31 Dec 2014 07:22:50 +0100
Correct previous dual key logic pending first delivery installment.
michael@0 | 1 | #****************************************************************************** |
michael@0 | 2 | # |
michael@0 | 3 | # Copyright (C) 2002-2011, International Business Machines |
michael@0 | 4 | # Corporation and others. All Rights Reserved. |
michael@0 | 5 | # |
michael@0 | 6 | #****************************************************************************** |
michael@0 | 7 | |
michael@0 | 8 | TOP=../.. |
michael@0 | 9 | |
michael@0 | 10 | srcdir = . |
michael@0 | 11 | top_srcdir = $(TOP) |
michael@0 | 12 | top_builddir = $(TOP) |
michael@0 | 13 | |
michael@0 | 14 | # override if you have an out-of-source build (not yet working.) |
michael@0 | 15 | BUILDDIR = $(top_builddir) |
michael@0 | 16 | |
michael@0 | 17 | ICUDIR=ICUunrenamed |
michael@0 | 18 | |
michael@0 | 19 | # Extra flags to prevent internal API from being hidden. |
michael@0 | 20 | # This is important because ELF (Linux) based platforms that don't hide internal |
michael@0 | 21 | # API will allow a duplicate internal name to resolve to an external library. |
michael@0 | 22 | # See the gcc manual on the "visibility" attribute for details. |
michael@0 | 23 | FLAG_OVERRIDE= LIBCFLAGS= LIBCXXFLAGS= $(EXTRA_MAKE_OPTIONS) |
michael@0 | 24 | |
michael@0 | 25 | ## any local overrides |
michael@0 | 26 | -include Makefile.local |
michael@0 | 27 | |
michael@0 | 28 | # load definition of .SO, etc (but not if we are doing 'make clean') |
michael@0 | 29 | ifneq ($(patsubst %clean,,$(MAKECMDGOALS)),) |
michael@0 | 30 | include $(BUILDDIR)/icudefs.mk |
michael@0 | 31 | endif |
michael@0 | 32 | |
michael@0 | 33 | COM=$(ICUDIR)/lib/libicuuc.$(SO) |
michael@0 | 34 | I18=$(ICUDIR)/lib/libicui18n.$(SO) |
michael@0 | 35 | LAY=$(ICUDIR)/lib/libicule.$(SO) |
michael@0 | 36 | LEX=$(ICUDIR)/lib/libiculx.$(SO) |
michael@0 | 37 | DAT=$(ICUDIR)/stubdata/libicudata.$(SO) |
michael@0 | 38 | UIO=$(ICUDIR)/lib/libicuio.$(SO) |
michael@0 | 39 | |
michael@0 | 40 | LIBS=$(COM) $(I18) $(LAY) $(LEX) $(UIO) |
michael@0 | 41 | |
michael@0 | 42 | ## Targets. |
michael@0 | 43 | |
michael@0 | 44 | |
michael@0 | 45 | all: |
michael@0 | 46 | @cat README |
michael@0 | 47 | |
michael@0 | 48 | clean: |
michael@0 | 49 | -rm -rf $(ICUDIR) urename.* *~ |
michael@0 | 50 | |
michael@0 | 51 | # We use config.status to mean we have a valid out of source tree. |
michael@0 | 52 | |
michael@0 | 53 | $(ICUDIR)/config.status: |
michael@0 | 54 | -mv $(ICUDIR) $(ICUDIR)old |
michael@0 | 55 | -(rm -rf $(ICUDIR)old &) |
michael@0 | 56 | mkdir $(ICUDIR) |
michael@0 | 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) ) |
michael@0 | 58 | # cause lib and bin to be created, and any other general sanity |
michael@0 | 59 | $(MAKE) $(FLAG_OVERRIDE) -C $(ICUDIR) clean |
michael@0 | 60 | $(MAKE) $(FLAG_OVERRIDE) -C $(ICUDIR) all-local |
michael@0 | 61 | |
michael@0 | 62 | # build the libraries |
michael@0 | 63 | $(DAT): $(ICUDIR)/config.status Makefile |
michael@0 | 64 | $(MAKE) $(FLAG_OVERRIDE) -C $(ICUDIR)/stubdata all-local |
michael@0 | 65 | |
michael@0 | 66 | $(COM): $(DAT) $(ICUDIR)/config.status Makefile |
michael@0 | 67 | $(MAKE) $(FLAG_OVERRIDE) -C $(ICUDIR)/common all-local |
michael@0 | 68 | |
michael@0 | 69 | $(I18): $(DAT) $(COM) $(ICUDIR)/config.status Makefile |
michael@0 | 70 | $(MAKE) $(FLAG_OVERRIDE) -C $(ICUDIR)/i18n all-local |
michael@0 | 71 | |
michael@0 | 72 | $(LAY): $(DAT) $(I18) $(COM) $(ICUDIR)/config.status Makefile |
michael@0 | 73 | $(MAKE) $(FLAG_OVERRIDE) -C $(ICUDIR)/layout all-local |
michael@0 | 74 | |
michael@0 | 75 | $(LEX): $(DAT) $(I18) $(COM) $(ICUDIR)/config.status Makefile |
michael@0 | 76 | $(MAKE) $(FLAG_OVERRIDE) -C $(ICUDIR)/layoutex all-local |
michael@0 | 77 | |
michael@0 | 78 | $(UIO): $(DAT) $(I18) $(COM) $(ICUDIR)/config.status Makefile |
michael@0 | 79 | $(MAKE) $(FLAG_OVERRIDE) -C $(ICUDIR)/io all-local |
michael@0 | 80 | |
michael@0 | 81 | # the header itself |
michael@0 | 82 | urename.h: $(LIBS) genren.pl |
michael@0 | 83 | -cp urename.h urename.h.old |
michael@0 | 84 | perl ./genren.pl $(GENREN_PL_OPTS) $(LIBS) |
michael@0 | 85 | |
michael@0 | 86 | # This is still here, but less useful with the "new" macro-based rename. Just use 'svn diff'. |
michael@0 | 87 | sorts: urename.sort urename.old.sort |
michael@0 | 88 | @echo "*** Please check urename.h manually before committing it." |
michael@0 | 89 | @echo "Try 'diff --side-by-side urename.old.sort urename.sort'" |
michael@0 | 90 | |
michael@0 | 91 | urename.sort: urename.h |
michael@0 | 92 | sort urename.h > $@ |
michael@0 | 93 | |
michael@0 | 94 | urename.old.sort: $(top_srcdir)/common/unicode/urename.h |
michael@0 | 95 | sort $(top_srcdir)/common/unicode/urename.h > $@ |
michael@0 | 96 | |
michael@0 | 97 | install-header: urename.h |
michael@0 | 98 | cp urename.h $(top_srcdir)/common/unicode/ |
michael@0 | 99 | @echo "*** Please check urename.h manually before committing it." |
michael@0 | 100 |