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 10 LOCAL_IS_HOST_MODULE := true 11 12 ifeq ($(strip $(LOCAL_MODULE_CLASS)),) 13 LOCAL_MODULE_CLASS := SHARED_LIBRARIES 14 endif 15 ifeq ($(strip $(LOCAL_MODULE_SUFFIX)),) 16 LOCAL_MODULE_SUFFIX := $(HOST_SHLIB_SUFFIX) 17 endif 18 ifneq ($(strip $(OVERRIDE_BUILT_MODULE_PATH)),) 19 $(error $(LOCAL_PATH): Illegal use of OVERRIDE_BUILT_MODULE_PATH) 20 endif 21 ifneq ($(strip $(LOCAL_MODULE_STEM)$(LOCAL_BUILT_MODULE_STEM)),) 22 $(error $(LOCAL_PATH): Cannot set module stem for a library) 23 endif 24 25 $(call host-shared-library-hook) 26 27 skip_build_from_source := 28 ifdef LOCAL_PREBUILT_MODULE_FILE 29 ifeq (,$(call if-build-from-source,$(LOCAL_MODULE),$(LOCAL_PATH))) 30 include $(BUILD_PREBUILT) 31 skip_build_from_source := true 32 endif 33 endif 34 35 ifndef skip_build_from_source 36 37 # Put the built modules of all shared libraries in a common directory 38 # to simplify the link line. 39 OVERRIDE_BUILT_MODULE_PATH := $(HOST_OUT_INTERMEDIATE_LIBRARIES) 40 41 include $(BUILD_SYSTEM)/binary.mk 42 43 $(LOCAL_BUILT_MODULE): $(all_objects) $(all_libraries) $(LOCAL_ADDITIONAL_DEPENDENCIES) 44 $(transform-host-o-to-shared-lib) 45 46 endif # skip_build_from_source 47