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-5.10 14else 15KDIR:=${OHOS_BUILD_HOME}/out/KERNEL_OBJ/kernel/OBJ/linux-5.10 16endif 17 18 19CLANG_HOST_TOOLCHAIN := $(OHOS_BUILD_HOME)/prebuilts/clang/ohos/linux-x86_64/llvm/bin 20CLANG_CC := $(CLANG_HOST_TOOLCHAIN)/clang 21 22PAHOLE_TOOLCHAIN := $(OHOS_BUILD_HOME)/prebuilts/develop_tools/pahole/bin 23 24KERNEL_ARCH=${DEVICEARCH} 25 26KERNEL_CROSS_COMPILE:= 27KERNEL_CROSS_COMPILE += CC="$(CLANG_CC)" 28 29KERNEL_PREBUILT_MAKE := make LLVM=1 LLVM_IAS=1 CROSS_COMPILE=aarch64-linux-gnu- 30KERNEL_MAKE := \ 31 PATH="$(CLANG_HOST_TOOLCHAIN):$(PAHOLE_TOOLCHAIN):$$PATH" \ 32 $(KERNEL_PREBUILT_MAKE) 33 34PWD:=$(shell pwd) 35 36default: 37 $(KERNEL_MAKE) -C $(KDIR) ARCH=$(KERNEL_ARCH) $(KERNEL_CROSS_COMPILE) M=$(PWD) modules 38 39clean: 40 rm -rf .*.cmd *.o *.mod.c *.ko *.tmp_version *.order *symvers *Module.markers .*.o.d *.mod .thinlto-cache 41