代码拉取完成,页面将自动刷新
# 定义伪目标。不创建目标文件,而是去执行这个目标下面的命令。
.PHONY: all linux run gotool clean help
# 生成的二进制文件名
BINARY_NAME="super-signature-app"
MODULE_NAME="super-signature"
TARGET=$(out)
# 编译添加版本信息
versionDir = "${MODULE_NAME}/util/version"
gitTag = $(shell if [ "`git describe --tags --abbrev=0 2>/dev/null`" != "" ];then git describe --tags --abbrev=0; else git log --pretty=format:'%h' -n 1; fi)
buildDate = $(shell TZ=Asia/Shanghai date +%FT%T%z)
gitCommit = $(shell git log --pretty=format:'%H' -n 1)
gitTreeState = $(shell if git status|grep -q 'clean';then echo clean; else echo dirty; fi)
ldflags="-w -X ${versionDir}.gitTag=${gitTag} -X ${versionDir}.buildDate=${buildDate} -X ${versionDir}.gitCommit=${gitCommit} -X ${versionDir}.gitTreeState=${gitTreeState}"
# 执行make命令时所执行的所有命令
all: clean
go build -v -ldflags ${ldflags} -o ${BINARY_NAME} .
# 交叉编译linux amd64版本
linux: clean
GOOS=linux GOARCH=amd64 go build -v -ldflags ${ldflags} -o ${BINARY_NAME} .
# gotool工具
gotool:
# 整理代码格式
gofmt -w .
# 代码静态检查
go vet . | grep -v vendor;true
# 清理二进制文件
clean:
@if [ -f ${BINARY_NAME} ] ; then rm ${BINARY_NAME} ; fi
# 帮助
help:
@echo "make - 编译生成当前平台可运行的二进制文件"
@echo "make linux - 交叉编译生成linux amd64可运行的二进制文件"
@echo "make gotool - 运行 Go 工具 'fmt' and 'vet'"
@echo "make clean - 清理编译生成的二进制文件"
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。