intl/icu/source/icudefs.mk.in

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/intl/icu/source/icudefs.mk.in	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,315 @@
     1.4 +# Make definitions that are shared by the different subprojects of ICU.
     1.5 +#
     1.6 +# Yves Arrouye.
     1.7 +#
     1.8 +# Copyright (C) 2000-2013, International Business Machines Corporation and others.
     1.9 +# All Rights Reserved.
    1.10 +
    1.11 +#
    1.12 +# Some of these variables are overridden in the config/mh-* files.
    1.13 +# 
    1.14 +# Please be sure to update config/Makefile.inc.in  if you add something here.
    1.15 +#
    1.16 +
    1.17 +# Shell to use
    1.18 +
    1.19 +SHELL = @SHELL@
    1.20 +
    1.21 +# Standard directories
    1.22 +
    1.23 +prefix = @prefix@
    1.24 +exec_prefix = @exec_prefix@
    1.25 +
    1.26 +bindir = @bindir@
    1.27 +sbindir = @sbindir@
    1.28 +datarootdir = @datarootdir@
    1.29 +datadir = @datadir@
    1.30 +libdir = @libdir@
    1.31 +includedir = @includedir@
    1.32 +mandir = @mandir@
    1.33 +sysconfdir = @sysconfdir@
    1.34 +# controls the include of $(top_builddir)/icucross.mk at bottom of file
    1.35 +cross_compiling = @cross_compiling@
    1.36 +cross_buildroot = @cross_buildroot@
    1.37 +
    1.38 +# Package information
    1.39 +
    1.40 +PACKAGE_ICU_DESCRIPTION = "International Components for Unicode"
    1.41 +PACKAGE_ICU_URL = "http://icu-project.org"
    1.42 +PACKAGE = @PACKAGE@
    1.43 +VERSION = @VERSION@
    1.44 +UNICODE_VERSION = @UNICODE_VERSION@
    1.45 +SO_TARGET_VERSION = @LIB_VERSION@
    1.46 +SO_TARGET_VERSION_MAJOR = @LIB_VERSION_MAJOR@
    1.47 +
    1.48 +# The ICU data external name is usually icudata; the entry point name is
    1.49 +# the version-dependent name (for no particular reason except it was easier
    1.50 +# to change the build this way). When building in common mode, the data
    1.51 +# name is the versioned platform-dependent one. 
    1.52 +
    1.53 +ICUDATA_DIR = @pkgicudatadir@/$(PACKAGE)$(ICULIBSUFFIX)/$(VERSION)
    1.54 +
    1.55 +ICUDATA_BASENAME_VERSION = $(ICUPREFIX)dt@LIB_VERSION_MAJOR@
    1.56 +# the entry point is almost like the basename, but has the lib suffix.  
    1.57 +ICUDATA_ENTRY_POINT = $(ICUPREFIX)dt@ICULIBSUFFIXCNAME@@LIB_VERSION_MAJOR@ 
    1.58 +ICUDATA_CHAR = @ICUDATA_CHAR@
    1.59 +ICUDATA_PLATFORM_NAME = $(ICUDATA_BASENAME_VERSION)$(ICUDATA_CHAR)
    1.60 +PKGDATA_LIBSTATICNAME = -L $(STATIC_PREFIX)$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)
    1.61 +ifeq ($(strip $(PKGDATA_MODE)),)
    1.62 +PKGDATA_MODE=@DATA_PACKAGING_MODE@
    1.63 +endif
    1.64 +ifeq ($(PKGDATA_MODE),common)
    1.65 +ICUDATA_NAME = $(ICUDATA_PLATFORM_NAME)
    1.66 +ICUPKGDATA_DIR = $(ICUDATA_DIR)
    1.67 +else
    1.68 +ifeq ($(PKGDATA_MODE),dll)
    1.69 +ICUDATA_NAME = $(ICUDATA_PLATFORM_NAME)
    1.70 +PKGDATA_LIBNAME = -L $(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)
    1.71 +ICUPKGDATA_DIR = $(libdir)
    1.72 +else
    1.73 +ifeq ($(PKGDATA_MODE),static)
    1.74 +ICUDATA_NAME = $(ICUDATA_PLATFORM_NAME)
    1.75 +PKGDATA_LIBNAME = -L $(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)
    1.76 +ICUPKGDATA_DIR = $(libdir)
    1.77 +else
    1.78 +ICUDATA_NAME = $(ICUDATA_PLATFORM_NAME)
    1.79 +ICUPKGDATA_DIR = $(ICUDATA_DIR)
    1.80 +endif
    1.81 +endif
    1.82 +endif
    1.83 +
    1.84 +# These are defined here because mh-cygwin-msvc needs to override these values.
    1.85 +ICUPKGDATA_INSTALL_DIR = $(DESTDIR)$(ICUPKGDATA_DIR)
    1.86 +ICUPKGDATA_INSTALL_LIBDIR = $(DESTDIR)$(libdir)
    1.87 +
    1.88 +# If defined to a valid value, pkgdata will generate a data library more quickly
    1.89 +GENCCODE_ASSEMBLY = @GENCCODE_ASSEMBLY@
    1.90 +
    1.91 +# ICU specific directories
    1.92 +
    1.93 +pkgdatadir = $(datadir)/$(PACKAGE)$(ICULIBSUFFIX)/$(VERSION)
    1.94 +pkglibdir = $(libdir)/$(PACKAGE)$(ICULIBSUFFIX)/$(VERSION)
    1.95 +pkgsysconfdir = $(sysconfdir)/$(PACKAGE)$(ICULIBSUFFIX)
    1.96 +
    1.97 +# Installation programs
    1.98 +
    1.99 +MKINSTALLDIRS = $(SHELL) $(top_srcdir)/mkinstalldirs
   1.100 +
   1.101 +INSTALL = @INSTALL@
   1.102 +INSTALL_PROGRAM = @INSTALL_PROGRAM@
   1.103 +INSTALL_DATA = @INSTALL_DATA@
   1.104 +INSTALL_SCRIPT = @INSTALL_SCRIPT@
   1.105 +
   1.106 +# Library suffix (to support different C++ compilers)
   1.107 +
   1.108 +ICULIBSUFFIX=@ICULIBSUFFIX@
   1.109 +
   1.110 +# Compiler and tools
   1.111 +
   1.112 +ENABLE_DEBUG = @ENABLE_DEBUG@
   1.113 +ENABLE_RELEASE = @ENABLE_RELEASE@
   1.114 +EXEEXT = @EXEEXT@
   1.115 +CC = @CC@
   1.116 +CXX = @CXX@
   1.117 +AR = @AR@
   1.118 +ARFLAGS = @ARFLAGS@ r
   1.119 +RANLIB = @RANLIB@
   1.120 +COMPILE_LINK_ENVVAR = @COMPILE_LINK_ENVVAR@
   1.121 +UCLN_NO_AUTO_CLEANUP = @UCLN_NO_AUTO_CLEANUP@
   1.122 +
   1.123 +# Various flags for the tools
   1.124 +
   1.125 +# DEFS is for common macro definitions.
   1.126 +# configure prevents user defined DEFS, and configure's DEFS is not needed
   1.127 +# So we ignore the DEFS that comes from configure
   1.128 +# U_ATTRIBUTE_DEPRECATED is defined to hide warnings about deprecated API warnings.
   1.129 +DEFS = -DU_ATTRIBUTE_DEPRECATED=
   1.130 +# CFLAGS is for C only flags
   1.131 +CFLAGS = @CFLAGS@
   1.132 +# CXXFLAGS is for C++ only flags
   1.133 +CXXFLAGS = @CXXFLAGS@
   1.134 +# CPPFLAGS is for C Pre-Processor flags
   1.135 +CPPFLAGS = @CPPFLAGS@
   1.136 +# LIBCFLAGS are the flags for static and shared libraries.
   1.137 +LIBCFLAGS = @LIBCFLAGS@
   1.138 +# LIBCXXFLAGS are the flags for static and shared libraries.
   1.139 +LIBCXXFLAGS = @LIBCXXFLAGS@
   1.140 +# DEFAULT_LIBS are the default libraries to link against
   1.141 +DEFAULT_LIBS = @LIBS@
   1.142 +# LIB_M is for linking against the math library
   1.143 +LIB_M = @LIB_M@
   1.144 +# LIB_THREAD is for linking against the threading library
   1.145 +LIB_THREAD = @LIB_THREAD@
   1.146 +# OUTOPT is for creating a specific output name
   1.147 +OUTOPT = -o # The extra space after the argument is needed.
   1.148 +# AR_OUTOPT is for creating a specific output name for static libraries.
   1.149 +AR_OUTOPT =
   1.150 +
   1.151 +ENABLE_RPATH = @ENABLE_RPATH@
   1.152 +ifeq ($(ENABLE_RPATH),YES)
   1.153 +RPATHLDFLAGS = $(LD_RPATH)$(LD_RPATH_PRE)$(libdir)
   1.154 +endif
   1.155 +LDFLAGS = @LDFLAGS@ $(RPATHLDFLAGS)
   1.156 +
   1.157 +# What kind of libraries are we building and linking against?
   1.158 +ENABLE_STATIC = @ENABLE_STATIC@
   1.159 +ENABLE_SHARED = @ENABLE_SHARED@
   1.160 +
   1.161 +# Echo w/o newline
   1.162 +
   1.163 +#ECHO_N = @ICU_ECHO_N@
   1.164 +#ECHO_C = @ICU_ECHO_C@
   1.165 +
   1.166 +# Commands to compile
   1.167 +COMPILE.c=    $(CC) $(CPPFLAGS) $(DEFS) $(CFLAGS) -c
   1.168 +COMPILE.cc=   $(CXX) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) -c
   1.169 +
   1.170 +# Commands to link
   1.171 +LINK.c=       $(CC) $(CFLAGS) $(LDFLAGS)
   1.172 +LINK.cc=      $(CXX) $(CXXFLAGS) $(LDFLAGS)
   1.173 +
   1.174 +# Commands to make a shared library
   1.175 +SHLIB.c=      $(CC) $(CFLAGS) $(LDFLAGS) -shared $(LD_SOOPTIONS)
   1.176 +SHLIB.cc=     $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(LD_SOOPTIONS)
   1.177 +
   1.178 +# ICU_MSG
   1.179 +ICU_MSG=@echo "   $(1)	"
   1.180 +
   1.181 +# Do not show the large compiling arguments by default.
   1.182 +# To use:
   1.183 +# change
   1.184 +#    $(CC) -o foo
   1.185 +# to
   1.186 +#    $(call SILENT_COMPILE,$(CC) -o foo)
   1.187 +ifndef VERBOSE
   1.188 +    SILENT_COMPILE=$(call ICU_MSG,$(notdir $(firstword $(1)))) "... " $< && $(1) || \
   1.189 +			( echo "*** Failed compilation command follows: ----------------------------------------------------------" ; \
   1.190 +			  echo "$(1)" ; \
   1.191 +		          echo "--- ( rebuild with \"$(MAKE) VERBOSE=1 $(MAKECMDGOALS)\" to show all parameters ) --------" ; \
   1.192 +			false )
   1.193 +else
   1.194 +    SILENT_COMPILE=$(1)
   1.195 +endif
   1.196 +
   1.197 +# Environment variable to set a runtime search path
   1.198 +LDLIBRARYPATH_ENVVAR = LD_LIBRARY_PATH
   1.199 +
   1.200 +# Versioned target for a shared library.
   1.201 +FINAL_SO_TARGET = $(SO_TARGET).$(SO_TARGET_VERSION)
   1.202 +MIDDLE_SO_TARGET = $(SO_TARGET).$(SO_TARGET_VERSION_MAJOR)
   1.203 +SHARED_OBJECT = $(FINAL_SO_TARGET)
   1.204 +
   1.205 +##  How ICU libraries are named...  ex. $(LIBICU)uc$(SO)
   1.206 +# Prefix for the ICU library names
   1.207 +ICUPREFIX = icu
   1.208 +LIBPREFIX = lib
   1.209 +LIBICU = $(LIBPREFIX)$(ICUPREFIX)
   1.210 +
   1.211 +## If we can't use the shared libraries, use the static libraries
   1.212 +ifneq ($(ENABLE_SHARED),YES)
   1.213 +STATIC_PREFIX_WHEN_USED = s
   1.214 +else
   1.215 +STATIC_PREFIX_WHEN_USED = 
   1.216 +endif
   1.217 +
   1.218 +# Static library prefix and file extension
   1.219 +STATIC_PREFIX = s
   1.220 +LIBSICU = $(LIBPREFIX)$(STATIC_PREFIX)$(ICUPREFIX)
   1.221 +A = a
   1.222 +SOBJ = $(SO)
   1.223 +
   1.224 +# Force removal [for make clean]
   1.225 +RMV = rm -rf
   1.226 +
   1.227 +# Platform commands to remove or move executable and library targets
   1.228 +# INSTALL-L installs libraries. Override in mh-* file to INSTALL_PROGRAM
   1.229 +#           when the library needs to have executable permissions
   1.230 +INSTALL-S = $(INSTALL_PROGRAM)
   1.231 +INSTALL-L = $(INSTALL_PROGRAM)
   1.232 +#INSTALL-L = $(INSTALL_DATA)
   1.233 +
   1.234 +# Location of the libraries before "make install" is used
   1.235 +LIBDIR=$(top_builddir)/lib
   1.236 +
   1.237 +# Location of the executables before "make install" is used
   1.238 +BINDIR=$(top_builddir)/bin
   1.239 +
   1.240 +# overridden by icucross.mk
   1.241 +TOOLBINDIR=$(BINDIR)
   1.242 +TOOLLIBDIR=$(LIBDIR)
   1.243 +
   1.244 +# Name flexibility for the library naming scheme.  Any modifications should
   1.245 +# be made in the mh- file for the specific platform.
   1.246 +DATA_STUBNAME = data
   1.247 +COMMON_STUBNAME = uc
   1.248 +I18N_STUBNAME = i18n
   1.249 +LAYOUT_STUBNAME = le
   1.250 +LAYOUTEX_STUBNAME = lx
   1.251 +IO_STUBNAME = io
   1.252 +TOOLUTIL_STUBNAME = tu
   1.253 +CTESTFW_STUBNAME = test
   1.254 +
   1.255 +# Just the libs.
   1.256 +ICULIBS_DT	= -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX)
   1.257 +ICULIBS_UC	= -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(COMMON_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX)
   1.258 +ICULIBS_I18N	= -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX)
   1.259 +ICULIBS_LE	= -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(LAYOUT_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX)
   1.260 +ICULIBS_LX	= -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(LAYOUTEX_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX)
   1.261 +ICULIBS_IO	= -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(IO_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX)
   1.262 +ICULIBS_CTESTFW	= -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(CTESTFW_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX)
   1.263 +ICULIBS_TOOLUTIL = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(TOOLUTIL_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX)
   1.264 +# Link commands to link to ICU libs
   1.265 +LLIBDIR		= -L$(LIBDIR)
   1.266 +LSTUBDIR	= -L$(top_builddir)/stubdata
   1.267 +LCTESTFW	= -L$(top_builddir)/tools/ctestfw
   1.268 +
   1.269 +LIBICUDT	= $(LLIBDIR) $(LSTUBDIR) $(ICULIBS_DT)
   1.270 +LIBICUUC	= $(LLIBDIR) $(ICULIBS_UC) $(LSTUBDIR) $(ICULIBS_DT)
   1.271 +LIBICUI18N	= $(LLIBDIR) $(ICULIBS_I18N)
   1.272 +LIBICULE	= $(LLIBDIR) $(ICULIBS_LE)
   1.273 +LIBICULX	= $(LLIBDIR) $(ICULIBS_LX)
   1.274 +LIBCTESTFW	= $(LCTESTFW) $(ICULIBS_CTESTFW)
   1.275 +LIBICUTOOLUTIL	= $(LLIBDIR) $(ICULIBS_TOOLUTIL)
   1.276 +LIBICUIO	= $(LLIBDIR) $(ICULIBS_IO)
   1.277 +
   1.278 +# Invoke, set library path for all ICU libraries.
   1.279 +# overridden by icucross.mk
   1.280 +INVOKE = $(LDLIBRARYPATH_ENVVAR)=$(LIBRARY_PATH_PREFIX)$(LIBDIR):$(top_builddir)/stubdata:$(top_builddir)/tools/ctestfw:$$$(LDLIBRARYPATH_ENVVAR) $(LEAK_CHECKER)
   1.281 +# prefer stubdata
   1.282 +PKGDATA_INVOKE = $(LDLIBRARYPATH_ENVVAR)=$(top_builddir)/stubdata:$(top_builddir)/tools/ctestfw:$(LIBRARY_PATH_PREFIX)$(LIBDIR):$$$(LDLIBRARYPATH_ENVVAR) $(LEAK_CHECKER)
   1.283 +INSTALLED_INVOKE = $(LDLIBRARYPATH_ENVVAR)=$(libdir):$$$(LDLIBRARYPATH_ENVVAR)
   1.284 +
   1.285 +# Current full path directory for cross compilation
   1.286 +ifneq ($(strip $(cross_buildroot)),)
   1.287 +include $(cross_buildroot)/config/icucross.inc
   1.288 +endif
   1.289 +
   1.290 +# Platform-specific setup
   1.291 +include @platform_make_fragment@
   1.292 +
   1.293 +# Current full path directory.
   1.294 +CURR_FULL_DIR?=$(shell pwd | sed 's/ /\\ /g')
   1.295 +# Current full path directory for use in source code in a -D compiler option.
   1.296 +CURR_SRCCODE_FULL_DIR?=$(shell pwd | sed 's/ /\\ /')
   1.297 +
   1.298 +# When shared libraries are disabled and static libraries are enabled,
   1.299 +# the C++ compiler must be used to link in the libraries for the tools.
   1.300 +ifneq ($(ENABLE_SHARED),YES)
   1.301 +LINK.c = $(LINK.cc)
   1.302 +endif
   1.303 +
   1.304 +# some imported things from the cross env
   1.305 +TOOLEXEEXT = $(EXEEXT)
   1.306 +ifneq ($(strip $(cross_buildroot)),)
   1.307 +include $(cross_buildroot)/config/icucross.mk
   1.308 +else
   1.309 +cross_buildroot = $(top_builddir)
   1.310 +endif
   1.311 +
   1.312 +# for tests
   1.313 +ifneq ($(TEST_STATUS_FILE),)
   1.314 +TEST_OUTPUT_OPTS="-E$(TEST_STATUS_FILE)"
   1.315 +endif
   1.316 +
   1.317 +# optional include at top
   1.318 +-include $(top_builddir)/icudefs.local

mercurial