| Index: icu46/source/icudefs.mk.in
|
| ===================================================================
|
| --- icu46/source/icudefs.mk.in (revision 0)
|
| +++ icu46/source/icudefs.mk.in (revision 0)
|
| @@ -0,0 +1,286 @@
|
| +# Make definitions that are shared by the different subprojects of ICU.
|
| +#
|
| +# Yves Arrouye.
|
| +#
|
| +# Copyright (C) 2000-2010, International Business Machines Corporation and others.
|
| +# All Rights Reserved.
|
| +
|
| +#
|
| +# Some of these variables are overridden in the config/mh-* files.
|
| +#
|
| +# Please be sure to update config/Makefile.inc.in if you add something here.
|
| +#
|
| +
|
| +# Shell to use
|
| +
|
| +SHELL = @SHELL@
|
| +
|
| +# Standard directories
|
| +
|
| +prefix = @prefix@
|
| +exec_prefix = @exec_prefix@
|
| +
|
| +bindir = @bindir@
|
| +sbindir = @sbindir@
|
| +datarootdir = @datarootdir@
|
| +datadir = @datadir@
|
| +libdir = @libdir@
|
| +includedir = @includedir@
|
| +mandir = @mandir@
|
| +sysconfdir = @sysconfdir@
|
| +# controls the include of $(top_builddir)/icucross.mk at bottom of file
|
| +cross_compiling = @cross_compiling@
|
| +cross_buildroot = @cross_buildroot@
|
| +
|
| +# Package information
|
| +
|
| +PACKAGE_ICU_DESCRIPTION = "International Components for Unicode"
|
| +PACKAGE_ICU_URL = "http://icu-project.org"
|
| +PACKAGE = @PACKAGE@
|
| +VERSION = @VERSION@
|
| +UNICODE_VERSION = @UNICODE_VERSION@
|
| +SO_TARGET_VERSION = @LIB_VERSION@
|
| +SO_TARGET_VERSION_MAJOR = @LIB_VERSION_MAJOR@
|
| +
|
| +# The ICU data external name is usually icudata; the entry point name is
|
| +# the version-dependent name (for no particular reason except it was easier
|
| +# to change the build this way). When building in common mode, the data
|
| +# name is the versioned platform-dependent one.
|
| +
|
| +ICUDATA_DIR = @pkgicudatadir@/$(PACKAGE)$(ICULIBSUFFIX)/$(VERSION)
|
| +
|
| +ICUDATA_BASENAME_VERSION = $(ICUPREFIX)dt@LIB_VERSION_MAJOR@
|
| +# the entry point is almost like the basename, but has the lib suffix.
|
| +ICUDATA_ENTRY_POINT = $(ICUPREFIX)dt@ICULIBSUFFIXCNAME@@LIB_VERSION_MAJOR@
|
| +ICUDATA_CHAR = @ICUDATA_CHAR@
|
| +ICUDATA_PLATFORM_NAME = $(ICUDATA_BASENAME_VERSION)$(ICUDATA_CHAR)
|
| +PKGDATA_LIBSTATICNAME = -L $(STATIC_PREFIX)$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)
|
| +ifeq ($(strip $(PKGDATA_MODE)),)
|
| +PKGDATA_MODE=@DATA_PACKAGING_MODE@
|
| +endif
|
| +ifeq ($(PKGDATA_MODE),common)
|
| +ICUDATA_NAME = $(ICUDATA_PLATFORM_NAME)
|
| +ICUPKGDATA_DIR = $(ICUDATA_DIR)
|
| +else
|
| +ifeq ($(PKGDATA_MODE),dll)
|
| +ICUDATA_NAME = $(ICUDATA_PLATFORM_NAME)
|
| +PKGDATA_LIBNAME = -L $(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)
|
| +ICUPKGDATA_DIR = $(libdir)
|
| +else
|
| +ifeq ($(PKGDATA_MODE),static)
|
| +ICUDATA_NAME = $(ICUDATA_PLATFORM_NAME)
|
| +PKGDATA_LIBNAME = -L $(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)
|
| +ICUPKGDATA_DIR = $(libdir)
|
| +else
|
| +ICUDATA_NAME = $(ICUDATA_PLATFORM_NAME)
|
| +ICUPKGDATA_DIR = $(ICUDATA_DIR)
|
| +endif
|
| +endif
|
| +endif
|
| +# This is needed so that make -j2 doesn't complain when invoking pkgdata's make
|
| +PKGDATA_INVOKE_OPTS = MAKEFLAGS=
|
| +
|
| +# These are defined here because mh-cygwin-msvc needs to override these values.
|
| +ICUPKGDATA_INSTALL_DIR = $(DESTDIR)$(ICUPKGDATA_DIR)
|
| +ICUPKGDATA_INSTALL_LIBDIR = $(DESTDIR)$(libdir)
|
| +
|
| +# If defined to a valid value, pkgdata will generate a data library more quickly
|
| +GENCCODE_ASSEMBLY = @GENCCODE_ASSEMBLY@
|
| +
|
| +# ICU specific directories
|
| +
|
| +pkgdatadir = $(datadir)/$(PACKAGE)$(ICULIBSUFFIX)/$(VERSION)
|
| +pkglibdir = $(libdir)/$(PACKAGE)$(ICULIBSUFFIX)/$(VERSION)
|
| +pkgsysconfdir = $(sysconfdir)/$(PACKAGE)$(ICULIBSUFFIX)
|
| +
|
| +# Installation programs
|
| +
|
| +MKINSTALLDIRS = $(SHELL) $(top_srcdir)/mkinstalldirs
|
| +
|
| +INSTALL = @INSTALL@
|
| +INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
| +INSTALL_DATA = @INSTALL_DATA@
|
| +INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
| +
|
| +# Library suffix (to support different C++ compilers)
|
| +
|
| +ICULIBSUFFIX=@ICULIBSUFFIX@
|
| +
|
| +# Compiler and tools
|
| +
|
| +ENABLE_DEBUG = @ENABLE_DEBUG@
|
| +ENABLE_RELEASE = @ENABLE_RELEASE@
|
| +EXEEXT = @EXEEXT@
|
| +CC = @CC@
|
| +CXX = @CXX@
|
| +AR = @AR@
|
| +ARFLAGS = @ARFLAGS@ r
|
| +RANLIB = @RANLIB@
|
| +COMPILE_LINK_ENVVAR = @COMPILE_LINK_ENVVAR@
|
| +UCLN_NO_AUTO_CLEANUP = @UCLN_NO_AUTO_CLEANUP@
|
| +
|
| +# Various flags for the tools
|
| +
|
| +# DEFS is for common macro definitions.
|
| +# configure prevents user defined DEFS, and configure's DEFS is not needed
|
| +# So we ignore the DEFS that comes from configure
|
| +DEFS =
|
| +# CFLAGS is for C only flags
|
| +CFLAGS = @CFLAGS@
|
| +# CXXFLAGS is for C++ only flags
|
| +CXXFLAGS = @CXXFLAGS@
|
| +# CPPFLAGS is for C Pre-Processor flags
|
| +CPPFLAGS = @CPPFLAGS@
|
| +# LIBCFLAGS are the flags for static and shared libraries.
|
| +LIBCFLAGS = @LIBCFLAGS@
|
| +# LIBCXXFLAGS are the flags for static and shared libraries.
|
| +LIBCXXFLAGS = @LIBCXXFLAGS@
|
| +# DEFAULT_LIBS are the default libraries to link against
|
| +DEFAULT_LIBS = @LIBS@
|
| +# LIB_M is for linking against the math library
|
| +LIB_M = @LIB_M@
|
| +# LIB_THREAD is for linking against the threading library
|
| +LIB_THREAD = @LIB_THREAD@
|
| +# OUTOPT is for creating a specific output name
|
| +OUTOPT = -o # The extra space after the argument is needed.
|
| +# AR_OUTOPT is for creating a specific output name for static libraries.
|
| +AR_OUTOPT =
|
| +
|
| +ENABLE_RPATH = @ENABLE_RPATH@
|
| +ifeq ($(ENABLE_RPATH),YES)
|
| +RPATHLDFLAGS = $(LD_RPATH)$(LD_RPATH_PRE)$(libdir)
|
| +endif
|
| +LDFLAGS = @LDFLAGS@ $(RPATHLDFLAGS)
|
| +
|
| +# What kind of libraries are we building and linking against?
|
| +ENABLE_STATIC = @ENABLE_STATIC@
|
| +ENABLE_SHARED = @ENABLE_SHARED@
|
| +
|
| +# Echo w/o newline
|
| +
|
| +#ECHO_N = @ICU_ECHO_N@
|
| +#ECHO_C = @ICU_ECHO_C@
|
| +
|
| +# Commands to compile
|
| +COMPILE.c= $(CC) $(CPPFLAGS) $(DEFS) $(CFLAGS) -c
|
| +COMPILE.cc= $(CXX) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) -c
|
| +
|
| +# Commands to link
|
| +LINK.c= $(CC) $(CFLAGS) $(LDFLAGS)
|
| +LINK.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS)
|
| +
|
| +# Commands to make a shared library
|
| +SHLIB.c= $(CC) $(CFLAGS) $(LDFLAGS) -shared $(LD_SOOPTIONS)
|
| +SHLIB.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(LD_SOOPTIONS)
|
| +
|
| +# Environment variable to set a runtime search path
|
| +LDLIBRARYPATH_ENVVAR = LD_LIBRARY_PATH
|
| +
|
| +# Versioned target for a shared library.
|
| +FINAL_SO_TARGET = $(SO_TARGET).$(SO_TARGET_VERSION)
|
| +MIDDLE_SO_TARGET = $(SO_TARGET).$(SO_TARGET_VERSION_MAJOR)
|
| +SHARED_OBJECT = $(FINAL_SO_TARGET)
|
| +
|
| +## How ICU libraries are named... ex. $(LIBICU)uc$(SO)
|
| +# Prefix for the ICU library names
|
| +ICUPREFIX = icu
|
| +LIBPREFIX = lib
|
| +LIBICU = $(LIBPREFIX)$(ICUPREFIX)
|
| +
|
| +## If we can't use the shared libraries, use the static libraries
|
| +ifneq ($(ENABLE_SHARED),YES)
|
| +STATIC_PREFIX_WHEN_USED = s
|
| +else
|
| +STATIC_PREFIX_WHEN_USED =
|
| +endif
|
| +
|
| +# Static library prefix and file extension
|
| +STATIC_PREFIX = s
|
| +LIBSICU = $(LIBPREFIX)$(STATIC_PREFIX)$(ICUPREFIX)
|
| +A = a
|
| +SOBJ = $(SO)
|
| +
|
| +# Force removal [for make clean]
|
| +RMV = rm -rf
|
| +
|
| +# Platform commands to remove or move executable and library targets
|
| +# INSTALL-L installs libraries. Override in mh-* file to INSTALL_PROGRAM
|
| +# when the library needs to have executable permissions
|
| +INSTALL-S = $(INSTALL_PROGRAM)
|
| +INSTALL-L = $(INSTALL_PROGRAM)
|
| +#INSTALL-L = $(INSTALL_DATA)
|
| +
|
| +# Location of the libraries before "make install" is used
|
| +LIBDIR=$(top_builddir)/lib
|
| +
|
| +# Location of the executables before "make install" is used
|
| +BINDIR=$(top_builddir)/bin
|
| +
|
| +# overridden by icucross.mk
|
| +TOOLBINDIR=$(BINDIR)
|
| +TOOLLIBDIR=$(LIBDIR)
|
| +
|
| +# Current full path directory.
|
| +CURR_FULL_DIR=$(shell pwd | sed 's/ /\\ /g')
|
| +# Current full path directory for use in source code in a -D compiler option.
|
| +CURR_SRCCODE_FULL_DIR=$(shell pwd | sed 's/ /\\ /')
|
| +
|
| +# Name flexibility for the library naming scheme. Any modifications should
|
| +# be made in the mh- file for the specific platform.
|
| +DATA_STUBNAME = data
|
| +COMMON_STUBNAME = uc
|
| +I18N_STUBNAME = i18n
|
| +LAYOUT_STUBNAME = le
|
| +LAYOUTEX_STUBNAME = lx
|
| +IO_STUBNAME = io
|
| +TOOLUTIL_STUBNAME = tu
|
| +CTESTFW_STUBNAME = test
|
| +
|
| +# Just the libs.
|
| +ICULIBS_DT = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX)
|
| +ICULIBS_UC = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(COMMON_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX)
|
| +ICULIBS_I18N = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX)
|
| +ICULIBS_LE = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(LAYOUT_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX)
|
| +ICULIBS_LX = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(LAYOUTEX_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX)
|
| +ICULIBS_IO = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(IO_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX)
|
| +ICULIBS_CTESTFW = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(CTESTFW_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX)
|
| +ICULIBS_TOOLUTIL = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(TOOLUTIL_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX)
|
| +# Link commands to link to ICU libs
|
| +LLIBDIR = -L$(LIBDIR)
|
| +LSTUBDIR = -L$(top_builddir)/stubdata
|
| +LCTESTFW = -L$(top_builddir)/tools/ctestfw
|
| +
|
| +LIBICUDT = $(LLIBDIR) $(LSTUBDIR) $(ICULIBS_DT)
|
| +LIBICUUC = $(LLIBDIR) $(ICULIBS_UC) $(LSTUBDIR) $(ICULIBS_DT)
|
| +LIBICUI18N = $(LLIBDIR) $(ICULIBS_I18N)
|
| +LIBICULE = $(LLIBDIR) $(ICULIBS_LE)
|
| +LIBICULX = $(LLIBDIR) $(ICULIBS_LX)
|
| +LIBCTESTFW = $(LCTESTFW) $(ICULIBS_CTESTFW)
|
| +LIBICUTOOLUTIL = $(LLIBDIR) $(ICULIBS_TOOLUTIL)
|
| +LIBICUIO = $(LLIBDIR) $(ICULIBS_IO)
|
| +
|
| +# Invoke, set library path for all ICU libraries.
|
| +# overridden by icucross.mk
|
| +INVOKE = $(LDLIBRARYPATH_ENVVAR)=$(LIBRARY_PATH_PREFIX)$(LIBDIR):$(top_builddir)/stubdata:$(top_builddir)/tools/ctestfw:$$$(LDLIBRARYPATH_ENVVAR) $(LEAK_CHECKER)
|
| +# prefer stubdata
|
| +PKGDATA_INVOKE = $(LDLIBRARYPATH_ENVVAR)=$(top_builddir)/stubdata:$(top_builddir)/tools/ctestfw:$(LIBRARY_PATH_PREFIX)$(LIBDIR):$$$(LDLIBRARYPATH_ENVVAR) $(LEAK_CHECKER) $(PKGDATA_INVOKE_OPTS)
|
| +
|
| +# Platform-specific setup
|
| +include @platform_make_fragment@
|
| +
|
| +# When shared libraries are disabled and static libraries are enabled,
|
| +# the C++ compiler must be used to link in the libraries for the tools.
|
| +ifneq ($(ENABLE_SHARED),YES)
|
| +LINK.c = $(LINK.cc)
|
| +endif
|
| +
|
| +# some imported things from the cross env
|
| +TOOLEXEEXT = $(EXEEXT)
|
| +ifneq ($(strip $(cross_buildroot)),)
|
| +include $(cross_buildroot)/config/icucross.mk
|
| +else
|
| +cross_buildroot = $(top_builddir)
|
| +endif
|
| +
|
| +# optional include at top
|
| +-include $(top_builddir)/icudefs.local
|
|
|