我将一个驱动程序移植到3.4内核,当我做一个干净的,它不是清理一些.o文件,所以现在我想知道这样做的正确方法是什么。
我有以下的Makefile(注意:在内核的一个单独的目录中):
obj-y += foo.o foo-objs += foo1.o foo2.o clean-files := foo3.o
当我运行make clean时,会清除foo3.o,但会留下foo.o,foo1.o和foo2.o. 我可以将所有这些都放到干净的文件中,但是这似乎是多余的,我想可能会有一些方法使Makefile自动清除obj-y目录中的所有对象。
谢谢,
约翰
您可以在makefiles中使用正则表达式,并写* .o而不是foo1.o,foo2.o等。
常见的方法是有一个“干净”的目标,看起来像这样:
clean: $(RM) .*.cmd *.o *.ko -r .tmp*
这是我用来make clean
我的驱动程序代码的方式:
clean: $(MAKE) -C $(KDIR) M=$$PWD clean