Exercises_MarkusSchmidt/clean_all.sh
2025-12-09 23:33:08 +01:00

42 lines
1.1 KiB
Bash
Executable file

#!/usr/bin/env bash
set -e
echo "Searching for Makefiles..."
# Find all directories containing a Makefile
find . -type f \( -iname "makefile" -o -iname "Makefile" \) | while read -r mk; do
dir=$(dirname "$mk")
# Check if Makefile contains a clean target
if grep -qE '^[[:space:]]*clean[: ]' "$mk"; then
echo "→ Found clean target in: $dir"
echo " Running make clean..."
(cd "$dir" && make clean)
echo " Done."
else
echo "→ No clean target in: $dir"
fi
done
echo ""
echo "─────────────────────────────"
echo "Deleting extra files"
echo "─────────────────────────────"
echo "→ Deleting .Identifier files"
find . -type f -name ".Identifier" -print -delete
echo "→ Deleting *:Zone.Identifier files"
find . -type f -name "*:Zone.Identifier" -print -delete
echo "→ Deleting all .o object files"
find . -type f -name "*.o" -print -delete
echo "→ Deleting all .GCC_ files"
find . -type f -name "*.GCC_" -print -delete
echo ""
echo "Cleanup complete."