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 |