shared_library.mk revision dcc08f073b6873c69ab891d4f69f7c568e282df7
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
10ifeq ($(strip $(LOCAL_MODULE_CLASS)),)
11LOCAL_MODULE_CLASS := SHARED_LIBRARIES
12endif
13ifeq ($(strip $(LOCAL_MODULE_SUFFIX)),)
14LOCAL_MODULE_SUFFIX := $(TARGET_SHLIB_SUFFIX)
15endif
16ifeq ($(strip $(LOCAL_PRELINK_MODULE)),)
17LOCAL_PRELINK_MODULE := $(strip $(TARGET_PRELINK_MODULE))
18endif
19ifneq ($(strip $(OVERRIDE_BUILT_MODULE_PATH)),)
20$(error $(LOCAL_PATH): Illegal use of OVERRIDE_BUILT_MODULE_PATH)
21endif
22
23# Put the built targets of all shared libraries in a common directory
24# to simplify the link line.
25OVERRIDE_BUILT_MODULE_PATH := $(TARGET_OUT_INTERMEDIATE_LIBRARIES)
26
27include $(BUILD_SYSTEM)/dynamic_binary.mk
28
29$(linked_module): $(all_objects) $(all_libraries) \
30                  $(LOCAL_ADDITIONAL_DEPENDENCIES) \
31                  $(TARGET_CRTBEGIN_SO_O) $(TARGET_CRTEND_SO_O)
32	$(transform-o-to-shared-lib)
33