2

我正在将驱动程序移植到 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 目录中的所有对象。

谢谢,

约翰

4

2 回答 2

2

这是我使用make clean驱动程序代码的方式:

clean:
    $(MAKE) -C $(KDIR) M=$$PWD clean
于 2012-11-18T07:37:14.170 回答
1

You can use regular expressions in makefiles, and write *.o instead of foo1.o, foo2.o, etc.

Common way is to have a 'clean' target, which looks like this:

clean:
    $(RM) .*.cmd *.o *.ko -r .tmp* 
于 2012-11-18T02:14:01.070 回答