From d5658fd7c02d590fad8d6556872143dc1e7b6ccf Mon Sep 17 00:00:00 2001 From: Martin Roth Date: Tue, 18 Jun 2024 14:44:36 -0600 Subject: Makefile: Add cleanall-symlink target This target looks for symbolic links in the coreboot directory, excluding the 3rdparty and crossgcc directories, which both typically have numerous symbolic links, and deletes anything that is found. All possible links are verified as symbolic links before being removed. Any removed links show where they were linked from in case they need to be restored. Signed-off-by: Martin Roth Change-Id: I8a56e7c628701e4a0471833443b08ab2bcceb27e Reviewed-on: https://review.coreboot.org/c/coreboot/+/83123 Reviewed-by: Elyes Haouas Reviewed-by: Eric Lai Tested-by: build bot (Jenkins) --- Makefile | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index f7be19c8e6..60570a0571 100644 --- a/Makefile +++ b/Makefile @@ -524,6 +524,16 @@ clean-symlink: for link in $$EXISTING_SYMLINKS; do \ echo -e "\tUNLINK $$link"; \ rm "$$link"; \ + +cleanall-symlink: + echo "Deleting all symbolic links in the coreboot tree (excluding 3rdparty & crossgcc)"; \ + EXISTING_SYMLINKS="$$(find $(top) -type l | grep -v "3rdparty\|crossgcc" )"; \ + for link in $${EXISTING_SYMLINKS}; do \ + if [ -L "$${link}" ]; then \ + REALDIR="$$(realpath "$${link}")"; \ + echo " UNLINK $${link} (linked from $${REALDIR})"; \ + rm "$${link}"; \ + fi; \ done clean-for-update: @@ -553,4 +563,5 @@ distclean: clean clean-ctags clean-cscope distclean-payloads distclean-utils rm -f abuild*.xml junit.xml* util/lint/junit.xml .PHONY: $(PHONY) clean clean-for-update clean-cscope cscope distclean sphinx sphinx-lint -.PHONY: ctags-project cscope-project clean-ctags symlink clean-symlink +.PHONY: ctags-project cscope-project clean-ctags +.PHONY: symlink clean-symlink cleanall-symlink -- cgit v1.2.3