我得到以下错误运行make:
Makefile:168: *** missing separator. Stop.
是什么导致了这种情况?
我得到以下错误运行make:
Makefile:168: *** missing separator. Stop.
是什么导致了这种情况?
当前回答
在我的例子中,同样的错误是由于冒号:在结束时丢失了stage .deploy:。所以请注意,这可能是一个简单的语法错误。
其他回答
在我的例子中,这个错误是由于缺乏空间造成的。我在我的makefile中有这个if块:
if($(METHOD),opt)
CFLAGS=
endif
应该是:
if ($(METHOD),opt)
CFLAGS=
endif
if后面加一个空格。
以下Makefile代码工作:
obj-m = hello.o
all:
$(MAKE) -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
$(MAKE) -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
这是因为在PHONY后面没有冒号
不是这个,
.PHONY install
install:
install -m0755 bin/ytdl-clean /usr/local/bin
但是这个(注意冒号)
.PHONY: install
...
在我的例子中,同样的错误是由于冒号:在结束时丢失了stage .deploy:。所以请注意,这可能是一个简单的语法错误。
在我的例子中,错误导致了下一个。我尝试全局执行命令,即在任何目标之外。
乌利希期刊指南。要在全局运行命令,必须正确地构造一个命令。例如命令
ln -sf ../../user/curl/$SRC_NAME ./$SRC_NAME
将成为:
$(shell ln -sf ../../user/curl/$(SRC_NAME) ./$(SRC_NAME))