blob: c8dd7d42bfbf300e2bac580a6e466a7a21ba66d4 [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
Yifan Hongde7a9892019-04-23 16:43:02 -070019# DEVICE_FRAMEWORK_MANIFEST_FILE is a device-specific framework manifest file
20# that installed to the system image. HALs entries should be written to
21# DEVICE_FRAMEWORK_MANIFEST_FILE or PRODUCT_MANIFEST_FILES depend on the path of
22# the module. It is recommended that such device-specific modules to be
23# installed on product partition.
24
Yifan Hong2ffda9e2020-03-20 12:46:25 -070025SYSTEM_MANIFEST_INPUT_FILES := $(LOCAL_PATH)/manifest.xml
Yifan Hongffdad0f2018-02-01 14:50:10 -080026ifdef DEVICE_FRAMEWORK_MANIFEST_FILE
Yifan Hong2ffda9e2020-03-20 12:46:25 -070027 SYSTEM_MANIFEST_INPUT_FILES += $(DEVICE_FRAMEWORK_MANIFEST_FILE)
28endif
29
30SYSTEM_EXT_MANIFEST_INPUT_FILES := $(LOCAL_PATH)/system_ext_manifest.default.xml
31ifdef SYSTEM_EXT_MANIFEST_FILES
32 SYSTEM_EXT_MANIFEST_INPUT_FILES += $(SYSTEM_EXT_MANIFEST_FILES)
Yifan Hongffdad0f2018-02-01 14:50:10 -080033endif
34
35# VNDK Version in device compatibility matrix and framework manifest
36ifeq ($(BOARD_VNDK_VERSION),current)
37VINTF_VNDK_VERSION := $(PLATFORM_VNDK_VERSION)
38else
39VINTF_VNDK_VERSION := $(BOARD_VNDK_VERSION)
40endif
41
42# Device Compatibility Matrix
43ifdef DEVICE_MATRIX_FILE
Yifan Hong8731aa12018-02-01 15:19:23 -080044DEVICE_MATRIX_INPUT_FILE := $(DEVICE_MATRIX_FILE)
45else
46DEVICE_MATRIX_INPUT_FILE := $(LOCAL_PATH)/device_compatibility_matrix.default.xml
47endif
48
Yifan Hongffdad0f2018-02-01 14:50:10 -080049include $(CLEAR_VARS)
Yifan Hong5b973e72020-01-14 13:22:55 -080050LOCAL_MODULE := vendor_compatibility_matrix.xml
Yifan Hongffdad0f2018-02-01 14:50:10 -080051LOCAL_MODULE_STEM := compatibility_matrix.xml
52LOCAL_MODULE_CLASS := ETC
53LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/etc/vintf
54
55GEN := $(local-generated-sources-dir)/compatibility_matrix.xml
56
57$(GEN): PRIVATE_VINTF_VNDK_VERSION := $(VINTF_VNDK_VERSION)
Yifan Hongf2211cd2019-04-22 14:07:23 -070058$(GEN): PRIVATE_DEVICE_MATRIX_INPUT_FILE := $(DEVICE_MATRIX_INPUT_FILE)
Yifan Hong8731aa12018-02-01 15:19:23 -080059$(GEN): $(DEVICE_MATRIX_INPUT_FILE) $(HOST_OUT_EXECUTABLES)/assemble_vintf
Yifan Hongffdad0f2018-02-01 14:50:10 -080060 REQUIRED_VNDK_VERSION=$(PRIVATE_VINTF_VNDK_VERSION) \
61 BOARD_SYSTEMSDK_VERSIONS="$(BOARD_SYSTEMSDK_VERSIONS)" \
Yifan Hongf2211cd2019-04-22 14:07:23 -070062 $(HOST_OUT_EXECUTABLES)/assemble_vintf \
63 -i $(call normalize-path-list,$(PRIVATE_DEVICE_MATRIX_INPUT_FILE)) \
64 -o $@
Yifan Hongffdad0f2018-02-01 14:50:10 -080065
66LOCAL_PREBUILT_MODULE_FILE := $(GEN)
67include $(BUILD_PREBUILT)
Yifan Hongffdad0f2018-02-01 14:50:10 -080068
Yifan Hongde7a9892019-04-23 16:43:02 -070069# System Manifest
Yifan Hongffdad0f2018-02-01 14:50:10 -080070include $(CLEAR_VARS)
Yifan Hongde7a9892019-04-23 16:43:02 -070071LOCAL_MODULE := system_manifest.xml
Yifan Hongffdad0f2018-02-01 14:50:10 -080072LOCAL_MODULE_STEM := manifest.xml
73LOCAL_MODULE_CLASS := ETC
74LOCAL_MODULE_PATH := $(TARGET_OUT)/etc/vintf
75
76GEN := $(local-generated-sources-dir)/manifest.xml
77
Yifan Hongffdad0f2018-02-01 14:50:10 -080078$(GEN): PRIVATE_VINTF_VNDK_VERSION := $(VINTF_VNDK_VERSION)
Yifan Hong2ffda9e2020-03-20 12:46:25 -070079$(GEN): PRIVATE_SYSTEM_MANIFEST_INPUT_FILES := $(SYSTEM_MANIFEST_INPUT_FILES)
80$(GEN): $(SYSTEM_MANIFEST_INPUT_FILES) $(HOST_OUT_EXECUTABLES)/assemble_vintf
Yifan Hongffdad0f2018-02-01 14:50:10 -080081 PROVIDED_VNDK_VERSIONS="$(PRIVATE_VINTF_VNDK_VERSION) $(PRODUCT_EXTRA_VNDK_VERSIONS)" \
82 PLATFORM_SYSTEMSDK_VERSIONS="$(PLATFORM_SYSTEMSDK_VERSIONS)" \
83 $(HOST_OUT_EXECUTABLES)/assemble_vintf \
Yifan Hong2ffda9e2020-03-20 12:46:25 -070084 -i $(call normalize-path-list,$(PRIVATE_SYSTEM_MANIFEST_INPUT_FILES)) \
Steven Moreland7ecc6342018-04-30 16:23:20 -070085 -o $@
Yifan Hongffdad0f2018-02-01 14:50:10 -080086
87LOCAL_PREBUILT_MODULE_FILE := $(GEN)
88include $(BUILD_PREBUILT)
Yifan Hongffdad0f2018-02-01 14:50:10 -080089
Yifan Hongde7a9892019-04-23 16:43:02 -070090# Product Manifest
91ifneq ($(PRODUCT_MANIFEST_FILES),)
92include $(CLEAR_VARS)
93LOCAL_MODULE := product_manifest.xml
94LOCAL_MODULE_STEM := manifest.xml
95LOCAL_MODULE_CLASS := ETC
Yifan Hong64c79292020-03-20 12:28:07 -070096LOCAL_PRODUCT_MODULE := true
Yifan Hongde7a9892019-04-23 16:43:02 -070097LOCAL_MODULE_RELATIVE_PATH := vintf
98GEN := $(local-generated-sources-dir)/manifest.xml
99$(GEN): PRIVATE_PRODUCT_MANIFEST_FILES := $(PRODUCT_MANIFEST_FILES)
100$(GEN): $(PRODUCT_MANIFEST_FILES) $(HOST_OUT_EXECUTABLES)/assemble_vintf
101 $(HOST_OUT_EXECUTABLES)/assemble_vintf \
102 -i $(call normalize-path-list,$(PRIVATE_PRODUCT_MANIFEST_FILES)) \
103 -o $@
104
105LOCAL_PREBUILT_MODULE_FILE := $(GEN)
106include $(BUILD_PREBUILT)
Yifan Hongde7a9892019-04-23 16:43:02 -0700107endif
108
Yifan Hong9de44e22020-03-20 12:22:38 -0700109# System_ext Manifest
Yifan Hong9de44e22020-03-20 12:22:38 -0700110include $(CLEAR_VARS)
111LOCAL_MODULE := system_ext_manifest.xml
112LOCAL_MODULE_STEM := manifest.xml
113LOCAL_MODULE_CLASS := ETC
114LOCAL_SYSTEM_EXT_MODULE := true
115LOCAL_MODULE_RELATIVE_PATH := vintf
116GEN := $(local-generated-sources-dir)/manifest.xml
Yifan Hong2ffda9e2020-03-20 12:46:25 -0700117$(GEN): PRIVATE_SYSTEM_EXT_MANIFEST_FILES := $(SYSTEM_EXT_MANIFEST_INPUT_FILES)
118$(GEN): $(SYSTEM_EXT_MANIFEST_INPUT_FILES) $(HOST_OUT_EXECUTABLES)/assemble_vintf
Yifan Hong9de44e22020-03-20 12:22:38 -0700119 $(HOST_OUT_EXECUTABLES)/assemble_vintf \
120 -i $(call normalize-path-list,$(PRIVATE_SYSTEM_EXT_MANIFEST_FILES)) \
121 -o $@
122
123LOCAL_PREBUILT_MODULE_FILE := $(GEN)
124include $(BUILD_PREBUILT)
Yifan Hong9de44e22020-03-20 12:22:38 -0700125
Yifan Hongffdad0f2018-02-01 14:50:10 -0800126VINTF_VNDK_VERSION :=
Yifan Hong2ffda9e2020-03-20 12:46:25 -0700127SYSTEM_MANIFEST_INPUT_FILES :=
128SYSTEM_EXT_MANIFEST_INPUT_FILES :=
Yifan Hongf2211cd2019-04-22 14:07:23 -0700129DEVICE_MATRIX_INPUT_FILE :=
Yifan Hongde7a9892019-04-23 16:43:02 -0700130PRODUCT_MANIFEST_INPUT_FILES :=