depthcharge: Update build
- Add prompt so the defconfig can be selected for the build. - Remove target rename code from makefile. The old versions don't build with the latest vboot, so this isn't useful anymore. - Change $(info ...) to an echo. info prints immediately when evaluated, which made it print when it shouldn't have, on make clean for example. - Split up single line shell scripts into multiple lines - Change checkout target to only update the commit id when actually changing versions instead of on every build. Change-Id: I46fc2822cf93c821b402e8961ceecedc088f486c Signed-off-by: Martin Roth <martinroth@google.com> Reviewed-on: https://review.coreboot.org/20667 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Marshall Dawson <marshalldawson3rd@gmail.com>
This commit is contained in:
parent
f02171efc6
commit
5bb5307c7d
|
@ -36,7 +36,7 @@ config PAYLOAD_FILE
|
||||||
default "payloads/external/depthcharge/depthcharge/build/depthcharge.elf"
|
default "payloads/external/depthcharge/depthcharge/build/depthcharge.elf"
|
||||||
|
|
||||||
config LP_DEFCONFIG_OVERRIDE
|
config LP_DEFCONFIG_OVERRIDE
|
||||||
def_bool n
|
bool "Use default libpayload config"
|
||||||
help
|
help
|
||||||
The Depthcharge makefile looks for a file config.<boardname> in the
|
The Depthcharge makefile looks for a file config.<boardname> in the
|
||||||
libpayload/configs directory. Say Y here to use the file defconfig
|
libpayload/configs directory. Say Y here to use the file defconfig
|
||||||
|
|
|
@ -15,11 +15,6 @@ TAG-$(DEPTHCHARGE_MASTER)=origin/master
|
||||||
TAG-$(DEPTHCHARGE_STABLE)=$(STABLE_COMMIT_ID)
|
TAG-$(DEPTHCHARGE_STABLE)=$(STABLE_COMMIT_ID)
|
||||||
TAG-$(DEPTHCHARGE_REVISION)=$(DEPTHCHARGE_REVISION_ID)
|
TAG-$(DEPTHCHARGE_REVISION)=$(DEPTHCHARGE_REVISION_ID)
|
||||||
|
|
||||||
# todo: consider reverting this once stable moves past the commit below
|
|
||||||
payload_target=depthcharge
|
|
||||||
payload_target_old=$(payload_target)_unified
|
|
||||||
payload_namechange=74a07395eb9976747055b4ac7a0ae7dcb603a6f4
|
|
||||||
|
|
||||||
unexport KCONFIG_AUTOHEADER
|
unexport KCONFIG_AUTOHEADER
|
||||||
unexport KCONFIG_AUTOCONFIG
|
unexport KCONFIG_AUTOCONFIG
|
||||||
unexport KCONFIG_DEPENDENCIES
|
unexport KCONFIG_DEPENDENCIES
|
||||||
|
@ -31,57 +26,70 @@ unexport src srck obj objk
|
||||||
BOARD:=$(notdir $(CONFIG_MAINBOARD_DIR))
|
BOARD:=$(notdir $(CONFIG_MAINBOARD_DIR))
|
||||||
|
|
||||||
ifeq ($(OVERRIDE_DEFCONFIG),y)
|
ifeq ($(OVERRIDE_DEFCONFIG),y)
|
||||||
$(info Depthcharge: Using default defconfig for libpayload)
|
|
||||||
libpayload_config=$(libpayload_dir)/configs/defconfig
|
libpayload_config=$(libpayload_dir)/configs/defconfig
|
||||||
|
DEPTHCHARGE_LIBPAYLOAD_MSG="Depthcharge: Using default defconfig for libpayload"
|
||||||
else
|
else
|
||||||
libpayload_config=$(libpayload_dir)/configs/config.$(BOARD)
|
libpayload_config=$(libpayload_dir)/configs/config.$(BOARD)
|
||||||
|
DEPTHCHARGE_LIBPAYLOAD_MSG="Depthcharge: Using $(libpayload_dir)/configs/config.$(BOARD)"
|
||||||
endif
|
endif
|
||||||
|
|
||||||
all: build
|
all: build
|
||||||
|
|
||||||
$(project_dir):
|
$(project_dir):
|
||||||
echo " Cloning $(project_name) from Git"
|
@echo " Cloning $(project_name) from Git"
|
||||||
git clone $(project_git_repo)
|
@git clone $(project_git_repo) $(project_name)
|
||||||
|
|
||||||
fetch: $(project_dir)
|
fetch: $(project_dir)
|
||||||
cd $(project_dir); git show $(TAG-y) >/dev/null 2>&1 ; if [ $$? -ne 0 ] || \
|
@cd $(project_dir); \
|
||||||
|
git show $(TAG-y) >/dev/null 2>&1; \
|
||||||
|
if [ $$? -ne 0 ] || \
|
||||||
[ "$(TAG-y)" = "origin/master" ]; then \
|
[ "$(TAG-y)" = "origin/master" ]; then \
|
||||||
echo " Fetching new commits from the $(project_name) git repo"; \
|
echo " Fetching new commits from the $(project_name) git repo"; \
|
||||||
git fetch; fi
|
git fetch; fi
|
||||||
|
|
||||||
checkout: fetch
|
# Check out the requested version of the tree
|
||||||
|
# Don't write a file for master branch so the latest remote version is always used
|
||||||
|
$(project_dir)/.version_$(TAG-y):
|
||||||
|
$(MAKE) fetch
|
||||||
echo " Checking out $(project_name) revision $(TAG-y)"
|
echo " Checking out $(project_name) revision $(TAG-y)"
|
||||||
cd $(project_dir) ; git checkout master; git branch -D coreboot 2>/dev/null; git checkout -b coreboot $(TAG-y)
|
rm -f $(project_dir)/.version_*
|
||||||
|
cd $(project_dir); \
|
||||||
|
git checkout master; \
|
||||||
|
git branch -D coreboot 2>/dev/null; \
|
||||||
|
git checkout -b coreboot $(TAG-y)
|
||||||
|
ifneq ($(DEPTHCHARGE_MASTER),y)
|
||||||
|
touch $(project_dir)/.version_$(TAG-y)
|
||||||
|
endif
|
||||||
|
|
||||||
$(libpayload_install_dir): $(project_dir)
|
$(libpayload_install_dir): $(project_dir)
|
||||||
test -f $(libpayload_config) || \
|
test -f $(libpayload_config) || \
|
||||||
(echo "Error: $(libpayload_config) is not present" && \
|
(echo "Error: $(libpayload_config) is not present" && \
|
||||||
false)
|
false)
|
||||||
|
echo $(DEPTHCHARGE_LIBPAYLOAD_MSG)
|
||||||
cp $(libpayload_config) $(libpayload_dir)/.config
|
cp $(libpayload_config) $(libpayload_dir)/.config
|
||||||
$(MAKE) -C $(libpayload_dir) olddefconfig
|
$(MAKE) -C $(libpayload_dir) olddefconfig
|
||||||
$(MAKE) -C $(libpayload_dir)
|
$(MAKE) -C $(libpayload_dir)
|
||||||
$(MAKE) -C $(libpayload_dir) install DESTDIR=$(libpayload_install_dir)
|
$(MAKE) -C $(libpayload_dir) install DESTDIR=$(libpayload_install_dir)
|
||||||
# rm -f $(libpayload_dir)/.config
|
|
||||||
|
|
||||||
config: $(libpayload_install_dir) checkout
|
config: $(project_dir)/.version_$(TAG-y) $(libpayload_install_dir)
|
||||||
echo " CONFIG project_name $(TAG-y)"
|
echo " CONFIG project_name $(TAG-y)"
|
||||||
export VERSION=$$(cd depthcharge && \
|
export VERSION=$$(cd depthcharge && \
|
||||||
git describe --tags --long --dirty 2>/dev/null || \
|
git describe --tags --long --dirty 2>/dev/null || \
|
||||||
echo "unknown") ; \
|
echo "unknown") ; \
|
||||||
cd $(project_dir) && $(MAKE) BOARD=$(BOARD) LIBPAYLOAD_DIR=$(libpayload_install_dir)/libpayload \
|
cd $(project_dir) && \
|
||||||
|
$(MAKE) BOARD=$(BOARD) \
|
||||||
|
LIBPAYLOAD_DIR=$(libpayload_install_dir)/libpayload \
|
||||||
VB_SOURCE=$(VBOOT_SOURCE) defconfig
|
VB_SOURCE=$(VBOOT_SOURCE) defconfig
|
||||||
|
|
||||||
build: config
|
build: config
|
||||||
echo " MAKE $(project_name) $(TAG-y)"
|
echo " MAKE $(project_name) $(TAG-y)"
|
||||||
cd $(project_dir) && \
|
$(MAKE) -C $(project_dir) depthcharge BOARD=$(BOARD) \
|
||||||
git merge-base --is-ancestor $(payload_namechange) $(TAG-y) >/dev/null 2>&1 && \
|
LIBPAYLOAD_DIR=$(libpayload_install_dir)/libpayload \
|
||||||
$(MAKE) BOARD=$(BOARD) LIBPAYLOAD_DIR=$(libpayload_install_dir)/libpayload \
|
VB_SOURCE=$(VBOOT_SOURCE) \
|
||||||
VB_SOURCE=$(VBOOT_SOURCE) PATH="$(abspath ../../../build/util/cbfstool):$$PATH" $(payload_target) || \
|
PATH="$(abspath ../../../build/util/cbfstool):$$PATH"
|
||||||
$(MAKE) BOARD=$(BOARD) LIBPAYLOAD_DIR=$(libpayload_install_dir)/libpayload \
|
|
||||||
VB_SOURCE=$(VBOOT_SOURCE) PATH="$(abspath ../../../build/util/cbfstool):$$PATH" $(payload_target_old)
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
test -d $(output_dir) && rm -rf $(output_dir) || exit 0
|
test -d $(output_dir) && rm -rf $(output_dir)
|
||||||
|
|
||||||
distclean:
|
distclean:
|
||||||
rm -rf $(project_dir)
|
rm -rf $(project_dir)
|
||||||
|
|
Loading…
Reference in New Issue