# ARM 交叉编译内核模块
# 用法: make                     (编译)
#       make clean               (清理)
#       make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
#          -C /path/to/kernel M=$(PWD) modules

KERNELDIR ?= ../../../kernel

PWD := $(shell pwd)

obj-m := 001_kobject.o

all:
	$(MAKE) ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- \
		-C $(KERNELDIR) M=$(PWD) modules
	@# 清理中间文件,只保留源文件 .c、模块 .ko 和 Makefile
	@find $(PWD) -maxdepth 1 -type f ! -name '*.ko' ! -name 'Makefile' ! \( -name '*.c' ! -name '*.mod.c' \) -delete 2>/dev/null || true
	@rm -rf $(PWD)/.tmp_versions 2>/dev/null || true

clean:
	$(MAKE) ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- \
		-C $(KERNELDIR) M=$(PWD) clean