Merge "vndk-def: Update template makefile"
diff --git a/vndk/tools/definition-tool/templates/vndk.txt b/vndk/tools/definition-tool/templates/vndk.txt
index 0a66671..dd4eb28 100644
--- a/vndk/tools/definition-tool/templates/vndk.txt
+++ b/vndk/tools/definition-tool/templates/vndk.txt
@@ -7,10 +7,21 @@
 
 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
@@ -23,7 +34,7 @@
 LOCAL_MODULE_TAGS := optional
 LOCAL_INSTALLED_MODULE_STEM := $1.so
 LOCAL_MODULE_SUFFIX := .so
-LOCAL_MODULE_RELATIVE_PATH := $3
+LOCAL_MODULE_RELATIVE_PATH := $3$(if $(filter $1,$(INSTALL_IN_HW_SUBDIR)),/hw)
 LOCAL_VENDOR_MODULE := $4
 include $$(BUILD_PREBUILT)
 
@@ -38,7 +49,7 @@
 LOCAL_MODULE_TAGS := optional
 LOCAL_INSTALLED_MODULE_STEM := $1.so
 LOCAL_MODULE_SUFFIX := .so
-LOCAL_MODULE_RELATIVE_PATH := $3
+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
@@ -46,12 +57,14 @@
 endef
 
 $(foreach lib,$(VNDK_SP_LIBRARIES),\
-    $(eval $(call define-vndk-lib,$(lib),vndk-sp-gen,vndk-sp,)))
+    $(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,true)))
+    $(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
@@ -66,4 +79,10 @@
     $(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)),)