Makefile 错误:空变量名

Sak*_*tra 4 make

我正在编写一个简单的 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
Run Code Online (Sandbox Code Playgroud)

我该如何纠正?

我的生成文件:

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
Run Code Online (Sandbox Code Playgroud)

Ant*_*hon 5

(GNU) Make 手册的第9.3节描述了覆盖变量。

包含 '=' 的参数指定变量的值:'v=x' 将变量 v 的值设置为 x。

问题不在于您的 makefile,而在于调用。包含的参数=只是=。Make 不会将多个参数连接成一个您应该指定的参数:SUBDIRS=/home/esp/task1-2