【发布时间】:2020-10-08 17:36:17
【问题描述】:
我有一个 Makefile,我想在其中加载放置在 .env 文件中的环境变量。
我正在使用include 指令来实现这一点。
-include .env
我还有一个help 目标来显示可用任务:
help: ## Displays help menu
grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
问题是与 include 指令一起使用时,它不能正常工作。帮助任务仅显示“Makefile”作为所有目标的名称。
$(MAKEFILE_LIST) 返回 "Makefile, .env" 而不是目标名称,所以我猜它以某种方式与 .env 混淆了。
我对 Makefile 的了解不够,无法理解问题所在。
有什么想法吗?
谢谢。
【问题讨论】:
-
也许阅读
MAKEFILE_LIST上的文档有助于理解问题? gnu.org/software/make/manual/html_node/…
标签: makefile