Disable DWARF and symbol table generation for CLI and build it statically (#754)

* Disable DWARF and symbol table generation for CLI and build it statically

* Separate `build` rule into two
This commit is contained in:
M. Mert Yıldıran 2022-02-16 17:12:31 +03:00 committed by GitHub
parent 87ef469e25
commit d5bb036939
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,3 +1,9 @@
SHELL=/bin/bash
.PHONY: help
.DEFAULT_GOAL := help
.ONESHELL:
SUFFIX=$(GOOS)_$(GOARCH) SUFFIX=$(GOOS)_$(GOARCH)
COMMIT_HASH=$(shell git rev-parse HEAD) COMMIT_HASH=$(shell git rev-parse HEAD)
GIT_BRANCH=$(shell git branch --show-current | tr '[:upper:]' '[:lower:]') GIT_BRANCH=$(shell git branch --show-current | tr '[:upper:]' '[:lower:]')
@ -5,9 +11,6 @@ GIT_VERSION=$(shell git branch --show-current | tr '[:upper:]' '[:lower:]')
BUILD_TIMESTAMP=$(shell date +%s) BUILD_TIMESTAMP=$(shell date +%s)
export VER?=0.0 export VER?=0.0
.PHONY: help
.DEFAULT_GOAL := help
help: ## This help. help: ## This help.
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST) @awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)
@ -16,15 +19,20 @@ install:
build-debug: ## Build mizu CLI for debug build-debug: ## Build mizu CLI for debug
export GCLFAGS='-gcflags="all=-N -l"' export GCLFAGS='-gcflags="all=-N -l"'
${MAKE} build ${MAKE} build-base
build: ## Build mizu CLI binary (select platform via GOOS / GOARCH env variables). build:
go build ${GCLFAGS} -ldflags="-X 'github.com/up9inc/mizu/cli/mizu.GitCommitHash=$(COMMIT_HASH)' \ export LDFLAGS_EXT='-extldflags=-static -s -w'
-X 'github.com/up9inc/mizu/cli/mizu.Branch=$(GIT_BRANCH)' \ ${MAKE} build-base
-X 'github.com/up9inc/mizu/cli/mizu.BuildTimestamp=$(BUILD_TIMESTAMP)' \
-X 'github.com/up9inc/mizu/cli/mizu.Platform=$(SUFFIX)' \ build-base: ## Build mizu CLI binary (select platform via GOOS / GOARCH env variables).
-X 'github.com/up9inc/mizu/cli/mizu.Ver=$(VER)'" \ go build ${GCLFAGS} -ldflags="${LDFLAGS_EXT} \
-o bin/mizu_$(SUFFIX) mizu.go -X 'github.com/up9inc/mizu/cli/mizu.GitCommitHash=$(COMMIT_HASH)' \
-X 'github.com/up9inc/mizu/cli/mizu.Branch=$(GIT_BRANCH)' \
-X 'github.com/up9inc/mizu/cli/mizu.BuildTimestamp=$(BUILD_TIMESTAMP)' \
-X 'github.com/up9inc/mizu/cli/mizu.Platform=$(SUFFIX)' \
-X 'github.com/up9inc/mizu/cli/mizu.Ver=$(VER)'" \
-o bin/mizu_$(SUFFIX) mizu.go
(cd bin && shasum -a 256 mizu_${SUFFIX} > mizu_${SUFFIX}.sha256) (cd bin && shasum -a 256 mizu_${SUFFIX} > mizu_${SUFFIX}.sha256)
build-all: ## Build for all supported platforms. build-all: ## Build for all supported platforms.