42 lines
1.1 KiB
Bash
Executable file
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."
|