blob: 0c0651f458232a3ea8cfd525e85c34e07a3a50ed [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 Hongb47671b2019-04-22 14:07:23 -070051$(GEN): PRIVATE_DEVICE_MATRIX_INPUT_FILE := $(DEVICE_MATRIX_INPUT_FILE)
Yifan Hong8731aa12018-02-01 15:19:23 -080052$(GEN): $(DEVICE_MATRIX_INPUT_FILE) $(HOST_OUT_EXECUTABLES)/assemble_vintf
Yifan Hongffdad0f2018-02-01 14:50:10 -080053 REQUIRED_VNDK_VERSION=$(PRIVATE_VINTF_VNDK_VERSION) \
54 BOARD_SYSTEMSDK_VERSIONS="$(BOARD_SYSTEMSDK_VERSIONS)" \
Yifan Hongb47671b2019-04-22 14:07:23 -070055 $(HOST_OUT_EXECUTABLES)/assemble_vintf \
56 -i $(call normalize-path-list,$(PRIVATE_DEVICE_MATRIX_INPUT_FILE)) \
57 -o $@
Yifan Hongffdad0f2018-02-01 14:50:10 -080058
59LOCAL_PREBUILT_MODULE_FILE := $(GEN)
60include $(BUILD_PREBUILT)
61BUILT_VENDOR_MATRIX := $(LOCAL_BUILT_MODULE)
Yifan Hongffdad0f2018-02-01 14:50:10 -080062
63# Framework Manifest
64include $(CLEAR_VARS)
65LOCAL_MODULE := framework_manifest.xml
66LOCAL_MODULE_STEM := manifest.xml
67LOCAL_MODULE_CLASS := ETC
68LOCAL_MODULE_PATH := $(TARGET_OUT)/etc/vintf
69
70GEN := $(local-generated-sources-dir)/manifest.xml
71
Yifan Hongffdad0f2018-02-01 14:50:10 -080072$(GEN): PRIVATE_VINTF_VNDK_VERSION := $(VINTF_VNDK_VERSION)
73$(GEN): PRIVATE_FRAMEWORK_MANIFEST_INPUT_FILES := $(FRAMEWORK_MANIFEST_INPUT_FILES)
74$(GEN): $(FRAMEWORK_MANIFEST_INPUT_FILES) $(HOST_OUT_EXECUTABLES)/assemble_vintf
75 PROVIDED_VNDK_VERSIONS="$(PRIVATE_VINTF_VNDK_VERSION) $(PRODUCT_EXTRA_VNDK_VERSIONS)" \
76 PLATFORM_SYSTEMSDK_VERSIONS="$(PLATFORM_SYSTEMSDK_VERSIONS)" \
77 $(HOST_OUT_EXECUTABLES)/assemble_vintf \
78 -i $(call normalize-path-list,$(PRIVATE_FRAMEWORK_MANIFEST_INPUT_FILES)) \
Steven Moreland7ecc6342018-04-30 16:23:20 -070079 -o $@
Yifan Hongffdad0f2018-02-01 14:50:10 -080080
81LOCAL_PREBUILT_MODULE_FILE := $(GEN)
82include $(BUILD_PREBUILT)
83BUILT_SYSTEM_MANIFEST := $(LOCAL_BUILT_MODULE)
84
85VINTF_VNDK_VERSION :=
86FRAMEWORK_MANIFEST_INPUT_FILES :=
Yifan Hongb47671b2019-04-22 14:07:23 -070087DEVICE_MATRIX_INPUT_FILE :=