如何将参数传递给 make 规则?

How can I pass arguments to a make rule?

假设我有一个使用 make 进行安装的 python 项目。我希望能够 运行 该项目而无需先安装它。所以我创建了这个 make 规则:

run:
    @echo "Running projectname"
    @PYTHONPATH=${PYTHONPATH}:$(abs_srcdir)/..; ./projectname

其中 ./projectname 运行 是一个简单的 python 脚本,用于设置和 运行 项目,但这在这里并不重要。像那样,我可以简单地在项目的根文件夹中执行 make run 来执行和测试我的应用程序,它工作得很好。现在,我想将一些命令行参数传递给程序。我尝试了 make run --help,它只是打印了 make 的帮助文本。 运行 make run -- --help 印刷

Running projectname
make: *** No rule to make target '--help'.  Stop.

应用程序是 运行,在我退出后,make 尝试执行目标 --help

现在,我如何通过 make--help 参数传递给我的应用程序?

make run ARGS=“arg1 arg2”

您的 makefile 中的 $(ARGS) 将扩展为您传递的内容。