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