Skip to content
This repository has been archived by the owner on Jul 30, 2021. It is now read-only.

Commit

Permalink
Merge pull request #762 from dghubble/multi-arch
Browse files Browse the repository at this point in the history
Makefile: Cross-compile checkpointer for multiple archs
  • Loading branch information
dghubble authored Nov 17, 2017
2 parents 107e358 + 49fa2dc commit c637bd5
Showing 1 changed file with 14 additions and 1 deletion.
15 changes: 14 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,19 @@ GOPATH_BIN:=$(shell echo ${GOPATH} | awk 'BEGIN { FS = ":" }; { print $1 }')/bin
LDFLAGS=-X github.com/kubernetes-incubator/bootkube/pkg/version.Version=$(shell $(CURDIR)/build/git-version.sh)

all: \
_output/bin/linux/bootkube \
_output/bin/darwin/bootkube \
_output/bin/linux/checkpoint

cross: \
_output/bin/linux/bootkube \
_output/bin/darwin/bootkube \
_output/bin/linux/checkpoint \
_output/bin/linux/amd64/checkpoint \
_output/bin/linux/arm/checkpoint \
_output/bin/linux/arm64/checkpoint \
_output/bin/linux/ppc64le/checkpoint \
_output/bin/linux/s390x/checkpoint

release: \
clean \
Expand All @@ -25,9 +35,12 @@ check:
install: _output/bin/$(LOCAL_OS)/bootkube
cp $< $(GOPATH_BIN)

_output/bin/%: GOOS=$(word 1, $(subst /, ,$*))
_output/bin/%: GOARCH=$(word 2, $(subst /, ,$*))
_output/bin/%: GOARCH:=amd64 # default to amd64 to support release scripts
_output/bin/%: $(GOFILES)
mkdir -p $(dir $@)
GOOS=$(word 1, $(subst /, ,$*)) go build $(GOFLAGS) -ldflags "$(LDFLAGS)" -o $@ github.com/kubernetes-incubator/bootkube/cmd/$(notdir $@)
GOOS=$(GOOS) GOARCH=$(GOARCH) go build $(GOFLAGS) -ldflags "$(LDFLAGS)" -o $@ github.com/kubernetes-incubator/bootkube/cmd/$(notdir $@)

_output/release/bootkube.tar.gz: _output/bin/linux/bootkube _output/bin/darwin/bootkube _output/bin/linux/checkpoint
mkdir -p $(dir $@)
Expand Down

0 comments on commit c637bd5

Please sign in to comment.