diff --git a/Makefile b/Makefile index b429ef5c9e..f897f5c26d 100644 --- a/Makefile +++ b/Makefile @@ -85,6 +85,13 @@ KOPS_SERVER_TAG := $(subst +,-,${VERSION}) GO15VENDOREXPERIMENT=1 export GO15VENDOREXPERIMENT +COMPILERVERSION := $(shell go version | cut -d' ' -f3 | tr -d '\n') +ifeq ($(COMPILERVERSION),go1.10) +LDFLAGS := -ldflags=all= +else +LDFLAGS := -ldflags= +endif + ifdef STATIC_BUILD CGO_ENABLED=0 export CGO_ENABLED @@ -100,7 +107,7 @@ endif .PHONY: kops-install # Install kops to local $GOPATH/bin kops-install: gobindata-tool ${BINDATA_TARGETS} - go install ${EXTRA_BUILDFLAGS} -ldflags "-X k8s.io/kops.Version=${VERSION} -X k8s.io/kops.GitVersion=${GITSHA} ${EXTRA_LDFLAGS}" k8s.io/kops/cmd/kops/ + go install ${EXTRA_BUILDFLAGS} ${LDFLAGS}"-X k8s.io/kops.Version=${VERSION} -X k8s.io/kops.GitVersion=${GITSHA} ${EXTRA_LDFLAGS}" k8s.io/kops/cmd/kops/ .PHONY: channels-install # Install channels to local $GOPATH/bin channels-install: ${CHANNELS} @@ -151,11 +158,11 @@ kops: ${KOPS} .PHONY: ${KOPS} ${KOPS}: ${BINDATA_TARGETS} - go build ${EXTRA_BUILDFLAGS} -ldflags "-X k8s.io/kops.Version=${VERSION} -X k8s.io/kops.GitVersion=${GITSHA} ${EXTRA_LDFLAGS}" -o $@ k8s.io/kops/cmd/kops/ + go build ${EXTRA_BUILDFLAGS} ${LDFLAGS}"-X k8s.io/kops.Version=${VERSION} -X k8s.io/kops.GitVersion=${GITSHA} ${EXTRA_LDFLAGS}" -o $@ k8s.io/kops/cmd/kops/ ${GOBINDATA}: mkdir -p ${LOCAL} - go build ${EXTRA_BUILDFLAGS} -ldflags "${EXTRA_LDFLAGS}" -o $@ k8s.io/kops/vendor/github.com/jteeuwen/go-bindata/go-bindata + go build ${EXTRA_BUILDFLAGS} ${LDFLAGS}"${EXTRA_LDFLAGS}" -o $@ k8s.io/kops/vendor/github.com/jteeuwen/go-bindata/go-bindata .PHONY: gobindata-tool gobindata-tool: ${GOBINDATA} @@ -204,7 +211,7 @@ test: ${BINDATA_TARGETS} # Run tests locally .PHONY: ${DIST}/linux/amd64/nodeup ${DIST}/linux/amd64/nodeup: ${BINDATA_TARGETS} mkdir -p ${DIST} - GOOS=linux GOARCH=amd64 go build -a ${EXTRA_BUILDFLAGS} -o $@ -ldflags "${EXTRA_LDFLAGS} -X k8s.io/kops.Version=${VERSION} -X k8s.io/kops.GitVersion=${GITSHA}" k8s.io/kops/cmd/nodeup + GOOS=linux GOARCH=amd64 go build -a ${EXTRA_BUILDFLAGS} -o $@ ${LDFLAGS}"${EXTRA_LDFLAGS} -X k8s.io/kops.Version=${VERSION} -X k8s.io/kops.GitVersion=${GITSHA}" k8s.io/kops/cmd/nodeup .PHONY: crossbuild-nodeup crossbuild-nodeup: ${DIST}/linux/amd64/nodeup @@ -218,17 +225,17 @@ crossbuild-nodeup-in-docker: .PHONY: ${DIST}/darwin/amd64/kops ${DIST}/darwin/amd64/kops: ${BINDATA_TARGETS} mkdir -p ${DIST} - GOOS=darwin GOARCH=amd64 go build -a ${EXTRA_BUILDFLAGS} -o $@ -ldflags "${EXTRA_LDFLAGS} -X k8s.io/kops.Version=${VERSION} -X k8s.io/kops.GitVersion=${GITSHA}" k8s.io/kops/cmd/kops + GOOS=darwin GOARCH=amd64 go build -a ${EXTRA_BUILDFLAGS} -o $@ ${LDFLAGS}"${EXTRA_LDFLAGS} -X k8s.io/kops.Version=${VERSION} -X k8s.io/kops.GitVersion=${GITSHA}" k8s.io/kops/cmd/kops .PHONY: ${DIST}/linux/amd64/kops ${DIST}/linux/amd64/kops: ${BINDATA_TARGETS} mkdir -p ${DIST} - GOOS=linux GOARCH=amd64 go build -a ${EXTRA_BUILDFLAGS} -o $@ -ldflags "${EXTRA_LDFLAGS} -X k8s.io/kops.Version=${VERSION} -X k8s.io/kops.GitVersion=${GITSHA}" k8s.io/kops/cmd/kops + GOOS=linux GOARCH=amd64 go build -a ${EXTRA_BUILDFLAGS} -o $@ ${LDFLAGS}"${EXTRA_LDFLAGS} -X k8s.io/kops.Version=${VERSION} -X k8s.io/kops.GitVersion=${GITSHA}" k8s.io/kops/cmd/kops .PHONY: ${DIST}/windows/amd64/kops.exe ${DIST}/windows/amd64/kops.exe: ${BINDATA_TARGETS} mkdir -p ${DIST} - GOOS=windows GOARCH=amd64 go build -a ${EXTRA_BUILDFLAGS} -o $@ -ldflags "${EXTRA_LDFLAGS} -X k8s.io/kops.Version=${VERSION} -X k8s.io/kops.GitVersion=${GITSHA}" k8s.io/kops/cmd/kops + GOOS=windows GOARCH=amd64 go build -a ${EXTRA_BUILDFLAGS} -o $@ ${LDFLAGS}"${EXTRA_LDFLAGS} -X k8s.io/kops.Version=${VERSION} -X k8s.io/kops.GitVersion=${GITSHA}" k8s.io/kops/cmd/kops .PHONY: crossbuild @@ -384,7 +391,7 @@ nodeup: ${NODEUP} .PHONY: ${NODEUP} ${NODEUP}: ${BINDATA_TARGETS} - go build ${EXTRA_BUILDFLAGS} -ldflags "${EXTRA_LDFLAGS} -X k8s.io/kops.Version=${VERSION} -X k8s.io/kops.GitVersion=${GITSHA}" -o $@ k8s.io/kops/cmd/nodeup + go build ${EXTRA_BUILDFLAGS} ${LDFLAGS}"${EXTRA_LDFLAGS} -X k8s.io/kops.Version=${VERSION} -X k8s.io/kops.GitVersion=${GITSHA}" -o $@ k8s.io/kops/cmd/nodeup .PHONY: nodeup-dist nodeup-dist: @@ -398,7 +405,7 @@ nodeup-dist: .PHONY: dns-controller-gocode dns-controller-gocode: - go install -tags 'peer_name_alternative peer_name_hash' -ldflags "${EXTRA_LDFLAGS} -X main.BuildVersion=${DNS_CONTROLLER_TAG}" k8s.io/kops/dns-controller/cmd/dns-controller + go install -tags 'peer_name_alternative peer_name_hash' ${LDFLAGS}"${EXTRA_LDFLAGS} -X main.BuildVersion=${DNS_CONTROLLER_TAG}" k8s.io/kops/dns-controller/cmd/dns-controller .PHONY: dns-controller-builder-image dns-controller-builder-image: @@ -527,7 +534,7 @@ channels: ${CHANNELS} .PHONY: ${CHANNELS} ${CHANNELS}: - go build ${EXTRA_BUILDFLAGS} -o $@ -ldflags "-X k8s.io/kops.Version=${VERSION} ${EXTRA_LDFLAGS}" k8s.io/kops/channels/cmd/channels + go build ${EXTRA_BUILDFLAGS} -o $@ ${LDFLAGS}"-X k8s.io/kops.Version=${VERSION} ${EXTRA_LDFLAGS}" k8s.io/kops/channels/cmd/channels # -------------------------------------------------- # release tasks @@ -575,7 +582,7 @@ apimachinery-codegen: .PHONY: kops-server-docker-compile kops-server-docker-compile: - GOOS=linux GOARCH=amd64 go build -a ${EXTRA_BUILDFLAGS} -o ${DIST}/linux/amd64/kops-server -ldflags "${EXTRA_LDFLAGS} -X k8s.io/kops-server.Version=${VERSION} -X k8s.io/kops-server.GitVersion=${GITSHA}" k8s.io/kops/cmd/kops-server + GOOS=linux GOARCH=amd64 go build -a ${EXTRA_BUILDFLAGS} -o ${DIST}/linux/amd64/kops-server ${LDFLAGS}"${EXTRA_LDFLAGS} -X k8s.io/kops-server.Version=${VERSION} -X k8s.io/kops-server.GitVersion=${GITSHA}" k8s.io/kops/cmd/kops-server .PHONY: kops-server-build kops-server-build: