1target_ko_name:=${TARGETKONAME} 2obj-m:= ${target_ko_name}.o 3 4obj_list := $(subst &, ,$(OBJLIST)) 5$(info obj_list = $(obj_list)) 6 7${target_ko_name}-y:=$(obj_list) 8$(info target_ko_name-y = ${target_ko_name}-y) 9 10OHOS_BUILD_HOME:=${PROJECTDIR} 11 12ifeq ($(DEVICENAME), rk3568) 13KDIR:=${OHOS_BUILD_HOME}/out/kernel/OBJ/linux-6.6 14else 15KDIR:=${OHOS_BUILD_HOME}/out/KERNEL_OBJ/kernel/OBJ/linux-6.6 16endif 17 18CLANG_HOST_TOOLCHAIN := $(OHOS_BUILD_HOME)/prebuilts/clang/ohos/linux-x86_64/llvm/bin 19CLANG_CC := $(CLANG_HOST_TOOLCHAIN)/clang 20 21PAHOLE_TOOLCHAIN := $(OHOS_BUILD_HOME)/prebuilts/develop_tools/pahole/bin 22 23KERNEL_ARCH=${DEVICEARCH} 24 25KERNEL_CROSS_COMPILE:= 26KERNEL_CROSS_COMPILE += CC="$(CLANG_CC)" 27 28KERNEL_PREBUILT_MAKE := make LLVM=1 LLVM_IAS=1 CROSS_COMPILE=aarch64-linux-gnu- 29KERNEL_MAKE := \ 30 PATH="$(CLANG_HOST_TOOLCHAIN):$(PAHOLE_TOOLCHAIN):$$PATH" \ 31 $(KERNEL_PREBUILT_MAKE) 32 33PWD:=$(shell pwd) 34 35default: 36 export KBUILD_MODPOST_WARN=1 && $(KERNEL_MAKE) -C $(KDIR) ARCH=$(KERNEL_ARCH) $(KERNEL_CROSS_COMPILE) M=$(PWD) modules 37 38clean: 39 rm -rf .*.cmd *.o *.mod.c *.ko *.tmp_version *.order *symvers *Module.markers .*.o.d *.mod .thinlto-cache 40