#!/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."