Only update submodules if the source is in a git repo
This change just adds a check to verify that the build is happening
inside a git repo and that git is a valid command before trying
to update the submodules.
Use 'command -v' instead of 'which' to stay portable.
Change-Id: Idfa27645c3dbfd684f90002ecb01626d71eacc8f
Signed-off-by: Martin Roth <gaumless@gmail.com>
Reviewed-on: http://review.coreboot.org/8427
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
diff --git a/Makefile.inc b/Makefile.inc
index a60df873..b8ab4be 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -19,7 +19,7 @@
#######################################################################
# misleadingly named, this is the coreboot version
-export KERNELVERSION := $(shell if [ -d "$(top)/.git" -a -f "`which git`" ]; \
+export KERNELVERSION := $(shell if [ -d "$(top)/.git" -a -f "$(command -v git)" ]; \
then git describe --dirty --always || git describe; \
else echo 4.0$(KERNELREVISION); fi)
@@ -139,12 +139,14 @@
ramstage-c-ccopts+=-fprofile-arcs -ftest-coverage
endif
-# try to fetch non-optional submodules
-forgetthis:=$(shell git submodule update --init)
+# try to fetch non-optional submodules if the source is under git
+forgetthis:=$(shell if [ -d "$(top)/.git" -a -f "$(command -v git)" ]; \
+ then git submodule update --init; fi)
ifeq ($(CONFIG_USE_BLOBS),y)
# this is necessary because 3rdparty is update=none, and so is ignored
# unless explicitly requested and enabled through --checkout
-forgetthis:=$(shell git submodule update --init --checkout 3rdparty)
+forgetthis:=$(shell if [ -d "$(top)/.git" -a -f "$(command -v git)" ]; \
+ then git submodule update --init --checkout 3rdparty; fi)
endif
bootblock-c-ccopts:=-D__BOOT_BLOCK__ -D__PRE_RAM__