Plumb linker flags through from the Makefile

pull/6/head
Alex Crawford 2015-08-05 14:46:34 -07:00
parent 7c9bbef96e
commit 79f14822a9
2 changed files with 13 additions and 10 deletions

View File

@ -12,6 +12,9 @@ GODEPS_PKG_DIR = Godeps/_workspace/pkg
KUBE_GOFLAGS = $(GOFLAGS)
export KUBE_GOFLAGS
KUBE_GOLDFLAGS = $(GOLDFLAGS)
export KUBE_GOLDFLAGS
# Build code.
#
# Args:
@ -19,6 +22,7 @@ export KUBE_GOFLAGS
# package, the build will produce executable files under $(OUT_DIR)/go/bin.
# If not specified, "everything" will be built.
# GOFLAGS: Extra flags to pass to 'go' when building.
# GOLDFLAGS: Extra linking flags to pass to 'go' when building.
#
# Example:
# make
@ -35,6 +39,7 @@ all:
# directories will be run. If not specified, "everything" will be tested.
# TESTS: Same as WHAT.
# GOFLAGS: Extra flags to pass to 'go' when building.
# GOLDFLAGS: Extra linking flags to pass to 'go' when building.
#
# Example:
# make check
@ -78,6 +83,7 @@ clean:
# vetted.
# TESTS: Same as WHAT.
# GOFLAGS: Extra flags to pass to 'go' when building.
# GOLDFLAGS: Extra linking flags to pass to 'go' when building.
#
# Example:
# make vet

View File

@ -369,7 +369,7 @@ kube::golang::build_binaries_for_platform() {
local outfile=$(kube::golang::output_filename_for_binary "${binary}" "${platform}")
CGO_ENABLED=0 go build -o "${outfile}" \
"${goflags[@]:+${goflags[@]}}" \
-ldflags "${version_ldflags}" \
-ldflags "${goldflags}" \
"${binary}"
kube::log::progress "*"
done
@ -377,7 +377,7 @@ kube::golang::build_binaries_for_platform() {
local outfile=$(kube::golang::output_filename_for_binary "${binary}" "${platform}")
go build -o "${outfile}" \
"${goflags[@]:+${goflags[@]}}" \
-ldflags "${version_ldflags}" \
-ldflags "${goldflags}" \
"${binary}"
kube::log::progress "*"
done
@ -386,12 +386,12 @@ kube::golang::build_binaries_for_platform() {
# Use go install.
if [[ "${#nonstatics[@]}" != 0 ]]; then
go install "${goflags[@]:+${goflags[@]}}" \
-ldflags "${version_ldflags}" \
-ldflags "${goldflags}" \
"${nonstatics[@]:+${nonstatics[@]}}"
fi
if [[ "${#statics[@]}" != 0 ]]; then
CGO_ENABLED=0 go install -installsuffix cgo "${goflags[@]:+${goflags[@]}}" \
-ldflags "${version_ldflags}" \
-ldflags "${goldflags}" \
"${statics[@]:+${statics[@]}}"
fi
fi
@ -405,7 +405,7 @@ kube::golang::build_binaries_for_platform() {
pushd "$(dirname ${outfile})" >/dev/null
go test -c \
"${goflags[@]:+${goflags[@]}}" \
-ldflags "${version_ldflags}" \
-ldflags "${goldflags}" \
"$(dirname ${test})"
popd >/dev/null
done
@ -447,16 +447,13 @@ kube::golang::build_binaries() {
# Check for `go` binary and set ${GOPATH}.
kube::golang::setup_env
# Fetch the version.
local version_ldflags
version_ldflags=$(kube::version::ldflags)
local host_platform
host_platform=$(kube::golang::host_platform)
# Use eval to preserve embedded quoted strings.
local goflags
local goflags goldflags
eval "goflags=(${KUBE_GOFLAGS:-})"
goldflags="${KUBE_GOLDFLAGS:-} $(kube::version::ldflags)"
local use_go_build
local -a targets=()