scuffed-code/icu4c/source/common/Makefile.in
Yves Arrouye 2cf8109556 ICU-3 initial support for static libraries. The current problems are:
- pkgdata will still generate a dll (not a problem if you use files or the
mappable archive).
- because of referecences to ostream in ustring, the linker wants to resolve
these symbols, forcing us to use a C++ compiler to link C programs. That is
bad and need to be resolved.
- if you build static, then reconfigure w/o them and do make clean, the
static libraries will be left over.

Static is controlled by --enable-static. Shared libraries can be disabled
with --disable-shared.

X-SVN-Rev: 2494
2000-09-22 22:58:36 +00:00

172 lines
4.4 KiB
Makefile

#******************************************************************************
#
# Copyright (C) 1999, International Business Machines
# Corporation and others. All Rights Reserved.
#
#******************************************************************************
## Makefile.in for ICU - icu.so
## Stephen F. Booth
## Shell to use
SHELL = @SHELL@
## Install directory information
srcdir = @srcdir@
top_srcdir = @top_srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
datadir = @datadir@
libdir = @libdir@
includedir = @includedir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
## Install program information
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
## Compiler/tools information
CC = @CC@
CXX = @CXX@
PACKAGE = @PACKAGE@
SO_TARGET_VERSION = @VERSION@
SO_TARGET_VERSION_MAJOR = @VERSION_MAJOR@
VERSION = @VERSION@
## Platform-specific setup
@host_frag@
## Build directory information
top_builddir = ..
subdir = common
## Extra files to remove for 'make clean'
CLEANFILES = *~
## Target information
ENABLE_STATIC = @ENABLE_STATIC@
ENABLE_SHARED = @ENABLE_SHARED@
ifneq ($(ENABLE_STATIC),)
TARGET = $(LIBICU)uc.a
RANLIB = @RANLIB@
endif
ifneq ($(ENABLE_SHARED),)
SO_TARGET = $(LIBICU)uc.$(SO)
ALL_SO_TARGETS = $(SO_TARGET) $(MIDDLE_SO_TARGET) $(FINAL_SO_TARGET)
endif
ALL_TARGETS = $(TARGET) $(ALL_SO_TARGETS)
DEFS = @DEFS@
CPPFLAGS = @CPPFLAGS@ -I. -I$(srcdir) -DICU_DATA_DIR=\"$(pkgdatadir)/$(VERSION)/\" -DUDATA_SO_SUFFIX=\".$(SO)\" -DU_COMMON_LIBNAME=\"$(FINAL_SO_TARGET)\"
CFLAGS = @CFLAGS@
CXXFLAGS = @CXXFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
# Data packaging options are set at configure time with --with-data-packaging.
CPPFLAGS += @DATA_PACKAGING_CPPFLAGS@
OBJECTS = chariter.o umutex.o compdata.o compitr.o convert.o \
cpputils.o cstring.o dcmpdata.o digitlst.o filestrm.o umemstrm.o locid.o locmap.o \
mutex.o normlzr.o putil.o resbund.o schriter.o scsu.o \
uchar.o uchriter.o ucmp8.o ucmp16.o ucmp32.o ucnv.o ucnv_bld.o ucnv_cb.o \
ucnv_cnv.o ucnv_err.o ucnv_io.o uhash.o uhash_us.o uloc.o unicode.o unistr.o \
uresbund.o uresdata.o ustring.o rbdata.o ubidi.o ubidiwrt.o ubidiln.o \
bidi.o ushape.o uvector.o udata.o unames.o utf_impl.o \
ucnv2022.o ucnvebdc.o ucnvlat1.o ucnv_utf.o ucnvsbcs.o ucnvmbcs.o ucnv_lmb.o
DEPS = $(OBJECTS:.o=.d)
## Header files to install
HEADERS = unicode/*.h $(srcdir)/unicode/*.h
## List of phony targets
.PHONY : all all-local install install-local clean clean-local \
distclean distclean-local install-library install-headers dist \
dist-local check check-local
## Clear suffix list
.SUFFIXES :
## List of standard targets
all: all-local
install: install-local
clean: clean-local
distclean : distclean-local
dist: dist-local
check: all check-local
all-local: $(ALL_TARGETS)
install-local: install-headers install-library
install-library: all-local
$(mkinstalldirs) $(DESTDIR)$(libdir)
ifneq ($(ENABLE_SHARED),)
$(INSTALL-S) $(TARGET) $(DESTDIR)$(libdir)/$(TARGET)
endif
ifneq ($(ENABLE_SHARED),)
$(INSTALL-S) $(FINAL_SO_TARGET) $(DESTDIR)$(libdir)/$(FINAL_SO_TARGET)
ifneq ($(FINAL_SO_TARGET),$(SO_TARGET))
cd $(DESTDIR)$(libdir) && $(RM) $(MIDDLE_SO_TARGET) && ln -s $(FINAL_SO_TARGET) $(MIDDLE_SO_TARGET)
cd $(DESTDIR)$(libdir) && $(RM) $(SO_TARGET) && ln -s $(FINAL_SO_TARGET) $(SO_TARGET)
endif
endif
install-headers:
$(mkinstalldirs) $(DESTDIR)$(includedir)/unicode
@for file in $(HEADERS); do \
echo "$(INSTALL_DATA) $$file $(DESTDIR)$(includedir)/unicode"; \
$(INSTALL_DATA) $$file $(DESTDIR)$(includedir)/unicode || exit; \
done
dist-local:
clean-local:
test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)
$(RMV) $(OBJECTS) $(ALL_TARGETS)
distclean-local: clean-local
$(RMV) Makefile $(DEPS)
check-local:
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
unicode/platform.h: $(srcdir)/unicode/platform.h.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
ifneq ($(ENABLE_STATIC),)
$(TARGET): $(TARGET)($(OBJECTS))
$(RANLIB) $@
endif
ifneq ($(ENABLE_SHARED),)
$(FINAL_SO_TARGET): $(OBJECTS)
$(SHLIB.cc) $(LD_SONAME) -o $@ $^ $(LIBS)
endif
ifeq (,$(MAKECMDGOALS))
-include $(DEPS)
else
ifneq ($(patsubst %clean,,$(MAKECMDGOALS)),)
-include $(DEPS)
endif
endif