coreboot-kgpe-d16/payloads/external/depthcharge/Makefile.inc
Stefan Reinauer 9125073d2a payloads: Enable building depthcharge as part of the coreboot build
For CHROMEOS builds, depthcharge can be built automatically.
This dependency exists because depthcharge without vboot and subsequent
signing of the image doesn't work very well, and both are keyed to that
flag as well.

Change-Id: Id0195bd3b4e454f382782106d6512469106daac5
Signed-off-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Reviewed-on: https://review.coreboot.org/10924
Tested-by: build bot (Jenkins)
2016-03-15 21:18:22 +01:00

71 lines
2.4 KiB
Makefile

# release-R50-7978.B
STABLE_COMMIT_ID=124af94fa5599a0698e59bf3d73675eb52fc6879
project_name=depthcharge
project_dir=$(CURDIR)/depthcharge
project_git_repo=https://chromium.googlesource.com/chromiumos/platform/depthcharge
project_config_file=$(project_dir)/.config
output_dir=$(project_dir)/build
libpayload_dir=$(abspath $(CURDIR)/../../libpayload)
libpayload_install_dir=$(output_dir)/lp_$(BOARD)
vboot_dir=$(abspath $(CURDIR)/../../../3rdparty/vboot)
TAG-$(DEPTHCHARGE_MASTER)=origin/master
TAG-$(DEPTHCHARGE_STABLE)=$(STABLE_COMMIT_ID)
unexport KCONFIG_AUTOHEADER
unexport KCONFIG_AUTOCONFIG
unexport KCONFIG_DEPENDENCIES
unexport KCONFIG_SPLITCONFIG
unexport KCONFIG_TRISTATE
unexport KCONFIG_NEGATIVES
unexport src srck obj objk
BOARD:=$(notdir $(CONFIG_MAINBOARD_DIR))
all: build
$(project_dir):
echo " Cloning $(project_name) from Git"
git clone $(project_git_repo)
fetch: $(project_dir)
cd $(project_dir); git show $(TAG-y) >/dev/null 2>&1 ; if [ $$? -ne 0 ] || \
[ "$(TAG-y)" = "origin/master" ]; then \
echo " Fetching new commits from the $(project_name) git repo"; \
git fetch; fi
checkout: fetch
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)
$(libpayload_install_dir): $(project_dir)
test -f $(libpayload_dir)/configs/config.$(BOARD) || \
(echo "Error: $(libpayload_dir)/configs/config.$(BOARD) is not present" && \
false)
cp $(libpayload_dir)/configs/config.$(BOARD) $(libpayload_dir)/.config
$(MAKE) -C $(libpayload_dir) olddefconfig
$(MAKE) -C $(libpayload_dir)
$(MAKE) -C $(libpayload_dir) install DESTDIR=$(libpayload_install_dir)
# rm -f $(libpayload_dir)/.config
config: $(libpayload_install_dir) checkout
echo " CONFIG project_name $(TAG-y)"
export VERSION=$$(cd depthcharge && \
git describe --tags --long --dirty 2>/dev/null || \
echo "unknown") ; \
cd $(project_dir) && $(MAKE) BOARD=$(BOARD) LIBPAYLOAD_DIR=$(libpayload_install_dir)/libpayload \
VB_SOURCE=$(vboot_dir) defconfig
build: config
echo " MAKE $(project_name) $(TAG-y)"
cd $(project_dir) && $(MAKE) BOARD=$(BOARD) LIBPAYLOAD_DIR=$(libpayload_install_dir)/libpayload \
VB_SOURCE=$(vboot_dir) PATH="$(abspath ../../../build/util/cbfstool):$$PATH" depthcharge_unified
clean:
test -d $(output_dir) && rm -rf $(output_dir) || exit 0
distclean:
rm -rf $(project_dir)
.PHONY: checkout config build clean distclean clone fetch