我正在尝试编写一个超级简单的文件Makefile来在Go项目中运行测试。项目的依赖项已供应,但我想跳过这些测试。从命令行运行时,我只是做
Makefile
$ go test $(go list ./... | grep -v /vendor/)
但是,当我把它变成Makefile这样的时候:
test: go test $(go list ./... | grep -v /vendor/) .PHONY: test
该表达式将不被评估:
$ make go test ? github.com/m90/some-repo [no test files]
我如何获得make以类似shell的方式插值表达式的方法?
在Makefile配方部分中,您将需要使用escape $使用第二个$:
$
test: go test $$(go list ./... | grep -v /vendor/) .PHONY: test