LinuxのローダブルモジュールのMakefileでよくあるサンプル。
obj-m := foo.o
modules:
$(MAKE) -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
$(MAKE) -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
みたいなやつ。
$(PWD) の部分は
$(CURDIR) の方がいいですね。
再帰的make の中に組み込むと動かなくなってしまうので。
詳細理由は、一つ前の話題「make の -C オプションについて」で述べています。
というわけで、「Linuxデバイスドライバプログラミング」に載っているMakefileのサンプルはよくないですね。
O'REILLY の「Linuxデバイスドライバ」のサンプルの方は
PWD := $(shell pwd)
の1行が入っているのでOKです。
0 件のコメント:
コメントを投稿