]> git.saurik.com Git - apple/icu.git/blame - icuSources/tools/genren/Makefile
ICU-400.37.tar.gz
[apple/icu.git] / icuSources / tools / genren / Makefile
CommitLineData
b75a7d8f
A
1#******************************************************************************
2#
46f4442e 3# Copyright (C) 2002-2008, International Business Machines
b75a7d8f
A
4# Corporation and others. All Rights Reserved.
5#
6#******************************************************************************
7
b75a7d8f 8TOP=../..
46f4442e
A
9srcdir = .
10top_srcdir = $(TOP)
11
12top_builddir = $(TOP)
13
14-include $(TOP)/icudefs.mk
15ICUDIR=ICUunrenamed
16#SO=so
b75a7d8f 17
374ca955
A
18COM=$(ICUDIR)/lib/libicuuc.$(SO)
19I18=$(ICUDIR)/lib/libicui18n.$(SO)
20LAY=$(ICUDIR)/lib/libicule.$(SO)
21LEX=$(ICUDIR)/lib/libiculx.$(SO)
b75a7d8f 22DAT=$(ICUDIR)/stubdata/libicudata.$(SO)
374ca955 23UIO=$(ICUDIR)/lib/libicuio.$(SO)
b75a7d8f
A
24
25LIBS=$(COM) $(I18) $(LAY) $(LEX) $(UIO)
26
46f4442e
A
27# Extra flags to prevent internal API from being hidden.
28# This is important because ELF (Linux) based platforms that don't hide internal
29# API will allow a duplicate internal name to resolve to an external library.
30# See the gcc manual on the "visibility" attribute for details.
31FLAG_OVERRIDE= LIBCFLAGS= LIBCXXFLAGS= $(EXTRA_MAKE_OPTIONS)
32
b75a7d8f
A
33all:
34 @cat README
35
36clean:
37 -rm -rf $(ICUDIR) urename.* *~
38
39# We use config.status to mean we have a valid out of source tree.
40
41$(ICUDIR)/config.status:
42 -mv $(ICUDIR) $(ICUDIR)old
43 -(rm -rf $(ICUDIR)old &)
44 mkdir $(ICUDIR)
46f4442e
A
45 ( cd $(ICUDIR) ; CPPFLAGS=-DURENAME_H $(TOP)/../configure --with-data-packaging=archive --enable-tests=no --prefix=`pwd` $(GENREN_CONFIGURE_OPTS) )
46 # cause lib and bin to be created, and any other general sanity
47 $(MAKE) $(FLAG_OVERRIDE) -C $(ICUDIR) clean
48 $(MAKE) $(FLAG_OVERRIDE) -C $(ICUDIR) all-local
b75a7d8f
A
49
50# build the libraries
51$(DAT): $(ICUDIR)/config.status Makefile
46f4442e 52 $(MAKE) $(FLAG_OVERRIDE) -C $(ICUDIR)/stubdata all-local
b75a7d8f
A
53
54$(COM): $(DAT) $(ICUDIR)/config.status Makefile
46f4442e 55 $(MAKE) $(FLAG_OVERRIDE) -C $(ICUDIR)/common all-local
b75a7d8f
A
56
57$(I18): $(DAT) $(COM) $(ICUDIR)/config.status Makefile
46f4442e 58 $(MAKE) $(FLAG_OVERRIDE) -C $(ICUDIR)/i18n all-local
b75a7d8f
A
59
60$(LAY): $(DAT) $(I18) $(COM) $(ICUDIR)/config.status Makefile
46f4442e 61 $(MAKE) $(FLAG_OVERRIDE) -C $(ICUDIR)/layout all-local
b75a7d8f
A
62
63$(LEX): $(DAT) $(I18) $(COM) $(ICUDIR)/config.status Makefile
46f4442e 64 $(MAKE) $(FLAG_OVERRIDE) -C $(ICUDIR)/layoutex all-local
b75a7d8f
A
65
66$(UIO): $(DAT) $(I18) $(COM) $(ICUDIR)/config.status Makefile
46f4442e 67 $(MAKE) $(FLAG_OVERRIDE) -C $(ICUDIR)/io all-local
b75a7d8f
A
68
69# the header itself
70urename.h: $(LIBS) genren.pl
71 -cp urename.h urename.h.old
46f4442e 72 perl ./genren.pl $(GENREN_PL_OPTS) $(LIBS)
b75a7d8f
A
73
74sorts: urename.sort urename.old.sort
75 @echo "*** Please check urename.h manually before committing it."
76 @echo "Try 'diff --side-by-side urename.old.sort urename.sort'"
77
78urename.sort: urename.h
79 sort urename.h > $@
80
81urename.old.sort: $(TOP)/common/unicode/urename.h
82 sort $(TOP)/common/unicode/urename.h > $@
83
84install-header: urename.h sorts
85 cp $(TOP)/common/unicode/urename.h $(TOP)/common/unicode/urename.h.old
86 cp urename.h $(TOP)/common/unicode/
87
46f4442e 88-include Makefile.local
b75a7d8f 89