You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
89 lines
2.7 KiB
89 lines
2.7 KiB
4 months ago
|
ifneq ($(filter $(YOUR_DEVICE_NAME),$(TARGET_DEVICE)),)
|
||
|
|
||
|
|
||
|
VNDK_SP_LIBRARIES := ##_VNDK_SP_##
|
||
|
|
||
|
VNDK_SP_EXT_LIBRARIES := ##_VNDK_SP_EXT_##
|
||
|
|
||
|
EXTRA_VENDOR_LIBRARIES := ##_EXTRA_VENDOR_LIBS_##
|
||
|
|
||
|
# FIXME: Generate INSTALL_IN_HW_SUBDIR automatically
|
||
|
INSTALL_IN_HW_SUBDIR := android.hidl.memory@1.0-impl
|
||
|
|
||
|
|
||
|
#-------------------------------------------------------------------------------
|
||
|
# VNDK Modules
|
||
|
#-------------------------------------------------------------------------------
|
||
|
|
||
|
# Start from Android P, VNDK directory will always be versioned.
|
||
|
ifdef PLATFORM_VNDK_VERSION
|
||
|
VNDK_SP_DIR := vndk-sp-$(PLATFORM_VNDK_VERSION)
|
||
|
else
|
||
|
VNDK_SP_DIR := vndk-sp
|
||
|
endif
|
||
|
|
||
|
LOCAL_PATH := $(call my-dir)
|
||
|
|
||
|
define define-vndk-lib
|
||
|
include $$(CLEAR_VARS)
|
||
|
LOCAL_MODULE := $1.$2
|
||
|
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
|
||
|
LOCAL_PREBUILT_MODULE_FILE := $$(TARGET_OUT_INTERMEDIATE_LIBRARIES)/$1.so
|
||
|
LOCAL_STRIP_MODULE := false
|
||
|
LOCAL_MULTILIB := first
|
||
|
LOCAL_MODULE_TAGS := optional
|
||
|
LOCAL_INSTALLED_MODULE_STEM := $1.so
|
||
|
LOCAL_MODULE_SUFFIX := .so
|
||
|
LOCAL_MODULE_RELATIVE_PATH := $3$(if $(filter $1,$(INSTALL_IN_HW_SUBDIR)),/hw)
|
||
|
LOCAL_VENDOR_MODULE := $4
|
||
|
include $$(BUILD_PREBUILT)
|
||
|
|
||
|
ifneq ($$(TARGET_2ND_ARCH),)
|
||
|
ifneq ($$(TARGET_TRANSLATE_2ND_ARCH),true)
|
||
|
include $$(CLEAR_VARS)
|
||
|
LOCAL_MODULE := $1.$2
|
||
|
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
|
||
|
LOCAL_PREBUILT_MODULE_FILE := $$($$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATE_LIBRARIES)/$1.so
|
||
|
LOCAL_STRIP_MODULE := false
|
||
|
LOCAL_MULTILIB := 32
|
||
|
LOCAL_MODULE_TAGS := optional
|
||
|
LOCAL_INSTALLED_MODULE_STEM := $1.so
|
||
|
LOCAL_MODULE_SUFFIX := .so
|
||
|
LOCAL_MODULE_RELATIVE_PATH := $3$(if $(filter $1,$(INSTALL_IN_HW_SUBDIR)),/hw)
|
||
|
LOCAL_VENDOR_MODULE := $4
|
||
|
include $$(BUILD_PREBUILT)
|
||
|
endif # TARGET_TRANSLATE_2ND_ARCH is not true
|
||
|
endif # TARGET_2ND_ARCH is not empty
|
||
|
endef
|
||
|
|
||
|
$(foreach lib,$(VNDK_SP_LIBRARIES),\
|
||
|
$(eval $(call define-vndk-lib,$(lib),vndk-sp-gen,$(VNDK_SP_DIR),)))
|
||
|
$(foreach lib,$(VNDK_SP_EXT_LIBRARIES),\
|
||
|
$(eval $(call define-vndk-lib,$(lib),vndk-sp-ext-gen,$(VNDK_SP_DIR),true)))
|
||
|
$(foreach lib,$(EXTRA_VENDOR_LIBRARIES),\
|
||
|
$(eval $(call define-vndk-lib,$(lib),vndk-ext-gen,,true)))
|
||
|
|
||
|
VNDK_SP_DIR :=
|
||
|
|
||
|
|
||
|
#-------------------------------------------------------------------------------
|
||
|
# Phony Package
|
||
|
#-------------------------------------------------------------------------------
|
||
|
|
||
|
include $(CLEAR_VARS)
|
||
|
LOCAL_MODULE := $(YOUR_DEVICE_NAME)-vndk
|
||
|
LOCAL_MODULE_TAGS := optional
|
||
|
LOCAL_REQUIRED_MODULES := \
|
||
|
$(addsuffix .vndk-sp-gen,$(VNDK_SP_LIBRARIES)) \
|
||
|
$(addsuffix .vndk-sp-ext-gen,$(VNDK_SP_EXT_LIBRARIES)) \
|
||
|
$(addsuffix .vndk-ext-gen,$(EXTRA_VENDOR_LIBRARIES))
|
||
|
include $(BUILD_PHONY_PACKAGE)
|
||
|
|
||
|
# Unset variables
|
||
|
VNDK_SP_LIBRARIES :=
|
||
|
VNDK_SP_EXT_LIBRARIES :=
|
||
|
EXTRA_VENDOR_LIBRARIES :=
|
||
|
INSTALL_IN_HW_SUBDIR :=
|
||
|
|
||
|
endif # ifneq ($(filter $(YOUR_DEVICE_NAME),$(TARGET_DEVICE)),)
|