blob: 232ef6f569a1fddecba774ed6545aa4320c96d20 [file] [log] [blame]
Yifan Hongffdad0f2018-02-01 14:50:10 -08001#
2# Copyright (C) 2018 The Android Open Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17LOCAL_PATH := $(call my-dir)
18
19FRAMEWORK_MANIFEST_INPUT_FILES := $(LOCAL_PATH)/manifest.xml
Steven Moreland69b0e662018-06-20 16:00:28 -070020# TODO(b/110487738): replace with vintf_fragment
21ifdef USE_VR_FLINGER
22 FRAMEWORK_MANIFEST_INPUT_FILES += $(LOCAL_PATH)/manifest_vr_hwc.xml
23endif
Yifan Hongffdad0f2018-02-01 14:50:10 -080024ifdef DEVICE_FRAMEWORK_MANIFEST_FILE
25 FRAMEWORK_MANIFEST_INPUT_FILES += $(DEVICE_FRAMEWORK_MANIFEST_FILE)
26endif
27
28# VNDK Version in device compatibility matrix and framework manifest
29ifeq ($(BOARD_VNDK_VERSION),current)
30VINTF_VNDK_VERSION := $(PLATFORM_VNDK_VERSION)
31else
32VINTF_VNDK_VERSION := $(BOARD_VNDK_VERSION)
33endif
34
35# Device Compatibility Matrix
36ifdef DEVICE_MATRIX_FILE
Yifan Hong8731aa12018-02-01 15:19:23 -080037DEVICE_MATRIX_INPUT_FILE := $(DEVICE_MATRIX_FILE)
38else
39DEVICE_MATRIX_INPUT_FILE := $(LOCAL_PATH)/device_compatibility_matrix.default.xml
40endif
41
Yifan Hongffdad0f2018-02-01 14:50:10 -080042include $(CLEAR_VARS)
43LOCAL_MODULE := device_compatibility_matrix.xml
44LOCAL_MODULE_STEM := compatibility_matrix.xml
45LOCAL_MODULE_CLASS := ETC
46LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/etc/vintf
47
48GEN := $(local-generated-sources-dir)/compatibility_matrix.xml
49
50$(GEN): PRIVATE_VINTF_VNDK_VERSION := $(VINTF_VNDK_VERSION)
Yifan Hong8731aa12018-02-01 15:19:23 -080051$(GEN): $(DEVICE_MATRIX_INPUT_FILE) $(HOST_OUT_EXECUTABLES)/assemble_vintf
Yifan Hongffdad0f2018-02-01 14:50:10 -080052 REQUIRED_VNDK_VERSION=$(PRIVATE_VINTF_VNDK_VERSION) \
53 BOARD_SYSTEMSDK_VERSIONS="$(BOARD_SYSTEMSDK_VERSIONS)" \
54 $(HOST_OUT_EXECUTABLES)/assemble_vintf -i $< -o $@
55
56LOCAL_PREBUILT_MODULE_FILE := $(GEN)
57include $(BUILD_PREBUILT)
58BUILT_VENDOR_MATRIX := $(LOCAL_BUILT_MODULE)
Yifan Hongffdad0f2018-02-01 14:50:10 -080059
60# Framework Manifest
61include $(CLEAR_VARS)
62LOCAL_MODULE := framework_manifest.xml
63LOCAL_MODULE_STEM := manifest.xml
64LOCAL_MODULE_CLASS := ETC
65LOCAL_MODULE_PATH := $(TARGET_OUT)/etc/vintf
66
67GEN := $(local-generated-sources-dir)/manifest.xml
68
Yifan Hongffdad0f2018-02-01 14:50:10 -080069$(GEN): PRIVATE_VINTF_VNDK_VERSION := $(VINTF_VNDK_VERSION)
70$(GEN): PRIVATE_FRAMEWORK_MANIFEST_INPUT_FILES := $(FRAMEWORK_MANIFEST_INPUT_FILES)
71$(GEN): $(FRAMEWORK_MANIFEST_INPUT_FILES) $(HOST_OUT_EXECUTABLES)/assemble_vintf
72 PROVIDED_VNDK_VERSIONS="$(PRIVATE_VINTF_VNDK_VERSION) $(PRODUCT_EXTRA_VNDK_VERSIONS)" \
73 PLATFORM_SYSTEMSDK_VERSIONS="$(PLATFORM_SYSTEMSDK_VERSIONS)" \
74 $(HOST_OUT_EXECUTABLES)/assemble_vintf \
75 -i $(call normalize-path-list,$(PRIVATE_FRAMEWORK_MANIFEST_INPUT_FILES)) \
Steven Moreland7ecc6342018-04-30 16:23:20 -070076 -o $@
Yifan Hongffdad0f2018-02-01 14:50:10 -080077
78LOCAL_PREBUILT_MODULE_FILE := $(GEN)
79include $(BUILD_PREBUILT)
80BUILT_SYSTEM_MANIFEST := $(LOCAL_BUILT_MODULE)
81
82VINTF_VNDK_VERSION :=
83FRAMEWORK_MANIFEST_INPUT_FILES :=
Steven Moreland7ecc6342018-04-30 16:23:20 -070084DEVICE_MATRIX_INPUT_FILE :=