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

makefileで正規表現を使用し、foo1.o、foo2.oなどの代わりに*.oを書き込むことができます。

一般的な方法は、次のような「クリーンな」ターゲットを作成することです。

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