• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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