Makefile 缺少分隔符错误,尽管使用了正确的缩进
Makefile missing separator error in spite of using the correct indentation
虽然我对这个错误做了一些研究,并了解到它与缩进有关。我仍然无法弄清楚导致终端出现错误的 Makefile 有什么问题:Makefile:2: *** missing separator. Stop.
while 运行 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 编程还很陌生,我找不到我的代码有什么问题。任何人都可以帮我找出导致错误的问题吗?
您缺少赋值运算符,它应该是
KERNEL_DIR = /usr/src/linux-headers-$(shell uname -r)
或通常 KERNEL_DIR 通常只有在尚未设置时才会设置:
KERNEL_DIR ?= /usr/src/linux-headers-$(shell uname -r)
虽然我对这个错误做了一些研究,并了解到它与缩进有关。我仍然无法弄清楚导致终端出现错误的 Makefile 有什么问题:Makefile:2: *** missing separator. Stop.
while 运行 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 编程还很陌生,我找不到我的代码有什么问题。任何人都可以帮我找出导致错误的问题吗?
您缺少赋值运算符,它应该是
KERNEL_DIR = /usr/src/linux-headers-$(shell uname -r)
或通常 KERNEL_DIR 通常只有在尚未设置时才会设置:
KERNEL_DIR ?= /usr/src/linux-headers-$(shell uname -r)