我可以将变量作为命令行参数传递给GNUMakefile吗?换句话说,我想传递一些参数,这些参数最终将成为Makefile中的变量。
当前回答
export ROOT_DIR=<path/value>
然后使用Makefile中的变量$(ROOT_DIR)。
其他回答
export ROOT_DIR=<path/value>
然后使用Makefile中的变量$(ROOT_DIR)。
假设你有一个这样的makefile:
action:
echo argument is $(argument)
然后你可以称之为make action argument=something
最简单的方法是:
make foo=bar target
然后在makefile中可以引用$(foo)。注意,这不会自动传播到子制作。
如果您正在使用子制造,请参阅本文:向子制造传递变量
如果您创建一个名为Makefile的文件,并添加一个类似于$(unittest)的变量那么即使使用通配符,也可以在Makefile中使用该变量
例子:
make unittest=*
我使用BOOST_TEST,并为参数--run_TEST=$(unittest)提供通配符然后我将能够使用正则表达式过滤掉我想要的Makefile测试运行
似乎命令args覆盖了环境变量。
生成文件:
send:
echo $(MESSAGE1) $(MESSAGE2)
示例运行:
$ MESSAGE1=YES MESSAGE2=NG make send MESSAGE2=OK
echo YES OK
YES OK
推荐文章
- 在Makefile中@:(at符号冒号)是什么意思?
- 如何使用文件的行作为命令的参数?
- 我在哪里可以找到Mac OS X Lion的“make”程序?
- 使用g++编译多个.cpp和.h文件
- 如何强制makefile重新构建目标?
- 在Unix中,我可以在一个目录中运行'make'而不首先cd'到该目录吗?
- 如何通过docker运行传递参数到Shell脚本
- @, -和+作为Make中食谱行前缀的作用是什么?
- 在makefile中抑制命令调用的回声?
- 解析命令行参数的最佳方法?
- 如何“使”应用程序知道默认目标构建,如果没有目标指定?
- 如何在Makefile目标中使用Bash语法?
- 在规则执行时定义make变量
- 如何在Makefile中编写循环?
- 如何在命令行中将变量传递给ansible playbook ?