Makefile 错误:变量名为空

Makefile 错误:变量名为空

我正在编写一个简单的 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) Make 手册的 9.3描述覆盖变量。

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

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

相关内容