From 4efa821762b5ff825a3372fc50e14eb4b906c510 Mon Sep 17 00:00:00 2001 From: Sebastian Wicki Date: Thu, 27 May 2021 09:48:34 +0200 Subject: [PATCH] Makefile: Introduce GO_BUILD variable This allows users to overwrite the GO environment variable while still using CGO_ENABLED=false. This for example is useful when testing pre-releases of the Go compiler. Signed-off-by: Sebastian Wicki --- Makefile | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index fb8281950..11ec18897 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,5 @@ -GO := CGO_ENABLED=0 go +GO := go +GO_BUILD = CGO_ENABLED=0 $(GO) build INSTALL = $(QUIET)install BINDIR ?= /usr/local/bin TARGET=hubble @@ -20,7 +21,7 @@ GOLANGCILINT_VERSION = $(shell golangci-lint version 2>/dev/null) all: hubble hubble: - $(GO) build $(if $(GO_TAGS),-tags $(GO_TAGS)) -ldflags "-w -s -X 'github.com/cilium/hubble/pkg.GitBranch=${GIT_BRANCH}' -X 'github.com/cilium/hubble/pkg.GitHash=$(GIT_HASH)' -X 'github.com/cilium/hubble/pkg.Version=${VERSION}'" -o $(TARGET) + $(GO_BUILD) $(if $(GO_TAGS),-tags $(GO_TAGS)) -ldflags "-w -s -X 'github.com/cilium/hubble/pkg.GitBranch=${GIT_BRANCH}' -X 'github.com/cilium/hubble/pkg.GitHash=$(GIT_HASH)' -X 'github.com/cilium/hubble/pkg.Version=${VERSION}'" -o $(TARGET) release: docker run --env "RELEASE_UID=$(RELEASE_UID)" --env "RELEASE_GID=$(RELEASE_GID)" --rm --workdir /hubble --volume `pwd`:/hubble docker.io/library/golang:1.16.4-alpine3.13 \ @@ -45,7 +46,7 @@ local-release: clean for ARCH in $$ARCHS; do \ echo Building release binary for $$OS/$$ARCH...; \ test -d release/$$OS/$$ARCH|| mkdir -p release/$$OS/$$ARCH; \ - env GOOS=$$OS GOARCH=$$ARCH $(GO) build $(if $(GO_TAGS),-tags $(GO_TAGS)) -ldflags "-w -s -X 'github.com/cilium/hubble/pkg.Version=${VERSION}'" -o release/$$OS/$$ARCH/$(TARGET)$$EXT; \ + env GOOS=$$OS GOARCH=$$ARCH $(GO_BUILD) $(if $(GO_TAGS),-tags $(GO_TAGS)) -ldflags "-w -s -X 'github.com/cilium/hubble/pkg.Version=${VERSION}'" -o release/$$OS/$$ARCH/$(TARGET)$$EXT; \ tar -czf release/$(TARGET)-$$OS-$$ARCH.tar.gz -C release/$$OS/$$ARCH $(TARGET)$$EXT; \ (cd release && sha256sum $(TARGET)-$$OS-$$ARCH.tar.gz > $(TARGET)-$$OS-$$ARCH.tar.gz.sha256sum); \ done; \ @@ -64,10 +65,10 @@ clean: rm -rf ./release test: - go test -timeout=$(TEST_TIMEOUT) -race -cover $$(go list ./...) + $(GO) test -timeout=$(TEST_TIMEOUT) -race -cover $$($(GO) list ./...) bench: - go test -timeout=30s -bench=. $$(go list ./...) + $(GO) test -timeout=30s -bench=. $$($(GO) list ./...) ifneq (,$(findstring $(GOLANGCILINT_WANT_VERSION),$(GOLANGCILINT_VERSION))) check: