]> git.saurik.com Git - apple/icu.git/blame - icuSources/icudefs.mk.in
ICU-3.13.tar.gz
[apple/icu.git] / icuSources / icudefs.mk.in
CommitLineData
b75a7d8f
A
1
2# Make definitions that are shared by the different subprojects of ICU.
3#
4# Yves Arrouye.
5#
6# Copyright (C) 2000-2003, International Business Machines Corporation and others.
7# All Rights Reserved.
8
9#
10# Some of these variables are overridden in the config/mh-* files.
11#
12
13# Shell to use
14
15SHELL = @SHELL@
16
17# Standard directories
18
19prefix = @prefix@
20exec_prefix = @exec_prefix@
21
22bindir = @bindir@
23sbindir = @sbindir@
24datadir = @datadir@
25libdir = @libdir@
26includedir = @includedir@
27mandir = @mandir@
28sysconfdir = @sysconfdir@
29
30# Package information
31
32PACKAGE = @PACKAGE@
33VERSION = @VERSION@
34UNICODE_VERSION = @UNICODE_VERSION@
35SO_TARGET_VERSION = @LIB_VERSION@
36SO_TARGET_VERSION_MAJOR = @LIB_VERSION_MAJOR@
37
38# The ICU data external name is usually icudata; the entry point name is
39# the version-dependent name (for no particula reason except it was easier
40# to change the build this way). When building in common mode, the data
41# name is the versioned platform-dependent one.
42
43ICUDATA_DIR = @pkgicudatadir@/$(PACKAGE)$(ICULIBSUFFIX)/$(VERSION)
44
45ICUDATA_BASENAME_VERSION = $(ICUPREFIX)dt@LIB_VERSION_MAJOR@
46ICUDATA_ENTRY_POINT = $(ICUDATA_BASENAME_VERSION)
47ICUDATA_PLATFORM_NAME = $(ICUDATA_BASENAME_VERSION)@ICUDATA_CHAR@
48ifeq ($(strip $(PKGDATA_MODE)),)
49PKGDATA_MODE=@DATA_PACKAGING_MODE@
50endif
51ifeq ($(PKGDATA_MODE),common)
52ICUDATA_NAME = $(ICUDATA_PLATFORM_NAME)
53ICUPKGDATA_DIR = $(ICUDATA_DIR)
54else
55ifeq ($(PKGDATA_MODE),dll)
56ICUDATA_NAME = $(ICUPREFIX)data$(ICULIBSUFFIX)
57ICUPKGDATA_DIR = $(libdir)
58else
59ICUDATA_NAME = $(ICUPREFIX)data
60ICUPKGDATA_DIR = $(ICUDATA_DIR)
61endif
62endif
63
64# ICU specific directories
65
66pkgdatadir = $(datadir)/$(PACKAGE)$(ICULIBSUFFIX)/$(VERSION)
67pkglibdir = $(libdir)/$(PACKAGE)$(ICULIBSUFFIX)/$(VERSION)
68pkgsysconfdir = $(sysconfdir)/$(PACKAGE)$(ICULIBSUFFIX)
69
70# Installation programs
71
72MKINSTALLDIRS = $(SHELL) $(top_srcdir)/mkinstalldirs
73
74INSTALL = @INSTALL@
75INSTALL_PROGRAM = @INSTALL_PROGRAM@
76INSTALL_DATA = @INSTALL_DATA@
77INSTALL_SCRIPT = @INSTALL_SCRIPT@
78
79# Library suffix (to support different C++ compilers)
80
81ICULIBSUFFIX=@ICULIBSUFFIX@
82
83# Compiler and tools
84
85EXEEXT = @EXEEXT@
86CC = @CC@
87CXX = @CXX@
88AIX_SHLIB = @AIX_SHLIB@
89AR = @AR@
90ARFLAGS := @ARFLAGS@ $(ARFLAGS)
91RANLIB = @RANLIB@
92COMPILE_LINK_ENVVAR = @COMPILE_LINK_ENVVAR@
93
94# Various flags for the tools
95
96# DEFS is for common macro definitions
97DEFS = @DEFS@
98# CFLAGS is for C only flags
99CFLAGS = @CFLAGS@
100# CXXFLAGS is for C++ only flags
101CXXFLAGS = @CXXFLAGS@
102# CPPFLAGS is for C Pre-Processor flags
103CPPFLAGS = @CPPFLAGS@
104# DEFAULT_LIBS are the default libraries to link against
105DEFAULT_LIBS = @LIBS@
106# LIB_M is for linking against the math library
107LIB_M = @LIB_M@
108# OUTOPT is for creating a specific output name
109OUTOPT = -o
110
111ENABLE_RPATH = @ENABLE_RPATH@
112ifeq ($(ENABLE_RPATH),YES)
113RPATHLDFLAGS = $(LD_RPATH)$(LD_RPATH_PRE)$(libdir)
114endif
115LDFLAGS = @LDFLAGS@ $(RPATHLDFLAGS)
116
117# What kind of libraries are we building and linking against?
118ENABLE_STATIC = @ENABLE_STATIC@
119ENABLE_SHARED = @ENABLE_SHARED@
120
121# Echo w/o newline
122
123ECHO_N = @ECHO_N@
124ECHO_C = @ECHO_C@
125
126# Commands to compile
127COMPILE.c= $(CC) $(CPPFLAGS) $(DEFS) $(CFLAGS) -c
128COMPILE.cc= $(CXX) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) -c
129
130# Commands to link
131LINK.c= $(CC) $(CFLAGS) $(LDFLAGS)
132LINK.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS)
133
134# Commands to make a shared library
135SHLIB.c= $(CC) $(CFLAGS) $(LDFLAGS) -shared
136SHLIB.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared
137
138# Environment variable to set a runtime search path
139LDLIBRARYPATH_ENVVAR = LD_LIBRARY_PATH
140
141# Versioned target for a shared library.
142FINAL_SO_TARGET = $(SO_TARGET).$(SO_TARGET_VERSION)
143MIDDLE_SO_TARGET = $(SO_TARGET).$(SO_TARGET_VERSION_MAJOR)
144
145## How ICU libraries are named... ex. $(LIBICU)uc$(SO)
146# Prefix for the ICU library names
147ICUPREFIX = icu
148LIBICU = lib$(ICUPREFIX)
149
150# Force removal [for make clean]
151RMV = rm -rf
152# Platform commands to remove or move executable and library targets
153INSTALL-S = $(INSTALL_PROGRAM)
154INSTALL-L = $(INSTALL_DATA)
155
156# Link commands to link to ICU libs
157LIBICUDT= -L$(top_builddir)/data/out -L$(top_builddir)/stubdata -l$(ICUPREFIX)data$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX)
158LIBICUUC= -L$(top_builddir)/common -l$(ICUPREFIX)uc$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX) $(LIBICUDT)
159LIBICUI18N= -L$(top_builddir)/i18n -l$(ICUPREFIX)i18n$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX)
160LIBICULE= -L$(top_builddir)/layout -l$(ICUPREFIX)le$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX)
161LIBICULX= -L$(top_builddir)/layoutex -l$(ICUPREFIX)lx$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX)
162LIBCTESTFW= -L$(top_builddir)/tools/ctestfw -l$(ICUPREFIX)ctestfw$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX)
163LIBICUTOOLUTIL= -L$(top_builddir)/tools/toolutil -l$(ICUPREFIX)toolutil$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX)
164LIBUSTDIO= -L$(top_builddir)/extra/ustdio -licuio$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX)
165
166# Invoke, set library path for all ICU libraries.
167INVOKE = $(LDLIBRARYPATH_ENVVAR)=$(top_builddir)/common:$(top_builddir)/i18n:$(top_builddir)/tools/toolutil:$(top_builddir)/layout:$(top_builddir)/layoutex:$(top_builddir)/extra/ustdio:$(top_builddir)/tools/ctestfw:$(top_builddir)/data/out:$(top_builddir)/data:$(top_builddir)/stubdata/:$$$(LDLIBRARYPATH_ENVVAR) $(LEAK_CHECKER)
168
169# Platform-specific setup
170include @platform_make_fragment@
171