host_shared_library.mk revision 63d94fa3056066ba7be6754356975af6a1c82981
1###########################################################
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_PREBUILT)
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 := $(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
47