mk: turn on git-clean by default, except coreboot

libreboot's policy is to thoroughly clean sources per
build, because we cache builds out of tree and avoid
re-builds if they exist; these and the sources are
deleted if metadata in config/ changes per project,
tree and/or target.

the problem is that this change only affects lbmk.git

it doesn't affect release archives, where project sources
do not have git-init applied to them. this will be
addressed.

can't use it on coreboot, because it will delete xgcc
tarballs in a way currently not handled, and handling
it will mean adding a project-specific hack.

the xgcc tarballs could be built out-of-tree, and this
will have to be done, otherwise coreboot will have to be
made gitclean="y" for now.

everything else is fair game.

Signed-off-by: Leah Rowe <leah@libreboot.org>
This commit is contained in:
Leah Rowe
2026-09-14 17:52:46 +01:00
parent 300f2cb434
commit 7cb4cdf0f2
3 changed files with 15 additions and 6 deletions
+8
View File
@@ -26,3 +26,11 @@ cbfscfg=""
premake="corebootpremake"
mkhelper="coreboot_pad_one_byte"
postmake="mkcorebootbin"
# must confirm, but i think git-clean
# will also delete crossgcc builds in
# coreboot.git, which we do not currently
# rely on out-of-tree
gitclean="n"
# so, TODO: support out-of-tree xgcc builds
-4
View File
@@ -1,4 +0,0 @@
# SPDX-License-Identifier: GPL-3.0-or-later
gitclean="y"
gitcleanargs="-fdx"
+7 -2
View File
@@ -74,7 +74,11 @@ eval "`newvar autoconfargs autogenargs badhash badtghash bootstrapargs \
build_depend buildtype cleanargs cmakedir cmd defconfig dest_dir elfdir \
forcepull listfile makeargs mdir mkhelper mkhelpercfg mode postmake \
premake project release rev srcdir target target_dir tree xarch xgcctree \
xlang gitclean gitcleanargs`"
xlang`"
# can be overridden in project mkhelper.cfg
gitclean="y"
gitcleanargs="-fdx"
main()
{
@@ -268,7 +272,8 @@ configure_project()
eval "`newvar autoconfargs badhash badtghash bootstrapargs \
build_depend buildtype cleanargs makeargs mkhelper postmake \
premake release xarch xgcctree xlang gitclean gitcleanargs`"
premake release xarch xgcctree xlang`"
gitclean="y"
[ ! -f "$_tcfg" ] && \
buildtype="auto"