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>
This commit is contained in:
Martin Roth 2015-02-12 19:34:11 -07:00 committed by Stefan Reinauer
parent bc772c3f3d
commit 90105d5468
1 changed files with 6 additions and 4 deletions

View File

@ -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 @@ ifeq ($(CONFIG_COVERAGE),y)
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__