69 lines
2.8 KiB
Makefile
69 lines
2.8 KiB
Makefile
# Copyright (C) 2021 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)
|
|
|
|
KMI_CHK_SCRIPT := $(LOCAL_PATH)/kmi_compatibility_test.sh
|
|
|
|
# Current kernel symbol files to be checked
|
|
# Use the one under $(LOCAL_PATH)/sym-5.* by default for self testing.
|
|
# The reason not to use the one under kernel/prebuilts/5.* by default
|
|
# is because the KMI ABI may not be stable during development.
|
|
#
|
|
# Set CURR_5_4_SYMVERS/CURR_5_10_SYMVERS explicitly for the actual
|
|
# current kernel symbol file to be checked. E.g.,
|
|
# $ m CURR_5_10_SYMVERS=kernel/prebuilts/5.10/arm64/vmlinux.symvers \
|
|
# gki_5_10_kmi_compatibility_test
|
|
CURR_5_4_SYMVERS ?= development/gki/kmi_abi_chk/sym-5.4/Module.symvers
|
|
CURR_5_10_SYMVERS ?= development/gki/kmi_abi_chk/sym-5.10/vmlinux.symvers
|
|
|
|
# Previous kernel symbol files, against which the latest one is checked
|
|
# The file names of previous kernel symbol files are of this form:
|
|
# *.symvers-$(BID)
|
|
# Here *.symvers is a symbolic link to the latest build.
|
|
PREV_5_4_SYMVERS := $(LOCAL_PATH)/sym-5.4/Module.symvers
|
|
PREV_5_10_SYMVERS := $(LOCAL_PATH)/sym-5.10/vmlinux.symvers
|
|
|
|
include $(CLEAR_VARS)
|
|
LOCAL_MODULE := gki_5_4_kmi_compatibility_test
|
|
LOCAL_MODULE_CLASS := FAKE
|
|
LOCAL_MODULE_TAGS := optional
|
|
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
|
|
LOCAL_LICENSE_CONDITIONS := notice
|
|
include $(BUILD_SYSTEM)/base_rules.mk
|
|
|
|
$(LOCAL_BUILT_MODULE): $(KMI_CHK_SCRIPT) $(CURR_5_4_SYMVERS) $(PREV_5_4_SYMVERS)
|
|
@mkdir -p $(dir $@)
|
|
$(hide) $(KMI_CHK_SCRIPT) $(CURR_5_4_SYMVERS) $(PREV_5_4_SYMVERS)
|
|
$(hide) touch $@
|
|
|
|
include $(CLEAR_VARS)
|
|
LOCAL_MODULE := gki_5_10_kmi_compatibility_test
|
|
LOCAL_MODULE_CLASS := FAKE
|
|
LOCAL_MODULE_TAGS := optional
|
|
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
|
|
LOCAL_LICENSE_CONDITIONS := notice
|
|
include $(BUILD_SYSTEM)/base_rules.mk
|
|
|
|
$(LOCAL_BUILT_MODULE): $(KMI_CHK_SCRIPT) $(CURR_5_10_SYMVERS) $(PREV_5_10_SYMVERS)
|
|
@mkdir -p $(dir $@)
|
|
$(hide) $(KMI_CHK_SCRIPT) $(CURR_5_10_SYMVERS) $(PREV_5_10_SYMVERS)
|
|
$(hide) touch $@
|
|
|
|
include $(CLEAR_VARS)
|
|
LOCAL_MODULE := gki_kmi_compatibility_test
|
|
LOCAL_REQUIRED_MODULES := gki_5_4_kmi_compatibility_test gki_5_10_kmi_compatibility_test
|
|
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
|
|
LOCAL_LICENSE_CONDITIONS := notice
|
|
include $(BUILD_PHONY_PACKAGE)
|