我正在尝试为我的go
项目创建一个简单的Makefile
。
以下命令替换
GO_BUILD := 'go build -ldflags "-s -w" -a -installsuffix cgo'
.PHONY: backup
build-cli:
@$(GO_BUILD) -o cli ./cli
似乎造成了以下问题
▶ make build-cli
make: go build -ldflags "-s -w" -a -installsuffix cgo: No such file or directory
make: *** [build-cli] Error 1
替换go build -ldflags "-s -w" -a -installsuffix cgo
的语法正确方法是什么?
从变量中删除多余的引号应该可以做到:
GO_BUILD := go build -ldflags "-s -w" -a -installsuffix cgo
否则,外壳(make
生成)将看到以下命令行:
'go build ...' -o cli ./cli
它正确地将整个字符串go build ...
视为argv[0]
,并尝试将其查找为可执行文件。