blob: 0a3b317012dde3b1a8ea71bc7427d163d814b32d [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
Ying Wang6feb6d52014-04-17 10:03:35 -070010ifeq ($(strip $(LOCAL_MODULE_CLASS)),)
11LOCAL_MODULE_CLASS := SHARED_LIBRARIES
12endif
13ifeq ($(strip $(LOCAL_MODULE_SUFFIX)),)
Dan Willemsen057aaea2015-08-14 12:59:50 -070014LOCAL_MODULE_SUFFIX := $($(my_prefix)SHLIB_SUFFIX)
Ying Wang6feb6d52014-04-17 10:03:35 -070015endif
16ifneq ($(strip $(OVERRIDE_BUILT_MODULE_PATH)),)
17$(error $(LOCAL_PATH): Illegal use of OVERRIDE_BUILT_MODULE_PATH)
18endif
19ifneq ($(strip $(LOCAL_MODULE_STEM)$(LOCAL_BUILT_MODULE_STEM)),)
20$(error $(LOCAL_PATH): Cannot set module stem for a library)
21endif
22
Dan Willemsen893bebc2018-01-29 16:18:40 -080023ifdef host-shared-library-hook
Ying Wang6feb6d52014-04-17 10:03:35 -070024$(call host-shared-library-hook)
Dan Willemsen893bebc2018-01-29 16:18:40 -080025endif
Ying Wang6feb6d52014-04-17 10:03:35 -070026
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.
Dan Willemsen057aaea2015-08-14 12:59:50 -070039OVERRIDE_BUILT_MODULE_PATH := $($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)OUT_INTERMEDIATE_LIBRARIES)
Ying Wang6feb6d52014-04-17 10:03:35 -070040
41include $(BUILD_SYSTEM)/binary.mk
42
Dan Willemsen057aaea2015-08-14 12:59:50 -070043my_host_libprofile_rt := $($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)LIBPROFILE_RT)
Narayan Kamathd18e6092017-08-22 16:30:32 +010044$(LOCAL_BUILT_MODULE): PRIVATE_HOST_LIBPROFILE_RT := $(my_host_libprofile_rt)
Dan Albert343ed672015-01-25 16:20:57 -080045
Dan Albert954b5bd2014-11-08 22:20:03 -080046$(LOCAL_BUILT_MODULE): \
47 $(all_objects) \
48 $(all_libraries) \
Dan Albert954b5bd2014-11-08 22:20:03 -080049 $(LOCAL_ADDITIONAL_DEPENDENCIES)
Ying Wang6feb6d52014-04-17 10:03:35 -070050 $(transform-host-o-to-shared-lib)
51
52endif # skip_build_from_source