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