coreboot/payloads/external/depthcharge/Makefile
Cliff Huang 8d020508fc payloads/depthcharge: Add default 64-bit libpayload config
Add CONFIG_LP_DEFCONFIG_OVERRIDE_X64 flag to select default 64-bit
config file in payloads/libpayload/configs directory.

This is used in standalone environment. The existing libpayload
deconfig file is for boards with 32-bit format and deconfig_64
file is added for 64-bit without adding specific
board.[board name] file in libpayload.

BUG=none
TEST=Build with this new flag and check that the libpayload and
depthcharge.elf are built in 64-bit format.

Signed-off-by: Cliff Huang <cliff.huang@intel.com>
Change-Id: Iac07cf9e3c11e49955c69553407be76ef4f8c060
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84107
Reviewed-by: Jérémy Compostella <jeremy.compostella@intel.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kim, Wonkyu <wonkyu.kim@intel.com>
2026-02-14 22:30:52 +00:00

109 lines
3.6 KiB
Makefile

# 2023-05-10
STABLE_COMMIT_ID=c48613a71c1ee29295b184c51fe5dadf71b543c4
project_name=depthcharge
project_dir=$(CURDIR)/depthcharge
project_git_repo=$(DEPTHCHARGE_REPO)
project_config_file=$(project_dir)/.config
output_dir=$(project_dir)/build
libpayload_dir=$(abspath $(CURDIR)/../../libpayload)
libpayload_install_dir=$(output_dir)/lp_$(BOARD)
coreboot_build_dir=$(abspath $(CURDIR)/../../../build)
VBOOT_SOURCE ?= $(abspath $(CURDIR)/../../../3rdparty/vboot)
EC_HEADERS ?= $(abspath $(CURDIR)/../../../3rdparty/chromeec/include)
TAG-$(DEPTHCHARGE_MASTER)=$(DEPTHCHARGE_BRANCH)
TAG-$(DEPTHCHARGE_STABLE)=$(STABLE_COMMIT_ID)
TAG-$(DEPTHCHARGE_REVISION)=$(DEPTHCHARGE_REVISION_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))
ifeq ($(OVERRIDE_DEFCONFIG),y)
libpayload_config=$(libpayload_dir)/configs/defconfig
DEPTHCHARGE_LIBPAYLOAD_MSG="Depthcharge: Using default defconfig for libpayload"
else ifeq ($(OVERRIDE_DEFCONFIG_64),y)
libpayload_config=$(libpayload_dir)/configs/defconfig_64
DEPTHCHARGE_LIBPAYLOAD_MSG="Depthcharge: Using default defconfig for 64-bit libpayload"
else
libpayload_config=$(libpayload_dir)/configs/config.$(BOARD)
DEPTHCHARGE_LIBPAYLOAD_MSG="Depthcharge: Using $(libpayload_dir)/configs/config.$(BOARD)"
endif
all: build
$(project_dir):
@echo " Cloning $(project_name) from Git"
@git clone $(project_git_repo) $(project_name)
fetch: $(project_dir)
@cd $(project_dir); \
git show $(TAG-y) >/dev/null 2>&1; \
if [ $$? -ne 0 ] || \
[ "$(TAG-y)" = "origin/main" ]; then \
echo " Fetching new commits from the $(project_name) git repo"; \
git fetch; fi
# Check out the requested version of the tree
# Don't write a file for main branch so the latest remote version is always used
$(project_dir)/.version_$(TAG-y): fetch
echo " Checking out $(project_name) revision $(TAG-y)"
rm -f $(project_dir)/.version_*
cd $(project_dir); \
git checkout main; \
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)
test -f $(libpayload_config) || \
(echo "Error: $(libpayload_config) is not present" && \
false)
echo $(DEPTHCHARGE_LIBPAYLOAD_MSG)
cp $(libpayload_config) $(libpayload_dir)/.config
(grep -q '^\s*CONFIG_LP_CHROMEOS=' $(libpayload_dir)/.config) || \
(echo "CONFIG_LP_CHROMEOS=y" >> $(libpayload_dir)/.config)
$(MAKE) -C $(libpayload_dir) olddefconfig
$(MAKE) -C $(libpayload_dir)
$(MAKE) -C $(libpayload_dir) install DESTDIR=$(libpayload_install_dir)
config: $(project_dir)/.version_$(TAG-y) $(libpayload_install_dir)
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_SOURCE) \
EC_HEADERS=$(EC_HEADERS) defconfig
build: config
echo " MAKE $(project_name) $(TAG-y)"
cp $(coreboot_build_dir)/static_fw_config.h depthcharge/src/base/
$(MAKE) -C $(project_dir) depthcharge BOARD=$(BOARD) \
LIBPAYLOAD_DIR=$(libpayload_install_dir)/libpayload \
VB_SOURCE=$(VBOOT_SOURCE) \
EC_HEADERS=$(EC_HEADERS) \
PATH="$(abspath ../../../build/util/cbfstool):$$PATH"
clean:
rm -rf $(output_dir)
distclean:
rm -rf $(project_dir)
print-repo-info:
echo "$(project_git_repo) $(project_dir)"
.PHONY: checkout config build clean distclean clone fetch print-repo-info