blob: d9769d384601ef913e4908e0ac7f09d2d13c769b [file] [log] [blame]
Ying Wang6feb6d52014-04-17 10:03:35 -07001###########################################################
2## Standard rules for building a normal shared library.
3##
4## Additional inputs from base_rules.make:
5## None.
6##
7## LOCAL_MODULE_SUFFIX will be set for you.
8###########################################################
9
10LOCAL_IS_HOST_MODULE := true
11
12ifeq ($(strip $(LOCAL_MODULE_CLASS)),)
13LOCAL_MODULE_CLASS := SHARED_LIBRARIES
14endif
15ifeq ($(strip $(LOCAL_MODULE_SUFFIX)),)
16LOCAL_MODULE_SUFFIX := $(HOST_SHLIB_SUFFIX)
17endif
18ifneq ($(strip $(OVERRIDE_BUILT_MODULE_PATH)),)
19$(error $(LOCAL_PATH): Illegal use of OVERRIDE_BUILT_MODULE_PATH)
20endif
21ifneq ($(strip $(LOCAL_MODULE_STEM)$(LOCAL_BUILT_MODULE_STEM)),)
22$(error $(LOCAL_PATH): Cannot set module stem for a library)
23endif
24
25$(call host-shared-library-hook)
26
27skip_build_from_source :=
28ifdef LOCAL_PREBUILT_MODULE_FILE
29ifeq (,$(call if-build-from-source,$(LOCAL_MODULE),$(LOCAL_PATH)))
30include $(BUILD_SYSTEM)/prebuilt_internal.mk
31skip_build_from_source := true
32endif
33endif
34
35ifndef skip_build_from_source
36
37# Put the built modules of all shared libraries in a common directory
38# to simplify the link line.
39OVERRIDE_BUILT_MODULE_PATH := $($(LOCAL_2ND_ARCH_VAR_PREFIX)HOST_OUT_INTERMEDIATE_LIBRARIES)
40
41include $(BUILD_SYSTEM)/binary.mk
42
43$(LOCAL_BUILT_MODULE): $(all_objects) $(all_libraries) $(LOCAL_ADDITIONAL_DEPENDENCIES)
44 $(transform-host-o-to-shared-lib)
45
46endif # skip_build_from_source