如何在内核Makefile中正确清理

我将一个驱动程序移植到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