Skip to content

Commit 3a09fda

Browse files
lubinszmurali-reddy
authored andcommitted
enable build on Arm platform (#445)
Signed-off-by: Bin Lu <[email protected]>
1 parent 17f92de commit 3a09fda

File tree

1 file changed

+5
-17
lines changed

1 file changed

+5
-17
lines changed

Makefile

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
NAME?=kube-router
2-
GOARCH?=amd64
2+
GOARCH?=$(shell go env GOARCH)
33
DEV_SUFFIX?=-git
44
OSX=$(filter Darwin,$(shell uname))
55
BUILD_DATE?=$(shell date +%Y-%m-%dT%H:%M:%S%z)
@@ -19,15 +19,13 @@ UPSTREAM_IMPORT_PATH=$(GOPATH)/src/github.com/cloudnativelabs/kube-router/
1919
BUILD_IN_DOCKER?=false
2020
DOCKER_BUILD_IMAGE?=golang:1.8.7-alpine
2121
ifeq ($(GOARCH), arm)
22-
QEMU_ARCH=arm
2322
ARCH_TAG_PREFIX=$(GOARCH)
2423
FILE_ARCH=ARM
25-
DOCKERFILE_SED_EXPR?=s,FROM alpine:,FROM multiarch/alpine:armhf-v,
24+
DOCKERFILE_SED_EXPR?=
2625
else ifeq ($(GOARCH), arm64)
27-
QEMU_ARCH=aarch64
2826
ARCH_TAG_PREFIX=$(GOARCH)
2927
FILE_ARCH=ARM aarch64
30-
DOCKERFILE_SED_EXPR?=s,FROM alpine:,FROM multiarch/alpine:aarch64-v,
28+
DOCKERFILE_SED_EXPR?=
3129
else
3230
DOCKERFILE_SED_EXPR?=
3331
FILE_ARCH=x86-64
@@ -83,7 +81,7 @@ vagrant-image-update: all ## Rebuild kube-router, update image in local VMs, and
8381
run: kube-router ## Runs "kube-router --help".
8482
./kube-router --help
8583

86-
container: multiarch-check Dockerfile.$(GOARCH).run kube-router gobgp multiarch-binverify ## Builds a Docker container image.
84+
container: Dockerfile.$(GOARCH).run kube-router gobgp multiarch-binverify ## Builds a Docker container image.
8785
@echo Starting kube-router container image build.
8886
$(DOCKER) build -t "$(REGISTRY_DEV):$(IMG_TAG)" -f Dockerfile.$(GOARCH).run .
8987
@if [ "$(GIT_BRANCH)" = "master" ]; then \
@@ -192,20 +190,10 @@ gobgp:
192190
cd vendor/github.com/osrg/gobgp/gobgp && \
193191
CGO_ENABLED=0 GOARCH=$(GOARCH) GOOS=linux go build -o $(MAKEFILE_DIR)/gobgp
194192

195-
multiarch-check:
196-
@[ -z "$(QEMU_ARCH)" ] && exit 0; \
197-
QEMU_RUNTIME=$$(sed -n '/interpreter/s/.* //p' /proc/sys/fs/binfmt_misc/qemu-$(QEMU_ARCH)); \
198-
trap 'rc=$$?; [ $$rc -ne 0 ] && echo "To fix below, try running: make multiarch-setup\n"; exit $$rc' 0 ;\
199-
echo "Checking for QEMU_RUNTIME=$${QEMU_RUNTIME} ..." ;\
200-
test -x "$${QEMU_RUNTIME}"
201-
202193
multiarch-binverify:
203194
@echo 'Verifying kube-router gobgp for ARCH=$(FILE_ARCH) ...'
204195
@[ `file kube-router gobgp| cut -d, -f2 |grep -cw "$(FILE_ARCH)"` -eq 2 ]
205196

206-
multiarch-setup:
207-
$(DOCKER) run --rm --privileged multiarch/qemu-user-static:register
208-
209197
# http://marmelab.com/blog/2016/02/29/auto-documented-makefile.html
210198
help:
211199
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | \
@@ -230,6 +218,6 @@ endif
230218
.PHONY: update-glide test docker-login push-release github-release help
231219
.PHONY: gopath gopath-fix vagrant-up-single-node
232220
.PHONY: vagrant-up-multi-node vagrant-destroy vagrant-clean vagrant
233-
.PHONY: multiarch-setup multiarch-check multiarch-binverify
221+
.PHONY: multiarch-binverify
234222

235223
.DEFAULT: all

0 commit comments

Comments
 (0)