如何将参数传递给 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) 将扩展为您传递的内容。
假设我有一个使用 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) 将扩展为您传递的内容。