尽管使用正确的缩进,Makefile缺少分隔符错误

时间:2018-09-25 07:08:22

标签: c makefile linux-device-driver makefile-errors

尽管我已经对错误进行了一些研究,并且了解到它与缩进有关。我仍然无法弄清楚我的Makefile出了什么问题,导致终端出错:Makefile:2: *** missing separator. Stop. 在运行make clean命令时。 我的Makefile的内容如下:

obj-m := S3538332Device.o
KERNEL_DIR /usr/src/linux-headers-$(shell uname -r)
all:
    $(MAKE) -C $(KERNEL_DIR) SUBDIRS=$(PWD) modules
clean:
    rm -rf *.o *.ko *.mod.* *.symvers *.order *~

我尝试并运行cat -e -t -v {Makefile}以确保选项卡在正确的位置:

obj-m := S3538332Device.o$
KERNEL_DIR /usr/src/linux-headers-$(shell uname -r)$
all:$
^I$(MAKE) -C $(KERNEL_DIR) SUBDIRS=$(PWD) modules$
clean:$
^Irm -rf *.o *.ko *.mod.* *.symvers *.order *~$

我一般对makefile和c编程都是陌生的,因此我找不到代码有什么问题。谁能帮助我找出导致错误的问题是什么?

1 个答案:

答案 0 :(得分:0)

您缺少赋值运算符,应该是

KERNEL_DIR = /usr/src/linux-headers-$(shell uname -r)

或者通常仅在尚未设置KERNEL_DIR时设置:

KERNEL_DIR ?= /usr/src/linux-headers-$(shell uname -r)