1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/intl/icu/Makefile.in Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,80 @@ 1.4 +# This Source Code Form is subject to the terms of the Mozilla Public 1.5 +# License, v. 2.0. If a copy of the MPL was not distributed with this 1.6 +# file, You can obtain one at http://mozilla.org/MPL/2.0/. 1.7 + 1.8 +STANDALONE_MAKEFILE = 1 1.9 + 1.10 +# Ensure that this happens before including rules.mk 1.11 +ifdef ENABLE_INTL_API 1.12 + ifndef MOZ_NATIVE_ICU 1.13 + # Library names: On Windows, ICU uses modified library names for static 1.14 + # and debug libraries. 1.15 + ifeq ($(OS_ARCH),WINNT) 1.16 + ifdef MOZ_DEBUG 1.17 + ICU_LIB_SUFFIX=d 1.18 + endif 1.19 + endif # WINNT 1.20 + ifdef MOZ_SHARED_ICU 1.21 + ifeq ($(OS_ARCH),WINNT) 1.22 + ifdef JS_SHARED_LIBRARY 1.23 + ICU_FILES := $(foreach libname,$(ICU_LIB_NAMES),$(DEPTH)/intl/icu/target/lib/$(libname)$(ICU_LIB_SUFFIX)$(MOZ_ICU_VERSION).dll) 1.24 + endif 1.25 + else # ! WINNT 1.26 + ifeq ($(OS_ARCH),Darwin) 1.27 + ifdef JS_SHARED_LIBRARY 1.28 + ICU_FILES := $(foreach libname,$(ICU_LIB_NAMES),$(DEPTH)/intl/icu/target/lib/$(DLL_PREFIX)$(libname).$(MOZ_ICU_VERSION)$(DLL_SUFFIX)) 1.29 + endif 1.30 + else # ! Darwin 1.31 + ifdef JS_SHARED_LIBRARY 1.32 + ICU_FILES := $(foreach libname,$(ICU_LIB_NAMES),$(DEPTH)/intl/icu/target/lib/$(DLL_PREFIX)$(libname)$(DLL_SUFFIX).$(MOZ_ICU_VERSION)) 1.33 + endif 1.34 + endif 1.35 + endif # WINNT 1.36 + ifdef ICU_FILES 1.37 + ICU_DEST := $(DIST)/bin 1.38 + INSTALL_TARGETS += ICU 1.39 + $(ICU_FILES): buildicu 1.40 + ICU_TARGET := default 1.41 + endif 1.42 + else # !MOZ_SHARED_ICU 1.43 + ifeq ($(OS_ARCH),WINNT) 1.44 + ICU_LIB_RENAME = $(foreach libname,$(ICU_LIB_NAMES),\ 1.45 + cp -p $(DEPTH)/intl/icu/target/lib/s$(libname)$(ICU_LIB_SUFFIX).lib $(DEPTH)/intl/icu/target/lib/$(libname).lib;) 1.46 + endif 1.47 + endif # MOZ_SHARED_ICU 1.48 + endif # !MOZ_NATIVE_ICU 1.49 +endif # ENABLE_INTL_API 1.50 + 1.51 +include $(topsrcdir)/config/rules.mk 1.52 + 1.53 +ifdef ENABLE_INTL_API 1.54 +ifndef MOZ_NATIVE_ICU 1.55 +ifdef .PYMAKE 1.56 +ICU_MAKE = $(GMAKE) 1.57 +else 1.58 +ICU_MAKE = $(MAKE) 1.59 +endif 1.60 + 1.61 +default:: buildicu 1.62 + 1.63 +# - ICU requires GNU make according to its readme.html. pymake can't be used 1.64 +# because it doesn't support order only dependencies. 1.65 +# - Force ICU to use the standard suffix for object files because expandlibs 1.66 +# will discard all files with a non-standard suffix (bug 857450). 1.67 +# - Options for genrb: -k strict parsing; -R omit collation tailoring rules. 1.68 +buildicu:: 1.69 +# ICU's build system is full of races, so force non-parallel build. 1.70 +ifdef CROSS_COMPILE 1.71 + +$(ICU_MAKE) -j1 -C host STATIC_O=$(OBJ_SUFFIX) GENRBOPTS='-k -R -C' 1.72 +endif 1.73 + +$(ICU_MAKE) -j1 -C target STATIC_O=$(OBJ_SUFFIX) GENRBOPTS='-k -R' 1.74 + $(ICU_LIB_RENAME) 1.75 + 1.76 +distclean clean:: 1.77 +ifdef CROSS_COMPILE 1.78 + +$(ICU_MAKE) -C host $@ STATIC_O=$(OBJ_SUFFIX) 1.79 +endif 1.80 + +$(ICU_MAKE) -C target $@ STATIC_O=$(OBJ_SUFFIX) 1.81 + 1.82 +endif 1.83 +endif