summaryrefslogtreecommitdiff
path: root/script/handle/make
diff options
context:
space:
mode:
authorLeah Rowe <leah@libreboot.org>2023-09-10 16:55:36 +0100
committerLeah Rowe <leah@libreboot.org>2023-09-10 16:55:36 +0100
commitbe4ed54023f1cc19b22d118d38ef63fa8f4428f1 (patch)
tree0932680701278581ee8db20c316597f87f1a2fe5 /script/handle/make
parentf227cc081e34605475293dc9245ed4ca752201a9 (diff)
handle/make/config: distclean once per tree
previously, it was possible that the distclean or crossgcc-clean modes were being executed on the same project tree, needlessly. this patch fixes that. Signed-off-by: Leah Rowe <leah@libreboot.org>
Diffstat (limited to 'script/handle/make')
-rwxr-xr-xscript/handle/make/config7
1 files changed, 7 insertions, 0 deletions
diff --git a/script/handle/make/config b/script/handle/make/config
index f406d221..5954ebff 100755
--- a/script/handle/make/config
+++ b/script/handle/make/config
@@ -47,6 +47,9 @@ target_dir=""
tree=""
cbfstool=""
+tmpclean="$(mktemp -d -t makeclean.XXXXXXXXXX)" || \
+ err "can't make tmpclean dir"
+
main()
{
while getopts b:m:u:c:x: option
@@ -153,6 +156,10 @@ handle_dependencies()
fi
./update project trees "${project}" "${target}" || \
fail "handle_dependencies: can't fetch ${project}/${target}"
+ elif [ "${mode}" = "distclean" ] || \
+ [ "${mode}" = "crossgcc-clean" ]; then
+ [ -f "${tmpclean}/${tree}" ] && return 1
+ touch "${tmpclean}/${tree}"
fi
# u-boot and coreboot are both compiled with coreboot's crossgcc