如何在内核Makefile中正确清理

时间:2012-11-17 22:58:59

标签: linux kbuild

我正在将驱动程序移植到3.4内核,当我执行make clean时,它不会清理一些.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目录中的所有对象。

谢谢,

约翰

2 个答案:

答案 0 :(得分:2)

这是我以前make clean我的驱动程序代码的方式:

clean:
    $(MAKE) -C $(KDIR) M=$$PWD clean

答案 1 :(得分:1)

您可以在makefile中使用正则表达式,并编写* .o而不是foo1.o,foo2.o等。

常见的方法是拥有一个“干净”的目标,如下所示:

clean:
    $(RM) .*.cmd *.o *.ko -r .tmp*