Refactor Kconfig and Makefile, update KPROBES related configurations, simplify conditional compilation logic
This commit is contained in:
@@ -23,27 +23,13 @@ obj-$(CONFIG_KSU) += kernelsu.o
|
||||
obj-$(CONFIG_KPM) += kpm/
|
||||
|
||||
|
||||
# https://github.com/tiann/KernelSU/pull/2102/files#diff-3a325663233178293ee38b8161f3be511a466af7e0156b9d03d5aed0497564bfR19
|
||||
IS_GKI := $(strip $(shell \
|
||||
if [ "$(VERSION)" -ge "5" -a "$(PATCHLEVEL)" -ge "10" ]; then \
|
||||
echo TRUE; \
|
||||
else \
|
||||
echo FALSE; \
|
||||
fi \
|
||||
))
|
||||
|
||||
ifeq ($(IS_GKI),TRUE)
|
||||
$(info -- SukiSU: Kernel version is GKI.)
|
||||
# GKI manual hook checks
|
||||
# https://github.com/Pzqqt/android_kernel_xiaomi_marble/commit/5b8596b5604bcd0e6e12697a01136a0bb9eb0257
|
||||
ifeq ($(strip $(CONFIG_KSU_MANUAL_HOOK)),y)
|
||||
$(info -- SukiSU: Hooks with Manual hook!)
|
||||
ifeq ($(strip $(CONFIG_KSU_HOOK_KPROBES)),y)
|
||||
$(info -- SukiSU: KPROBES hooking enabled!)
|
||||
else
|
||||
$(info -- SukiSU: Manual hooking enabled!)
|
||||
ifeq ($(strip $(CONFIG_KSU)),m)
|
||||
$(error CONFIG_KSU_MANUAL_HOOK cannot be enabled when compiling SukiSU as LKM!)
|
||||
endif
|
||||
else
|
||||
ccflags-y += -DKSU_HOOK_WITH_KPROBES
|
||||
endif
|
||||
endif
|
||||
|
||||
# .git is a text file while the module is imported by 'git submodule add'.
|
||||
@@ -76,9 +62,27 @@ $(info -- SukiSU Manager signature size: $(KSU_EXPECTED_SIZE))
|
||||
$(info -- SukiSU Manager signature hash: $(KSU_EXPECTED_HASH))
|
||||
$(info -- Supported Unofficial Manager: 5ec1cff (GKI) rsuntk (Non-GKI) ShirkNeko udochina (GKI and non-GKI and KPM))
|
||||
KERNEL_VERSION := $(VERSION).$(PATCHLEVEL)
|
||||
|
||||
# 检查KPM是否开启
|
||||
KERNEL_MAJOR_VERSION := $(word 1, $(subst ., , $(KERNEL_VERSION)))
|
||||
KERNEL_MINOR_VERSION := $(word 2, $(subst ., , $(KERNEL_VERSION)))
|
||||
ifeq ($(KERNEL_MAJOR_VERSION),5)
|
||||
ifeq ($(KERNEL_MINOR_VERSION),4)
|
||||
KSU_KERNEL_TYPE := GKI 1.0
|
||||
else ifeq ($(findstring $(KERNEL_MINOR_VERSION),$(filter $(KERNEL_MINOR_VERSION),10 11 12 13 14 15 16 17 18 19 20)),1)
|
||||
KSU_KERNEL_TYPE := GKI 2.0
|
||||
else
|
||||
KSU_KERNEL_TYPE := Non-GKI
|
||||
endif
|
||||
else ifeq ($(KERNEL_MAJOR_VERSION),4)
|
||||
KSU_KERNEL_TYPE := Non-GKI
|
||||
else ifeq ($(KERNEL_MAJOR_VERSION),6)
|
||||
KSU_KERNEL_TYPE := GKI 2.0
|
||||
else
|
||||
KSU_KERNEL_TYPE := Non-GKI
|
||||
endif
|
||||
$(info -- KERNEL_VERSION: $(KERNEL_VERSION))
|
||||
$(info -- KERNEL_TYPE: $(KSU_KERNEL_TYPE))
|
||||
|
||||
# Check if KPM is enabled
|
||||
ifeq ($(CONFIG_KPM),y)
|
||||
$(info -- KPM is enabled)
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user