Makefile make8.mk:11: *** missing separator. Stop.

在学习makefile时遇到一个问题,执行make8.mk时收到错误提示:第11行缺少分隔符。通过检查和修正Makefile的语法细节,问题得到解决。提醒自己在编程学习中要更加细心。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


今天在学习makefile的时候遇到一个问题,执行命令的时候老师报:make8.mk:11: *** missing separator.  Stop.的错误。

场景还原:

Makefile文件名:

make8.mk

<span style="font-size:18px;">#this file is just a demo to test the make
define print_target
@echo the make target is $(MAKECMDGOALS)
endef
.PHONY:values clean makecmd
values:
	$(print_target)
clean:
	$(print_target)
	@echo execute the clean target

ifeq($(MAKECMDGOALS),clean)
print_string=the make target is clean
else
print_string=the make target is $(MAKECMDGOALS)
endif
makecmd:
	@echo $(print_string)</span>

执行命令出现一下情况:

desktop:~/work$ make -f make8.mk makecmd
make8.mk:12: *** missing separator.  Stop.
我反复检查变量命名,语法最终才发现了错误地方,原来是ifeq后面缺少一个空格,加上一个空格就ok了。

ifeq<span style="background-color: rgb(255, 0, 0);"> </span>($(MAKECMDGOALS),clean)
唉,就这个空格花费了我一个小时的时间。惭愧啊!

希望自己以后学习的时候细心点,引以为鉴吧!嘿嘿!

最后的执行结果:

desktop:~/work$ make -f make8.mk makecmd
the make target is makecmd




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值