intl/icu/source/tools/genren/Makefile

Wed, 31 Dec 2014 07:22:50 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 07:22:50 +0100
branch
TOR_BUG_3246
changeset 4
fc2d59ddac77
permissions
-rw-r--r--

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

mercurial