Makefile.inc 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293
  1. ## -*-makefile-*-
  2. #******************************************************************************
  3. # Copyright (C) 1999-2014, International Business Machines
  4. # Corporation and others. All Rights Reserved.
  5. #******************************************************************************
  6. # This Makefile.inc is designed to be included into projects which make use
  7. # of the ICU.
  8. # CONTENTS OF THIS FILE
  9. # 1). Base configuration information and linkage
  10. # 2). Variables giving access to ICU tools
  11. # 3). Host information
  12. # 4). Compiler flags and settings
  13. # 5). Data Packaging directives
  14. # 6). Include of platform make fragment (mh-* file)
  15. ##################################################################
  16. ##################################################################
  17. #
  18. # *1* base configuration information and linkage
  19. #
  20. ##################################################################
  21. # The PREFIX is the base of where ICU is installed.
  22. # Inside this directory you should find bin, lib, include/unicode,
  23. # etc. If ICU is not installed in this directory, you must change the
  24. # following line. There should exist $(prefix)/include/unicode/utypes.h
  25. # for example.
  26. prefix = /usr
  27. exec_prefix = /usr
  28. libdir = /usr/lib
  29. libexecdir = /usr/libexec
  30. bindir = /usr/bin
  31. datarootdir = ${prefix}/share
  32. datadir = /usr/share
  33. sbindir = /usr/sbin
  34. # about the ICU version
  35. VERSION = 57.1
  36. UNICODE_VERSION = 8.0
  37. # The prefix for ICU libraries, normally 'icu'
  38. ICUPREFIX = icu
  39. PACKAGE = icu
  40. LIBICU = lib$(ICUPREFIX)
  41. # Static library prefix and file extension
  42. STATIC_PREFIX = s
  43. LIBSICU = lib$(STATIC_PREFIX)$(ICUPREFIX)
  44. A = a
  45. # Suffix at the end of libraries. Usually empty.
  46. ICULIBSUFFIX =
  47. # ICULIBSUFFIX_VERSION is non-empty if it is to contain a library
  48. # version. For example, if it is 21, it means libraries are named
  49. # libicuuc21.so for example.
  50. # rpath links a library search path right into the binaries.
  51. ## mh-files MUST NOT override RPATHLDFLAGS unless they provide
  52. ## equivalent '#SH#' lines for icu-config fixup
  53. ENABLE_RPATH = NO
  54. ifeq ($(ENABLE_RPATH),YES)
  55. RPATHLDFLAGS = $(LD_RPATH)$(LD_RPATH_PRE)$(libdir)
  56. endif
  57. #SH## icu-config version of above 'if':
  58. #SH#case "x$ENABLE_RPATH" in
  59. #SH# x[yY]*)
  60. #SH# ENABLE_RPATH=YES
  61. #SH# RPATHLDFLAGS="${LD_RPATH}${LD_RPATH_PRE}${libdir}"
  62. #SH# ;;
  63. #SH#
  64. #SH# x[nN]*)
  65. #SH# ENABLE_RPATH=NO
  66. #SH# RPATHLDFLAGS=""
  67. #SH# ;;
  68. #SH#
  69. #SH# x)
  70. #SH# ENABLE_RPATH=NO
  71. #SH# RPATHLDFLAGS=""
  72. #SH# ;;
  73. #SH#
  74. #SH# *)
  75. #SH# echo $0: Unknown --enable-rpath value ${ENABLE_RPATH} 1>&2
  76. #SH# exit 3
  77. #SH# ;;
  78. #SH#esac
  79. # Name flexibility for the library naming scheme. Any modifications should
  80. # be made in the mh- file for the specific platform.
  81. DATA_STUBNAME = data
  82. COMMON_STUBNAME = uc
  83. I18N_STUBNAME = i18n
  84. LAYOUT_STUBNAME = le
  85. LAYOUTEX_STUBNAME = lx
  86. IO_STUBNAME = io
  87. TOOLUTIL_STUBNAME = tu
  88. CTESTFW_STUBNAME = test
  89. ### To link your application with ICU:
  90. # 1. use LDFLAGS, CFLAGS, etc from above
  91. # 2. link with $(ICULIBS)
  92. # 3. optionally, add one or more of:
  93. # - $(ICULIBS_I18N) - i18n library, formatting, etc.
  94. # - $(ICULIBS_LAYOUT) - ICU layout library.
  95. # - $(ICULIBS_ICUIO) - ICU stdio equivalent library
  96. ICULIBS_COMMON = -l$(ICUPREFIX)uc$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)
  97. ICULIBS_DATA = -l$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)
  98. ICULIBS_I18N = -l$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)
  99. ICULIBS_TOOLUTIL = -l$(ICUPREFIX)tu$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)
  100. ICULIBS_CTESTFW = -l$(ICUPREFIX)ctestfw$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)
  101. ICULIBS_ICUIO = -l$(ICUPREFIX)io$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)
  102. ICULIBS_OBSOLETE = -l$(ICUPREFIX)obsolete$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)
  103. ICULIBS_LAYOUT = -l$(ICUPREFIX)le$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)
  104. ICULIBS_LAYOUTEX = -l$(ICUPREFIX)lx$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)
  105. ICULIBS_BASE = -L$(libdir)
  106. # for icu-config to test with
  107. ICULIBS_COMMON_LIB_NAME = ${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}.${SO}
  108. ICULIBS_COMMON_LIB_NAME_A = ${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}.${A}
  109. # ICULIBS is the set of libraries your application should link
  110. # with usually. Many applications will want to add $(ICULIBS_I18N) as well.
  111. ICULIBS = $(ICULIBS_BASE) $(ICULIBS_I18N) $(ICULIBS_COMMON) $(ICULIBS_DATA)
  112. # Proper echo newline handling is needed in icu-config
  113. ECHO_N=-n
  114. ECHO_C=
  115. # Not currently being used but good to have for proper tab handling
  116. ECHO_T=
  117. ##################################################################
  118. ##################################################################
  119. #
  120. # *2* access to ICU tools
  121. #
  122. ##################################################################
  123. # Environment variable to set a runtime search path
  124. # (Overridden when necessary in -mh files)
  125. LDLIBRARYPATH_ENVVAR = LD_LIBRARY_PATH
  126. # Versioned target for a shared library
  127. FINAL_SO_TARGET = $(SO_TARGET).$(SO_TARGET_VERSION)
  128. MIDDLE_SO_TARGET = $(SO_TARGET).$(SO_TARGET_VERSION_MAJOR)
  129. # Access to important ICU tools.
  130. # Use as follows: $(INVOKE) $(GENRB) arguments ..
  131. INVOKE = $(LDLIBRARYPATH_ENVVAR)=$(libdir):$$$(LDLIBRARYPATH_ENVVAR) $(LEAK_CHECKER)
  132. GENCCODE = $(sbindir)/genccode
  133. ICUPKG = $(sbindir)/icupkg
  134. GENCMN = $(sbindir)/gencmn
  135. GENRB = $(bindir)/genrb
  136. PKGDATA = $(bindir)/pkgdata
  137. # moved here because of dependencies
  138. pkgdatadir = $(datadir)/$(PACKAGE)$(ICULIBSUFFIX)/$(VERSION)
  139. pkglibdir = $(libdir)/$(PACKAGE)$(ICULIBSUFFIX)/$(VERSION)
  140. ##################################################################
  141. ##################################################################
  142. #
  143. # *3* Information about the host
  144. #
  145. ##################################################################
  146. # Information about the host that 'configure' was run on.
  147. host = arm-unknown-linux-gnueabi
  148. host_alias = arm-linux-gnueabi
  149. host_cpu = arm
  150. host_vendor = unknown
  151. host_os = linux-gnueabi
  152. # Our platform canonical name (as determined by configure)
  153. # this is a #define value (i.e. U_XXXX or XXXX)
  154. platform = U_LINUX
  155. ##################################################################
  156. ##################################################################
  157. #
  158. # *4* compiler flags and misc. options
  159. #
  160. ##################################################################
  161. AR = arm-linux-gnueabihf-ar
  162. # initial tab keeps it out of the shell version.
  163. ARFLAGS := $(ARFLAGS)
  164. #SH#ARFLAGS=" ${ARFLAGS}"
  165. CC = arm-linux-gnueabihf-gcc -march=armv7-a -marm -mfpu=neon -mfloat-abi=hard --sysroot=/oe/bld/build-CORTEX_1/arago-tmp-external-linaro-toolchain/sysroots/am335x-evm
  166. CPP = arm-linux-gnueabihf-gcc -E --sysroot=/oe/bld/build-CORTEX_1/arago-tmp-external-linaro-toolchain/sysroots/am335x-evm -march=armv7-a -marm -mfpu=neon -mfloat-abi=hard
  167. CFLAGS =
  168. CPPFLAGS = -I$(prefix)/include
  169. CXXFLAGS = --std=c++0x
  170. CXX = arm-linux-gnueabihf-g++ -march=armv7-a -marm -mfpu=neon -mfloat-abi=hard --sysroot=/oe/bld/build-CORTEX_1/arago-tmp-external-linaro-toolchain/sysroots/am335x-evm
  171. DEFAULT_MODE = dll
  172. DEFS = -DPACKAGE_NAME=\"ICU\" -DPACKAGE_TARNAME=\"International\ Components\ for\ Unicode\" -DPACKAGE_VERSION=\"57.1\" -DPACKAGE_STRING=\"ICU\ 57.1\" -DPACKAGE_BUGREPORT=\"http://icu-project.org/bugs\" -DPACKAGE_URL=\"http://icu-project.org\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DSIZEOF_VOID_P=4 -DHAVE_LIBM=1 -DHAVE_ELF_H=1 -DHAVE_DLFCN_H=1 -DHAVE_DLOPEN=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_LIBPTHREAD=1 -DHAVE_INTTYPES_H=1 -DHAVE_DIRENT_H=1 -DHAVE_WCHAR_H=1 -DSIZEOF_WCHAR_T=4
  173. # use a consistent INSTALL
  174. INSTALL = $(SHELL) $(pkgdatadir)/install-sh -c
  175. INSTALL_DATA = ${INSTALL} -m 644
  176. INSTALL_DATA = ${INSTALL} -m 644
  177. INSTALL_PROGRAM = ${INSTALL}
  178. INSTALL_PROGRAM = ${INSTALL}
  179. INSTALL_SCRIPT = ${INSTALL}
  180. LDFLAGS = $(RPATHLDFLAGS)
  181. LIBS = -lpthread -ldl -lm
  182. LIB_M =
  183. LIB_VERSION = 57.1
  184. LIB_VERSION_MAJOR = 57
  185. MKINSTALLDIRS = $(SHELL) $(pkgdatadir)/mkinstalldirs
  186. RANLIB = arm-linux-gnueabihf-ranlib
  187. RMV = rm -rf
  188. SHELL = /bin/sh
  189. SHLIB.c= $(CC) $(DEFS) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -shared
  190. SHLIB.cc= $(CXX) $(DEFS) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -shared
  191. U_IS_BIG_ENDIAN = 0
  192. includedir = /usr/include
  193. infodir = /usr/share/info
  194. localstatedir = /var
  195. mandir = /usr/share/man
  196. oldincludedir = /usr/include
  197. program_transform_name = s,x,x,
  198. sharedstatedir = /com
  199. sysconfdir = /etc
  200. INSTALL-L = ${INSTALL_DATA}
  201. # for derivative builds - don't bother with VERBOSE/NONVERBOSE SILENT_COMPILE
  202. SILENT_COMPILE=$(1) #M#
  203. ICU_MSG=@echo " $(1) " #M#
  204. ##################################################################
  205. ##################################################################
  206. #
  207. # *5* packaging options and directories
  208. #
  209. ##################################################################
  210. # The basename of the ICU data file (i.e. icudt21b )
  211. ICUDATA_CHAR = l
  212. ICUDATA_NAME = icudt57l
  213. # Defaults for pkgdata's mode and directories
  214. # The default data dir changes depending on what packaging mode
  215. # is being used
  216. ifeq ($(strip $(PKGDATA_MODE)),)
  217. #SH# if [ "x$PKGDATA_MODE" = "x" ];
  218. #SH# then
  219. PKGDATA_MODE=dll
  220. #SH# fi
  221. endif
  222. #SH# case "$PKGDATA_MODE" in
  223. ifeq ($(PKGDATA_MODE),common)
  224. #SH# common)
  225. ICUDATA_DIR = $(pkgdatadir)
  226. ICUPKGDATA_DIR = $(ICUDATA_DIR)
  227. #SH# ;;
  228. else
  229. ifeq ($(PKGDATA_MODE),dll)
  230. #SH# dll)
  231. ICUDATA_DIR = $(pkgdatadir)
  232. ICUPKGDATA_DIR = $(libdir)
  233. #SH# ;;
  234. else
  235. #SH# *)
  236. ICUDATA_DIR = $(pkgdatadir)
  237. ICUPKGDATA_DIR = $(ICUDATA_DIR)
  238. #SH# ;;
  239. endif
  240. endif
  241. #SH# esac
  242. GENCCODE_ASSEMBLY = -a gcc
  243. ##################################################################
  244. ##################################################################
  245. #
  246. # *6* Inclusion of platform make fragment (mh-* file)
  247. #
  248. ##################################################################
  249. # The mh- file ("make fragment") for the platform is included here.
  250. # It may override the above settings.
  251. # It is put last so that the mh-file can override anything.
  252. # The selfcheck is just a sanity check that this makefile is
  253. # parseable. The mh fragment is only included if this does not occur.
  254. ifeq (selfcheck,$(MAKECMDGOALS)) #M#
  255. selfcheck: #M#
  256. @echo passed #M#
  257. else #M#
  258. include $(pkgdatadir)/config/mh-linux
  259. endif #M#