blob: 3db7065ed449f49b650af620c2b569c554899286 [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
20ifdef DEVICE_FRAMEWORK_MANIFEST_FILE
21 FRAMEWORK_MANIFEST_INPUT_FILES += $(DEVICE_FRAMEWORK_MANIFEST_FILE)
22endif
23
24# VNDK Version in device compatibility matrix and framework manifest
25ifeq ($(BOARD_VNDK_VERSION),current)
26VINTF_VNDK_VERSION := $(PLATFORM_VNDK_VERSION)
27else
28VINTF_VNDK_VERSION := $(BOARD_VNDK_VERSION)
29endif
30
31# Device Compatibility Matrix
32ifdef DEVICE_MATRIX_FILE
Yifan Hong8731aa12018-02-01 15:19:23 -080033DEVICE_MATRIX_INPUT_FILE := $(DEVICE_MATRIX_FILE)
34else
35DEVICE_MATRIX_INPUT_FILE := $(LOCAL_PATH)/device_compatibility_matrix.default.xml
36endif
37
Yifan Hongffdad0f2018-02-01 14:50:10 -080038include $(CLEAR_VARS)
39LOCAL_MODULE := device_compatibility_matrix.xml
40LOCAL_MODULE_STEM := compatibility_matrix.xml
41LOCAL_MODULE_CLASS := ETC
42LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/etc/vintf
43
44GEN := $(local-generated-sources-dir)/compatibility_matrix.xml
45
46$(GEN): PRIVATE_VINTF_VNDK_VERSION := $(VINTF_VNDK_VERSION)
Yifan Hong8731aa12018-02-01 15:19:23 -080047$(GEN): $(DEVICE_MATRIX_INPUT_FILE) $(HOST_OUT_EXECUTABLES)/assemble_vintf
Yifan Hongffdad0f2018-02-01 14:50:10 -080048 REQUIRED_VNDK_VERSION=$(PRIVATE_VINTF_VNDK_VERSION) \
49 BOARD_SYSTEMSDK_VERSIONS="$(BOARD_SYSTEMSDK_VERSIONS)" \
50 $(HOST_OUT_EXECUTABLES)/assemble_vintf -i $< -o $@
51
52LOCAL_PREBUILT_MODULE_FILE := $(GEN)
53include $(BUILD_PREBUILT)
54BUILT_VENDOR_MATRIX := $(LOCAL_BUILT_MODULE)
Yifan Hongffdad0f2018-02-01 14:50:10 -080055
56# Framework Manifest
57include $(CLEAR_VARS)
58LOCAL_MODULE := framework_manifest.xml
59LOCAL_MODULE_STEM := manifest.xml
60LOCAL_MODULE_CLASS := ETC
61LOCAL_MODULE_PATH := $(TARGET_OUT)/etc/vintf
62
63GEN := $(local-generated-sources-dir)/manifest.xml
64
Yifan Hongffdad0f2018-02-01 14:50:10 -080065$(GEN): PRIVATE_VINTF_VNDK_VERSION := $(VINTF_VNDK_VERSION)
66$(GEN): PRIVATE_FRAMEWORK_MANIFEST_INPUT_FILES := $(FRAMEWORK_MANIFEST_INPUT_FILES)
67$(GEN): $(FRAMEWORK_MANIFEST_INPUT_FILES) $(HOST_OUT_EXECUTABLES)/assemble_vintf
68 PROVIDED_VNDK_VERSIONS="$(PRIVATE_VINTF_VNDK_VERSION) $(PRODUCT_EXTRA_VNDK_VERSIONS)" \
69 PLATFORM_SYSTEMSDK_VERSIONS="$(PLATFORM_SYSTEMSDK_VERSIONS)" \
70 $(HOST_OUT_EXECUTABLES)/assemble_vintf \
71 -i $(call normalize-path-list,$(PRIVATE_FRAMEWORK_MANIFEST_INPUT_FILES)) \
Steven Moreland7ecc6342018-04-30 16:23:20 -070072 -o $@
Yifan Hongffdad0f2018-02-01 14:50:10 -080073
74LOCAL_PREBUILT_MODULE_FILE := $(GEN)
75include $(BUILD_PREBUILT)
76BUILT_SYSTEM_MANIFEST := $(LOCAL_BUILT_MODULE)
77
78VINTF_VNDK_VERSION :=
79FRAMEWORK_MANIFEST_INPUT_FILES :=
Steven Moreland7ecc6342018-04-30 16:23:20 -070080DEVICE_MATRIX_INPUT_FILE :=