diff --git a/vintfdata/Android.bp b/vintfdata/Android.bp
new file mode 100644
index 0000000..92fdab6
--- /dev/null
+++ b/vintfdata/Android.bp
@@ -0,0 +1,44 @@
+// Copyright 2018 Google Inc. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package {
+    default_applicable_licenses: ["system_libhidl_license"],
+}
+
+vintf_data {
+    name: "vendor_compatibility_matrix.xml",
+    type: "device_cm",
+    filename: "compatibility_matrix.xml",
+    vendor: true,
+}
+
+vintf_data {
+    name: "system_manifest.xml",
+    type: "system_manifest",
+    filename: "manifest.xml",
+}
+
+vintf_data {
+    name: "product_manifest.xml",
+    type: "product_manifest",
+    filename: "manifest.xml",
+    product_specific: true,
+}
+
+vintf_data {
+    name: "system_ext_manifest.xml",
+    type: "system_ext_manifest",
+    filename: "manifest.xml",
+    system_ext_specific: true,
+}
diff --git a/vintfdata/Android.mk b/vintfdata/Android.mk
deleted file mode 100644
index ed8f506..0000000
--- a/vintfdata/Android.mk
+++ /dev/null
@@ -1,152 +0,0 @@
-#
-# Copyright (C) 2018 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-# DEVICE_FRAMEWORK_MANIFEST_FILE is a device-specific framework manifest file
-# that installed to the system image. HALs entries should be written to
-# DEVICE_FRAMEWORK_MANIFEST_FILE or PRODUCT_MANIFEST_FILES depend on the path of
-# the module. It is recommended that such device-specific modules to be
-# installed on product partition.
-
-SYSTEM_MANIFEST_INPUT_FILES := $(LOCAL_PATH)/manifest.xml
-ifdef DEVICE_FRAMEWORK_MANIFEST_FILE
-  SYSTEM_MANIFEST_INPUT_FILES += $(DEVICE_FRAMEWORK_MANIFEST_FILE)
-endif
-
-SYSTEM_EXT_MANIFEST_INPUT_FILES := $(LOCAL_PATH)/system_ext_manifest.default.xml
-
-ifeq ($(PRODUCT_HIDL_ENABLED),true)
-ifneq ($(filter hwservicemanager,$(PRODUCT_PACKAGES)),)
-SYSTEM_EXT_MANIFEST_INPUT_FILES += $(TOPDIR)system/hwservicemanager/hwservicemanager_no_max.xml
-else
-$(error If PRODUCT_HIDL_ENABLED is set, hwservicemanager must be added to PRODUCT_PACKAGES explicitly)
-endif
-else
-ifneq ($(filter hwservicemanager,$(PRODUCT_PACKAGES)),)
-SYSTEM_EXT_MANIFEST_INPUT_FILES += $(TOPDIR)system/hwservicemanager/hwservicemanager.xml
-else ifneq ($(filter hwservicemanager,$(PRODUCT_PACKAGES_SHIPPING_API_LEVEL_34)),)
-SYSTEM_EXT_MANIFEST_INPUT_FILES += $(TOPDIR)system/hwservicemanager/hwservicemanager.xml
-endif
-endif
-
-ifdef SYSTEM_EXT_MANIFEST_FILES
-  SYSTEM_EXT_MANIFEST_INPUT_FILES += $(SYSTEM_EXT_MANIFEST_FILES)
-endif
-
-# Device Compatibility Matrix
-ifdef DEVICE_MATRIX_FILE
-DEVICE_MATRIX_INPUT_FILE := $(DEVICE_MATRIX_FILE)
-else
-DEVICE_MATRIX_INPUT_FILE := $(LOCAL_PATH)/device_compatibility_matrix.default.xml
-endif
-
-include $(CLEAR_VARS)
-LOCAL_MODULE        := vendor_compatibility_matrix.xml
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_NOTICE_FILE   := $(LOCAL_PATH)/../NOTICE
-LOCAL_MODULE_STEM   := compatibility_matrix.xml
-LOCAL_MODULE_CLASS  := ETC
-LOCAL_MODULE_PATH   := $(TARGET_OUT_VENDOR)/etc/vintf
-
-GEN := $(local-generated-sources-dir)/compatibility_matrix.xml
-
-$(GEN): PRIVATE_DEVICE_MATRIX_INPUT_FILE := $(DEVICE_MATRIX_INPUT_FILE)
-
-$(GEN): $(DEVICE_MATRIX_INPUT_FILE) $(HOST_OUT_EXECUTABLES)/assemble_vintf
-	BOARD_SYSTEMSDK_VERSIONS="$(BOARD_SYSTEMSDK_VERSIONS)" \
-		$(HOST_OUT_EXECUTABLES)/assemble_vintf \
-		-i $(call normalize-path-list,$(PRIVATE_DEVICE_MATRIX_INPUT_FILE)) \
-		-o $@
-
-LOCAL_PREBUILT_MODULE_FILE := $(GEN)
-include $(BUILD_PREBUILT)
-
-# System Manifest
-include $(CLEAR_VARS)
-LOCAL_MODULE        := system_manifest.xml
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_NOTICE_FILE   := $(LOCAL_PATH)/../NOTICE
-LOCAL_MODULE_STEM   := manifest.xml
-LOCAL_MODULE_CLASS  := ETC
-LOCAL_MODULE_PATH   := $(TARGET_OUT)/etc/vintf
-
-GEN := $(local-generated-sources-dir)/manifest.xml
-
-$(GEN): PRIVATE_SYSTEM_MANIFEST_INPUT_FILES := $(SYSTEM_MANIFEST_INPUT_FILES)
-$(GEN): $(SYSTEM_MANIFEST_INPUT_FILES) $(HOST_OUT_EXECUTABLES)/assemble_vintf
-	PLATFORM_SYSTEMSDK_VERSIONS="$(PLATFORM_SYSTEMSDK_VERSIONS)" \
-		$(HOST_OUT_EXECUTABLES)/assemble_vintf \
-		-i $(call normalize-path-list,$(PRIVATE_SYSTEM_MANIFEST_INPUT_FILES)) \
-		-o $@
-
-LOCAL_PREBUILT_MODULE_FILE := $(GEN)
-include $(BUILD_PREBUILT)
-
-# Product Manifest
-ifneq ($(PRODUCT_MANIFEST_FILES),)
-include $(CLEAR_VARS)
-LOCAL_MODULE := product_manifest.xml
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../NOTICE
-LOCAL_MODULE_STEM := manifest.xml
-LOCAL_MODULE_CLASS := ETC
-LOCAL_PRODUCT_MODULE := true
-LOCAL_MODULE_RELATIVE_PATH := vintf
-GEN := $(local-generated-sources-dir)/manifest.xml
-$(GEN): PRIVATE_PRODUCT_MANIFEST_FILES := $(PRODUCT_MANIFEST_FILES)
-$(GEN): $(PRODUCT_MANIFEST_FILES) $(HOST_OUT_EXECUTABLES)/assemble_vintf
-	$(HOST_OUT_EXECUTABLES)/assemble_vintf \
-		-i $(call normalize-path-list,$(PRIVATE_PRODUCT_MANIFEST_FILES)) \
-		-o $@
-
-LOCAL_PREBUILT_MODULE_FILE := $(GEN)
-include $(BUILD_PREBUILT)
-endif
-
-# System_ext Manifest
-include $(CLEAR_VARS)
-LOCAL_MODULE := system_ext_manifest.xml
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../NOTICE
-LOCAL_MODULE_STEM := manifest.xml
-LOCAL_MODULE_CLASS := ETC
-LOCAL_SYSTEM_EXT_MODULE := true
-LOCAL_MODULE_RELATIVE_PATH := vintf
-GEN := $(local-generated-sources-dir)/manifest.xml
-$(GEN): PRIVATE_SYSTEM_EXT_MANIFEST_FILES := $(SYSTEM_EXT_MANIFEST_INPUT_FILES)
-$(GEN): PRIVATE_PROVIDED_VNDK_VERSIONS := \
-  $(sort $(PRODUCT_EXTRA_VNDK_VERSIONS))
-
-$(GEN): $(SYSTEM_EXT_MANIFEST_INPUT_FILES) $(HOST_OUT_EXECUTABLES)/assemble_vintf
-	PROVIDED_VNDK_VERSIONS="$(PRIVATE_PROVIDED_VNDK_VERSIONS)" \
-	$(HOST_OUT_EXECUTABLES)/assemble_vintf \
-		-i $(call normalize-path-list,$(PRIVATE_SYSTEM_EXT_MANIFEST_FILES)) \
-		-o $@
-
-LOCAL_PREBUILT_MODULE_FILE := $(GEN)
-include $(BUILD_PREBUILT)
-
-SYSTEM_MANIFEST_INPUT_FILES :=
-SYSTEM_EXT_MANIFEST_INPUT_FILES :=
-DEVICE_MATRIX_INPUT_FILE :=
-PRODUCT_MANIFEST_INPUT_FILES :=
-
-VINTF_FRAMEWORK_MANIFEST_FROZEN_DIR := $(LOCAL_PATH)/frozen
