trees: skip single-tree build if a build exists

this replicates the same behaviour as multi-tree builds,
checking for files inside the relevant elf/ directory

Signed-off-by: Leah Rowe <leah@libreboot.org>
audit2-merge1
Leah Rowe 2024-06-06 09:20:45 +01:00 committed by Leah Rowe
parent b682b4ddca
commit a30bfd334f
1 changed files with 8 additions and 1 deletions

View File

@ -59,6 +59,7 @@ build_projects()
[ -f "$listfile" ] || listfile="" # optional on single-tree [ -f "$listfile" ] || listfile="" # optional on single-tree
dest_dir="$elfdir" dest_dir="$elfdir"
elfcheck || return 0
cdir="src/${project}" cdir="src/${project}"
[ -d "$cdir" ] || x_ ./update trees -f "$project" [ -d "$cdir" ] || x_ ./update trees -f "$project"
@ -173,11 +174,17 @@ check_config()
[ -f "$config" ] || $err "check_config $project/$target: no config" [ -f "$config" ] || $err "check_config $project/$target: no config"
dest_dir="$elfdir/$target/$config_name" dest_dir="$elfdir/$target/$config_name"
elfcheck || return 1 # skip build if a previous one exists
x_ mkdir -p "$dest_dir"
}
elfcheck()
{
# TODO: very hacky check. do it properly (based on build.list) # TODO: very hacky check. do it properly (based on build.list)
for elftest in "$dest_dir"/*; do for elftest in "$dest_dir"/*; do
e "$elftest" f && return 1 e "$elftest" f && return 1
done done
x_ mkdir -p "$dest_dir"
} }
handle_makefile() handle_makefile()