summaryrefslogtreecommitdiff
path: root/payloads/external/LinuxBoot/targets/u-root.mk
diff options
context:
space:
mode:
Diffstat (limited to 'payloads/external/LinuxBoot/targets/u-root.mk')
-rw-r--r--payloads/external/LinuxBoot/targets/u-root.mk14
1 files changed, 12 insertions, 2 deletions
diff --git a/payloads/external/LinuxBoot/targets/u-root.mk b/payloads/external/LinuxBoot/targets/u-root.mk
index 001f7c4522..27f184e41a 100644
--- a/payloads/external/LinuxBoot/targets/u-root.mk
+++ b/payloads/external/LinuxBoot/targets/u-root.mk
@@ -14,7 +14,10 @@
uroot_git_repo=https://github.com/u-root/u-root.git
uroot_dir=$(project_dir)/go/src/github.com/u-root/u-root
-go_check=$(shell command -v go 1>/dev/null 2>&1 && echo go)
+go_version=$(shell go version | sed -nr 's/.*go([0-9]+\.[0-9]+.?[0-9]?).*/\1/p' )
+go_version_major=$(shell echo $(go_version) | sed -nr 's/^([0-9]+)\.([0-9]+)\.?([0-9]*)$$/\1/p')
+go_version_minor=$(shell echo $(go_version) | sed -nr 's/^([0-9]+)\.([0-9]+)\.?([0-9]*)$$/\2/p')
+
project_dir=$(shell pwd)/linuxboot
project_name=u-root
go_path_dir=$(shell pwd)/linuxboot/go
@@ -22,10 +25,17 @@ go_path_dir=$(shell pwd)/linuxboot/go
all: build
check:
-ifneq ($(go_check),go)
+ifeq ("$(go_version)","")
printf "\n<<Please install Golang >= 1.9 for u-root mode>>\n\n"
exit 1
endif
+ifeq ($(shell if [ $(go_version_major) -eq 1 ]; then echo y; fi),y)
+ifeq ($(shell if [ $(go_version_minor) -lt 9 ]; then echo y; fi),y)
+ printf "\n Golang version $(go_version) currently installed.\n\
+ <<Please install Golang >= 1.9 for u-root mode>>\n\n"
+ exit 1
+endif
+endif
mkdir -p $(project_dir)/go/src/github.com/u-root
$(uroot_dir)/.git: