有没有办法在bash cmd行上运行Make代码? 例如:
make -e'FOO = bar all:@echo你好$(FOO)'
-e, - man-overrides in man make,所以其他一些选项可以完成我上面描述的内容。
答案 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的。它不会便携地工作。