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

问题描述 投票:0回答:1

假设我有一个使用 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

现在,我如何通过

--help
make
参数传递给我的应用程序?

makefile command-line arguments sh command-line-arguments
1个回答
8
投票

像这样运行

make

make run ARGS=“arg1 arg2”

然后在你的 Makefile 中使用:

run:
    @echo "Running projectname"
    @PYTHONPATH=${PYTHONPATH}:$(abs_srcdir)/..; ./projectname ${ARGS}
© www.soinside.com 2019 - 2024. All rights reserved.