diff --git a/Makefile b/Makefile
index 12802647e33cd56047e638b9e935dfa58f058429..297f3ac0063d5c31d3bdca5302c41d0611394941 100644
--- a/Makefile
+++ b/Makefile
@@ -3,7 +3,8 @@
 # don't need to bother with make.
 
 .PHONY: geth geth-cross evm all test travis-test-with-coverage xgo clean
-.PHONY: geth-linux geth-linux-arm geth-linux-arm-5 geth-linux-arm-6 geth-linux-arm-7 geth-linux-386 geth-linux-amd64
+.PHONY: geth-linux geth-linux-386 geth-linux-amd64
+.PHONY: geth-linux-arm geth-linux-arm-5 geth-linux-arm-6 geth-linux-arm-7 geth-linux-arm64
 .PHONY: geth-darwin geth-darwin-386 geth-darwin-amd64
 .PHONY: geth-windows geth-windows-386 geth-windows-amd64
 .PHONY: geth-android geth-ios
@@ -37,7 +38,7 @@ geth-linux-amd64: xgo
 	@echo "Linux amd64 cross compilation done:"
 	@ls -l $(GOBIN)/geth-linux-* | grep amd64
 
-geth-linux-arm: geth-linux-arm-5 geth-linux-arm-6 geth-linux-arm-7
+geth-linux-arm: geth-linux-arm-5 geth-linux-arm-6 geth-linux-arm-7 geth-linux-arm64
 	@echo "Linux ARM cross compilation done:"
 	@ls -l $(GOBIN)/geth-linux-* | grep arm
 
@@ -56,6 +57,11 @@ geth-linux-arm-7: xgo
 	@echo "Linux ARMv7 cross compilation done:"
 	@ls -l $(GOBIN)/geth-linux-* | grep arm-7
 
+geth-linux-arm64: xgo
+	build/env.sh $(GOBIN)/xgo --go=$(GO) --buildmode=$(MODE) --dest=$(GOBIN) --deps=$(CROSSDEPS) --targets=linux/arm64 -v $(shell build/flags.sh) ./cmd/geth
+	@echo "Linux ARM64 cross compilation done:"
+	@ls -l $(GOBIN)/geth-linux-* | grep arm64
+
 geth-darwin: geth-darwin-386 geth-darwin-amd64
 	@echo "Darwin cross compilation done:"
 	@ls -l $(GOBIN)/geth-darwin-*