1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- BUILD_TIME=$(shell date "+%FZ%T")
- COMMIT_SHA1=$(shell git rev-parse HEAD)
- ct=$(shell git log -1 --format="%ct")
- COMMIT_TIME= $(shell date -d "1970-01-01 UTC $(ct) seconds" "+%FZ%T")
- GIT_TAG=$(shell git describe --exact-match HEAD 2> /dev/null)
- GIT_BRANCH:=$(if $(BRANCH_NAME),$(BRANCH_NAME),$(shell git rev-parse --abbrev-ref HEAD))
- VERSION_PACKAGE=gogs.baozhida.cn/Cold_Logistic_libs/pkg/contrib/version
- flags="-X $(VERSION_PACKAGE).BuildTime=${BUILD_TIME} -X $(VERSION_PACKAGE).CommitTime=${COMMIT_TIME} -X $(VERSION_PACKAGE).CommitID=${COMMIT_SHA1} -X $(VERSION_PACKAGE).GitTag=${GIT_TAG} -X $(VERSION_PACKAGE).GitBranch=${GIT_BRANCH}"
- GOCMD=go
- GOBUILD=$(GOCMD) build
- GOCLEAN=$(GOCMD) clean
- GOTEST=$(GOCMD) test
- GOGET=$(GOCMD) get
- GOGENERATE=$(GOCMD) generate
- GOVET=$(GOCMD) vet
- OS_TYPE=$(shell go env GOOS)
- BINARY_NAME := $(PROJECT_NAME)
- ifeq ($(OS_TYPE),windows)
- GO_OUT_EXT := .exe
- endif
- all: build_server
- .PHONY: build
- build:
- $(GOBUILD) --ldflags ${flags} -o ./cmd/$(PROJECT_NAME)/$(BINARY_NAME)$(GO_OUT_EXT) -v ./cmd/$(PROJECT_NAME)/main.go
- .PHONY: test
- test:generate
- $(GOTEST) -v ./...
- .PHONY: clean
- clean:
- $(GOCLEAN)
- rm -f ./cmd/$(BINARY_NAME)
- rm -f ./cmd/$(BINARY_NAME)
- .PHONY: changelog
- changelog:
- git tag -ln --sort=taggerdate > ./CHANGELOG
- .PHONY: generate
- generate:
- $(GOGENERATE) -x ./...
- .PHONY: vet
- vet:
- $(GOVET) ./...
- fmt:
- # go install mvdan.cc/gofumpt@latest
- gofumpt -l -w -extra .
- .PHONY: swagger
- swagger:
- swag fmt
- swag init -g ./cmd/$(PROJECT_NAME)/main.go -o ./doc --parseDependency true
- # Cross compilation
- .PHONY: build-linux
- build-linux:
- GOOS=linux GOARCH=amd64 $(GOBUILD) --ldflags ${flags} -o ./cmd/$(PROJECT_NAME)/$(BINARY_NAME) -v ./cmd/$(PROJECT_NAME)/main.go
- .PHONY: build-win
- build-win:
- GOOS=windows GOARCH=amd64 $(GOBUILD) --ldflags ${flags} -o ./cmd/$(PROJECT_NAME)/$(BINARY_NAME).exe -v ./cmd/$(PROJECT_NAME)/main.go
- # 编译server程序
- build_server :
- make build PROJECT_NAME:=cclogisticserver
|