私は単純なHello Worldカーネルモジュールを書いています。私が書いたMakefileで次のエラーが発生しました。
esp@ubuntu:~/task1-2$ make all
make -C /usr/src/linux-headers-3.13.0-35-generic SUBDIRS = /home/esp/task1-2 modules
make: ****** empty variable name. Stop.
make: ** [all] Error 2
この問題をどのように修正できますか?
私のビルドファイル:
obj-m += task1-2.o
KDIR = /usr/src/linux-headers-3.13.0-35-generic
all:
$(MAKE) -C $(KDIR) SUBDIRS = $(PWD) modules
clean:
rm -f *.o
rm -f *.ko
rm -f *.mod.*
rm -f *.symvers
rm -f *.order
ベストアンサー1
この部分(GNU) マニュアル 9.3 作成オーバーライド変数について説明します。
"="を含むパラメータは変数の値を指定します。 "v=x" は変数 v の値を x に設定します。
問題はmakefileにあるのではなく、呼び出しにあります。含まれるパラメータ=
は正しい=
。 Makeは、複数の引数を指定する必要がある1つの引数にリンクしませんSUBDIRS=/home/esp/task1-2
。