1+ ROOT_PACKAGE := github.com/stormcat24/protodep
2+ VERSION_PACKAGE := $(ROOT_PACKAGE ) /version
3+ LDFLAG_GIT_COMMIT := "$(VERSION_PACKAGE ) .gitCommit"
4+ LDFLAG_GIT_COMMIT_FULL := "$(VERSION_PACKAGE ) .gitCommitFull"
5+ LDFLAG_BUILD_DATE := "$(VERSION_PACKAGE ) .buildDate"
6+ LDFLAG_VERSION := "$(VERSION_PACKAGE ) .version"
7+
18.PHONY : tidy
29tidy :
310 GO111MODULE=on go mod tidy
@@ -10,11 +17,19 @@ APP := protodep
1017GOARCH := $(shell go env GOARCH)
1118GOOS := $(shell go env GOOS)
1219
13- build : tidy vendor
14- GO111MODULE=on GOOS=$(GOOS ) GOARCH=$(GOARCH ) go build -ldflags=" -w -s" -o bin/protodep -mod=vendor main.go
20+ build : tidy vendor version
21+ $(eval GIT_COMMIT := $(shell git describe --tags --always) )
22+ $(eval GIT_COMMIT_FULL := $(shell git rev-parse HEAD) )
23+ $(eval BUILD_DATE := $(shell date '+% Y% m% d') )
24+ GO111MODULE=on GOOS=$(GOOS ) GOARCH=$(GOARCH ) go build -ldflags=" -w -s -X $( LDFLAG_GIT_COMMIT) =$( GIT_COMMIT) -X $( LDFLAG_GIT_COMMIT_FULL) =$( GIT_COMMIT_FULL) -X $( LDFLAG_BUILD_DATE) =$( BUILD_DATE) -X $( LDFLAG_VERSION) =$( GIT_COMMIT) " \
25+ -o bin/protodep -mod=vendor main.go
1526
1627define build-artifact
17- GO111MODULE=on GOOS=$(1 ) GOARCH=$(2 ) go build -ldflags="-w -s" -o artifacts/$(3 ) -mod=vendor main.go
28+ $(eval GIT_COMMIT := $(shell git describe --tags --always) )
29+ $(eval GIT_COMMIT_FULL := $(shell git rev-parse HEAD) )
30+ $(eval BUILD_DATE := $(shell date '+% Y% m% d') )
31+ GO111MODULE=on GOOS=$(1 ) GOARCH=$(2 ) go build -ldflags="-w -s -X $(LDFLAG_GIT_COMMIT ) =$(GIT_COMMIT ) -X $(LDFLAG_GIT_COMMIT_FULL ) =$(GIT_COMMIT_FULL ) -X $(LDFLAG_BUILD_DATE ) =$(BUILD_DATE ) -X $(LDFLAG_VERSION ) =$(BUILD_DATE ) -$(GIT_COMMIT ) " \
32+ -o artifacts/$(3 ) -mod=vendor main.go
1833 cd artifacts && tar cvzf $(APP ) _$(1 ) _$(2 ) .tar.gz $(3 )
1934 rm ./artifacts/$(3 )
2035 @echo [INFO]build success: $(1 ) _$(2 )
0 commit comments