В файле Makefile отсутствует разделитель, несмотря на использование правильного отступа - PullRequest
0 голосов
/ 25 сентября 2018

Хотя я провел некоторое исследование об ошибке и понял, что она имеет отношение к отступу.Я до сих пор не могу понять, что не так с моим 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и программирование в целом, и я не могу найти что-то не так с моим кодом.Может кто-нибудь помочь мне выяснить, в чем проблема, которая вызывает ошибку?

1 Ответ

0 голосов
/ 25 сентября 2018

Вам не хватает оператора присваивания, это должно быть

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

или обычно KERNEL_DIR обычно устанавливается, только если он еще не установлен:

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