faxdfjk
2022年12月14日 14時00分
複数ソース用に以下のようにmakefileをアレンジしてみましたがエラーになってしまいます。
複数ソースの場合はどのように書いたら良いでしょうか。
<<<<<<<< 以下 makefile >>>>>>>>>>>>
obj-m := test.o
test-objs := main.o sub.o
CC=arm-linux-gnueabihf-gcc
ARCH=arm
KBUILD_DIR = /lib/modules/4.14-at49/build
all:
make -C $(KBUILD_DIR) M=$(shell pwd) ARCH=$(ARCH) modules
clean:
make -C $(KBUILD_DIR) M=$(shell pwd) clean
コメント
faxdfjk
at_ohsawa
2022年12月14日 14時16分
test.oが、main.cから生成されるmain.oとsub.cから生成されるsub.oの2つを
リンクしたオブジェクトである。という意図ならtest-objsではなくtest-yではないでしょうか。
カーネルソースのDocumentation/kbuild/modules.txtにかいてあります。
モジュールのビルドスクリプトの規則がまとまっているので、このファイルの一読をおすすめします。