1
#******************************************************************************
3
# Copyright (C) 1999, International Business Machines
4
# Corporation and others. All Rights Reserved.
6
#******************************************************************************
7
## Makefile.in for ICU - icu.so
10
## Install directory information
12
top_srcdir = @top_srcdir@
16
include $(top_builddir)/icudefs.mk
18
## Platform-specific setup
19
include @platform_make_fragment@
21
## Build directory information
24
## Extra files to remove for 'make clean'
25
CLEANFILES = *~ $(DEPS)
29
ENABLE_STATIC = @ENABLE_STATIC@
30
ENABLE_SHARED = @ENABLE_SHARED@
32
ifneq ($(ENABLE_STATIC),)
33
TARGET = $(LIBICU)uc$(ICULIBSUFFIX).a
37
ifneq ($(ENABLE_SHARED),)
38
SO_TARGET = $(LIBICU)uc$(ICULIBSUFFIX).$(SO)
39
ALL_SO_TARGETS = $(SO_TARGET) $(MIDDLE_SO_TARGET) $(FINAL_SO_TARGET)
41
ifeq ($(OS390BATCH),1)
42
BATCH_TARGET = "//'${LOADMOD}(IXMI${SO_TARGET_VERSION_MAJOR}UC)'"
43
BATCH_LIBS = $(BATCH_LIBICUDT) -lm
48
ALL_TARGETS = $(TARGET) $(ALL_SO_TARGETS) $(BATCH_TARGET)
50
DYNAMICCPPFLAGS = $(SHAREDLIBCPPFLAGS)
51
DYNAMICCFLAGS = $(SHAREDLIBCFLAGS)
52
DYNAMICCXXFLAGS = $(SHAREDLIBCXXFLAGS)
55
CPPFLAGS = @CPPFLAGS@ $(LIBCPPFLAGS) -I. -I$(srcdir) -DICU_DATA_DIR=\"$(ICUDATA_DIR)/\" -DUDATA_SO_SUFFIX=\".$(SO)\" -DU_COMMON_LIBNAME=\"$(FINAL_SO_TARGET)\"
58
ENABLE_RPATH = @ENABLE_RPATH@
59
ifeq ($(ENABLE_RPATH),YES)
60
RPATHLDFLAGS = $(LD_RPATH)$(LD_RPATH_PRE)$(libdir)
63
# todo: need t make $(LIBICUDT) conditional on using dll-based data.
64
LDFLAGS = @LDFLAGS@ $(RPATHLDFLAGS)
65
LIBS = $(LIBICUDT) @LIBS@
67
# Data packaging options are set at configure time with --with-data-packaging.
68
CPPFLAGS += @DATA_PACKAGING_CPPFLAGS@
70
OBJECTS = putil.o locmap.o mutex.o umutex.o \
71
udata.o ucmndata.o udatamem.o umapfile.o filestrm.o \
72
uresbund.o uresdata.o resbund.o cwchar.o uloc.o locid.o uhash.o uhash_us.o \
73
ucnv.o ucnv_bld.o ucnv_cb.o ucnv_cnv.o ucnv_err.o ucnv_io.o ucnvlat1.o \
74
ucnv_utf.o ucnvmbcs.o ucnv2022.o ucnvhz.o ucnv_lmb.o ucnvscsu.o ucnvisci.o \
75
unistr.o utf_impl.o ustring.o ustrcase.o cstring.o ustrfmt.o ustrtrns.o \
76
normlzr.o unorm.o chariter.o schriter.o uchriter.o uiter.o \
77
uchar.o uprops.o bidi.o ubidi.o ubidiwrt.o ubidiln.o ushape.o unames.o ucln_cmn.o \
78
uscript.o umemstrm.o ucmp8.o uvector.o digitlst.o \
79
brkiter.o brkdict.o ubrk.o dbbi.o dbbi_tbl.o rbbi.o rbbi_tbl.o \
80
unicode.o scsu.o convert.o utrie.o uset.o
82
STATIC_OBJECTS = $(OBJECTS:.o=.$(STATIC_O))
84
DEPS = $(OBJECTS:.o=.d)
86
## Header files to install
87
HEADERS = unicode/*.h $(srcdir)/unicode/*.h
89
## List of phony targets
90
.PHONY : all all-local install install-local clean clean-local \
91
distclean distclean-local install-library install-headers dist \
92
dist-local check check-local
97
## List of standard targets
99
install: install-local
101
distclean : distclean-local
103
check: all check-local
105
all-local: $(ALL_TARGETS) unicode/platform.h
107
install-local: install-headers install-library
109
install-library: all-local
110
$(MKINSTALLDIRS) $(DESTDIR)$(libdir)
111
ifneq ($(ENABLE_STATIC),)
112
$(INSTALL-L) $(TARGET) $(DESTDIR)$(libdir)/$(TARGET)
114
ifneq ($(ENABLE_SHARED),)
115
$(INSTALL-L) $(FINAL_SO_TARGET) $(DESTDIR)$(libdir)/$(FINAL_SO_TARGET)
116
ifneq ($(FINAL_SO_TARGET),$(SO_TARGET))
117
cd $(DESTDIR)$(libdir) && $(RM) $(MIDDLE_SO_TARGET) && ln -s $(FINAL_SO_TARGET) $(MIDDLE_SO_TARGET)
118
cd $(DESTDIR)$(libdir) && $(RM) $(SO_TARGET) && ln -s $(FINAL_SO_TARGET) $(SO_TARGET)
123
$(MKINSTALLDIRS) $(DESTDIR)$(includedir)/unicode
124
@for file in $(HEADERS); do \
125
echo "$(INSTALL_DATA) $$file $(DESTDIR)$(includedir)/unicode"; \
126
$(INSTALL_DATA) $$file $(DESTDIR)$(includedir)/unicode || exit; \
132
test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)
133
$(RMV) $(OBJECTS) $(STATIC_OBJECTS) $(ALL_TARGETS)
135
distclean-local: clean-local
136
$(RMV) Makefile icucfg.h unicode/platform.h
140
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
142
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
144
unicode/platform.h: $(srcdir)/unicode/platform.h.in $(top_builddir)/config.status
146
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
148
ifneq ($(ENABLE_STATIC),)
149
$(TARGET): $(TARGET)($(STATIC_OBJECTS))
153
ifneq ($(ENABLE_SHARED),)
154
$(FINAL_SO_TARGET): $(OBJECTS)
155
$(SHLIB.cc) $(LD_SONAME) -o $@ $^ $(LIBS)
157
ifeq ($(OS390BATCH),1)
158
$(BATCH_TARGET): $(OBJECTS)
159
$(SHLIB.cc) $(LD_SONAME) -o $@ $^ $(BATCH_LIBS)
162
endif # ENABLE_SHARED
164
ifeq (,$(MAKECMDGOALS))
167
ifneq ($(patsubst %clean,,$(MAKECMDGOALS)),)