makefile - $(error) - *** 命令在第一个目标之前开始。停止
问题描述
在下面的代码中:
GREEN := "\e[1;33m]"
NCOLOR := "\e[0m"
INFO := @bash -c '\
printf $(GREEN); \
echo "=> $$1"; \
printf $(NCOLOR)' VALUE
ifeq (tag, $(firstword $(MAKECMDGOALS)))
ifneq (2, $(words $(MAKECMDGOALS)))
$(error Wrong number of tag arguments)
endif
LIST_ARGS := $(wordlist 2,$(words $(MAKECMDGOALS)), $(MAKECMDGOALS))
VERSION := $(word 1, $(LIST_ARGS))
COMMIT_HASH := $(word 2, $(LIST_ARGS))
ifeq ($(LIST_ARGS),)
$(error You must specify a tag)
endif
$(eval $(LIST_ARGS):;@:)
endif
缩进是使用制表符完成的
错误:Makefile:12: *** commands commence before first target. Stop.
运行后发生make tag
如果我删除第 11、12 和 13 行,它会起作用。
第 24 行是空格缩进,其余都是 TAB 缩进
如何解决这个缩进错误?
解决方案
推荐阅读
- ffmpeg - FFmpeg MP3 管道流卡住了
- kubernetes - metallb提供的IP不可访问
- laravel - Laravel HasManyThrough 限制不起作用
- postgresql - 将 struct 内的接口映射到 postgres db 列数据类型
- fail2ban - Fail2ban 设置失败正则表达式
- python - DAG 文件中的气流变量用法
- javascript - Vuex 商店中的 Vue 异步调用 REST API
- laravel - 检查交易中所有订单的状态并将交易标记为已完成
- javascript - 如何将对象列表转换为 FormData
- python - 为什么使用 Python 的 Selenium webdriver 无法访问网站