]>
Commit | Line | Data |
---|---|---|
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 | ||
15 | SHELL = @SHELL@ | |
16 | ||
17 | # Standard directories | |
18 | ||
19 | prefix = @prefix@ | |
20 | exec_prefix = @exec_prefix@ | |
21 | ||
22 | bindir = @bindir@ | |
23 | sbindir = @sbindir@ | |
24 | datadir = @datadir@ | |
25 | libdir = @libdir@ | |
26 | includedir = @includedir@ | |
27 | mandir = @mandir@ | |
28 | sysconfdir = @sysconfdir@ | |
29 | ||
30 | # Package information | |
31 | ||
32 | PACKAGE = @PACKAGE@ | |
33 | VERSION = @VERSION@ | |
34 | UNICODE_VERSION = @UNICODE_VERSION@ | |
35 | SO_TARGET_VERSION = @LIB_VERSION@ | |
36 | SO_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 | ||
43 | ICUDATA_DIR = @pkgicudatadir@/$(PACKAGE)$(ICULIBSUFFIX)/$(VERSION) | |
44 | ||
45 | ICUDATA_BASENAME_VERSION = $(ICUPREFIX)dt@LIB_VERSION_MAJOR@ | |
46 | ICUDATA_ENTRY_POINT = $(ICUDATA_BASENAME_VERSION) | |
47 | ICUDATA_PLATFORM_NAME = $(ICUDATA_BASENAME_VERSION)@ICUDATA_CHAR@ | |
48 | ifeq ($(strip $(PKGDATA_MODE)),) | |
49 | PKGDATA_MODE=@DATA_PACKAGING_MODE@ | |
50 | endif | |
51 | ifeq ($(PKGDATA_MODE),common) | |
52 | ICUDATA_NAME = $(ICUDATA_PLATFORM_NAME) | |
53 | ICUPKGDATA_DIR = $(ICUDATA_DIR) | |
54 | else | |
55 | ifeq ($(PKGDATA_MODE),dll) | |
56 | ICUDATA_NAME = $(ICUPREFIX)data$(ICULIBSUFFIX) | |
57 | ICUPKGDATA_DIR = $(libdir) | |
58 | else | |
59 | ICUDATA_NAME = $(ICUPREFIX)data | |
60 | ICUPKGDATA_DIR = $(ICUDATA_DIR) | |
61 | endif | |
62 | endif | |
63 | ||
64 | # ICU specific directories | |
65 | ||
66 | pkgdatadir = $(datadir)/$(PACKAGE)$(ICULIBSUFFIX)/$(VERSION) | |
67 | pkglibdir = $(libdir)/$(PACKAGE)$(ICULIBSUFFIX)/$(VERSION) | |
68 | pkgsysconfdir = $(sysconfdir)/$(PACKAGE)$(ICULIBSUFFIX) | |
69 | ||
70 | # Installation programs | |
71 | ||
72 | MKINSTALLDIRS = $(SHELL) $(top_srcdir)/mkinstalldirs | |
73 | ||
74 | INSTALL = @INSTALL@ | |
75 | INSTALL_PROGRAM = @INSTALL_PROGRAM@ | |
76 | INSTALL_DATA = @INSTALL_DATA@ | |
77 | INSTALL_SCRIPT = @INSTALL_SCRIPT@ | |
78 | ||
79 | # Library suffix (to support different C++ compilers) | |
80 | ||
81 | ICULIBSUFFIX=@ICULIBSUFFIX@ | |
82 | ||
83 | # Compiler and tools | |
84 | ||
85 | EXEEXT = @EXEEXT@ | |
86 | CC = @CC@ | |
87 | CXX = @CXX@ | |
88 | AIX_SHLIB = @AIX_SHLIB@ | |
89 | AR = @AR@ | |
90 | ARFLAGS := @ARFLAGS@ $(ARFLAGS) | |
91 | RANLIB = @RANLIB@ | |
92 | COMPILE_LINK_ENVVAR = @COMPILE_LINK_ENVVAR@ | |
93 | ||
94 | # Various flags for the tools | |
95 | ||
96 | # DEFS is for common macro definitions | |
97 | DEFS = @DEFS@ | |
98 | # CFLAGS is for C only flags | |
99 | CFLAGS = @CFLAGS@ | |
100 | # CXXFLAGS is for C++ only flags | |
101 | CXXFLAGS = @CXXFLAGS@ | |
102 | # CPPFLAGS is for C Pre-Processor flags | |
103 | CPPFLAGS = @CPPFLAGS@ | |
104 | # DEFAULT_LIBS are the default libraries to link against | |
105 | DEFAULT_LIBS = @LIBS@ | |
106 | # LIB_M is for linking against the math library | |
107 | LIB_M = @LIB_M@ | |
108 | # OUTOPT is for creating a specific output name | |
109 | OUTOPT = -o | |
110 | ||
111 | ENABLE_RPATH = @ENABLE_RPATH@ | |
112 | ifeq ($(ENABLE_RPATH),YES) | |
113 | RPATHLDFLAGS = $(LD_RPATH)$(LD_RPATH_PRE)$(libdir) | |
114 | endif | |
115 | LDFLAGS = @LDFLAGS@ $(RPATHLDFLAGS) | |
116 | ||
117 | # What kind of libraries are we building and linking against? | |
118 | ENABLE_STATIC = @ENABLE_STATIC@ | |
119 | ENABLE_SHARED = @ENABLE_SHARED@ | |
120 | ||
121 | # Echo w/o newline | |
122 | ||
123 | ECHO_N = @ECHO_N@ | |
124 | ECHO_C = @ECHO_C@ | |
125 | ||
126 | # Commands to compile | |
127 | COMPILE.c= $(CC) $(CPPFLAGS) $(DEFS) $(CFLAGS) -c | |
128 | COMPILE.cc= $(CXX) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) -c | |
129 | ||
130 | # Commands to link | |
131 | LINK.c= $(CC) $(CFLAGS) $(LDFLAGS) | |
132 | LINK.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) | |
133 | ||
134 | # Commands to make a shared library | |
135 | SHLIB.c= $(CC) $(CFLAGS) $(LDFLAGS) -shared | |
136 | SHLIB.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared | |
137 | ||
138 | # Environment variable to set a runtime search path | |
139 | LDLIBRARYPATH_ENVVAR = LD_LIBRARY_PATH | |
140 | ||
141 | # Versioned target for a shared library. | |
142 | FINAL_SO_TARGET = $(SO_TARGET).$(SO_TARGET_VERSION) | |
143 | MIDDLE_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 | |
147 | ICUPREFIX = icu | |
148 | LIBICU = lib$(ICUPREFIX) | |
149 | ||
150 | # Force removal [for make clean] | |
151 | RMV = rm -rf | |
152 | # Platform commands to remove or move executable and library targets | |
153 | INSTALL-S = $(INSTALL_PROGRAM) | |
154 | INSTALL-L = $(INSTALL_DATA) | |
155 | ||
156 | # Link commands to link to ICU libs | |
157 | LIBICUDT= -L$(top_builddir)/data/out -L$(top_builddir)/stubdata -l$(ICUPREFIX)data$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX) | |
158 | LIBICUUC= -L$(top_builddir)/common -l$(ICUPREFIX)uc$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX) $(LIBICUDT) | |
159 | LIBICUI18N= -L$(top_builddir)/i18n -l$(ICUPREFIX)i18n$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX) | |
160 | LIBICULE= -L$(top_builddir)/layout -l$(ICUPREFIX)le$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX) | |
161 | LIBICULX= -L$(top_builddir)/layoutex -l$(ICUPREFIX)lx$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX) | |
162 | LIBCTESTFW= -L$(top_builddir)/tools/ctestfw -l$(ICUPREFIX)ctestfw$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX) | |
163 | LIBICUTOOLUTIL= -L$(top_builddir)/tools/toolutil -l$(ICUPREFIX)toolutil$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX) | |
164 | LIBUSTDIO= -L$(top_builddir)/extra/ustdio -licuio$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX) | |
165 | ||
166 | # Invoke, set library path for all ICU libraries. | |
167 | INVOKE = $(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 | |
170 | include @platform_make_fragment@ | |
171 |