| |
| #Set LOCAL_USE_VNDK for modules going into product, vendor or odm partition, except for host modules |
| #If LOCAL_SDK_VERSION is set, thats a more restrictive set, so they dont need LOCAL_USE_VNDK |
| ifndef LOCAL_IS_HOST_MODULE |
| ifndef LOCAL_SDK_VERSION |
| ifneq (,$(filter true,$(LOCAL_VENDOR_MODULE) $(LOCAL_ODM_MODULE) $(LOCAL_OEM_MODULE) $(LOCAL_PROPRIETARY_MODULE))) |
| LOCAL_USE_VNDK:=true |
| # Note: no need to check LOCAL_MODULE_PATH* since LOCAL_[VENDOR|ODM|OEM]_MODULE is already |
| # set correctly before this is included. |
| endif |
| ifdef PRODUCT_PRODUCT_VNDK_VERSION |
| # Product modules also use VNDK when PRODUCT_PRODUCT_VNDK_VERSION is defined. |
| ifeq (true,$(LOCAL_PRODUCT_MODULE)) |
| LOCAL_USE_VNDK:=true |
| LOCAL_USE_VNDK_PRODUCT:=true |
| endif |
| endif |
| endif |
| endif |
| |
| # Verify LOCAL_USE_VNDK usage, and set LOCAL_SDK_VERSION if necessary |
| |
| ifdef LOCAL_IS_HOST_MODULE |
| ifdef LOCAL_USE_VNDK |
| $(shell echo $(LOCAL_MODULE_MAKEFILE): $(LOCAL_MODULE): Do not use LOCAL_USE_VNDK with host modules >&2) |
| $(error done) |
| endif |
| endif |
| ifdef LOCAL_USE_VNDK |
| ifneq ($(LOCAL_USE_VNDK),true) |
| $(shell echo '$(LOCAL_MODULE_MAKEFILE): $(LOCAL_MODULE): LOCAL_USE_VNDK must be "true" or empty, not "$(LOCAL_USE_VNDK)"' >&2) |
| $(error done) |
| endif |
| |
| ifdef LOCAL_SDK_VERSION |
| $(shell echo $(LOCAL_MODULE_MAKEFILE): $(LOCAL_MODULE): LOCAL_USE_VNDK must not be used with LOCAL_SDK_VERSION >&2) |
| $(error done) |
| endif |
| |
| # If we're not using the VNDK, drop all restrictions |
| ifndef BOARD_VNDK_VERSION |
| LOCAL_USE_VNDK:= |
| LOCAL_USE_VNDK_PRODUCT:= |
| endif |
| endif |
| |