【发布时间】:2017-12-04 19:41:57
【问题描述】:
我想知道是否可以让Makefile 向未知目标发出命令并直接运行它。
例如,我有一个脚本(我无法更改)向我的应用程序 Docker 容器发出命令,如下所示:
docker run -it my_app:latest "env FOO=bar bundle exec rails c"
这被翻译成: 制作“env FOO=bar bundle exec rails c”
生成:Makefile:7: *** missing target pattern. Stop.
这是我第一次捕捉未知目标的尝试:
.DEFAULT_GOAL: passthrough
passthrough:
@echo $(MAKECMDGOALS) # always empty
@echo ${ARGS} # always empty
是否可以在 docker run 参数中捕获传递给 Makefile 的整个字符串并直接运行它?
【问题讨论】:
-
error message 并不意味着你给
make一个“未知目标”。这意味着makefile已损坏;具体来说,它包含格式错误的静态模式规则。 -
你说得对,我实际上复制了错误的错误信息。除了我仍在尝试学习如何创建包罗万象之外,makefile 工作正常。