BUILD_TIME := $(shell date "+%F %T") COMMIT_SHA1 := $(shell git rev-parse HEAD ) VERSION=0.0.1 LDFLAGS := -ldflags "-X 'chain-service/internal.BuildTime=${BUILD_TIME}' -X 'chain-service/internal.CommitID=${COMMIT_SHA1}' -X 'chain-service/internal.Version=${VERSION}'" SOURCE := ./chain.go BUILD_NAME := chain-service .PHONY:gen-code start-service build gen-code: # 先生成 go-zero 的基础代码,此时可能只包含部分 grpc pb、service 定义文件 # goctl rpc 工具一次只能读取一个 proto 文件,不要用 *.proto(go-zero 的 cli flag 会将 * 识别成多个文件参数,报错了) goctl rpc protoc --go_out=./internal/types --go-grpc_out=./internal/types --zrpc_out=. ./proto/chain.proto # 再用原生 protoc 生成所有的 grpc pb、service 定义文件 protoc --go_out=./internal/types --go-grpc_out=./internal/types ./proto/*.proto start-service: go run ./chain.go build: go build ${LDFLAGS} -o ${BUILD_NAME} ./chain.go gen-cert: bash ./scripts/generate_cert.sh ./cert ./scripts