如何在bash命令行上运行make脚本? (学习时很有用)

时间:2015-12-19 11:09:27

标签: makefile

有没有办法在bash cmd行上运行Make代码? 例如:

  

make -e'FOO = bar all:@echo你好$(FOO)'

-e, - man-overrides in man make,所以其他一些选项可以完成我上面描述的内容。

2 个答案:

答案 0 :(得分:0)

您可以使用eval

make -e "FOO=bar" --eval="all:;@echo Hi there $(FOO)"

答案 1 :(得分:0)

make可以从stdin读取其Makefile。有很多方法可以做到这一点。

$ echo 'all:;@echo Hi there $(FOO)' | make -f - FOO=Joe
Hi there Joe
$ make -f - FOO=Joe <<'EOF'
all:;@echo Hi there $(FOO)
EOF
Hi there Joe
$ make -f - FOO=Joe <<< 'all:;@echo Hi there $(FOO)'
Hi there Joe

第二个,在shell的说法中使用 here-document ,可以很容易地使用多行Makefile。

由于<<<,最后一个是特定于bash的。它不会便携地工作。