aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rwxr-xr-xtools/distclean12
2 files changed, 13 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index da856290..7def6f80 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,6 +8,7 @@ NP-VERSION-FILE
/Cache.pm
/command.cfg
/compile
+/confdefs.h
/config.*
/configure
/debian
diff --git a/tools/distclean b/tools/distclean
index f5e0ecef..f4ec20bd 100755
--- a/tools/distclean
+++ b/tools/distclean
@@ -10,6 +10,18 @@ if [ ! -f tools/distclean ]; then
exit 1
fi
+# First try git-clean, removing all ignored files will be perfect...
+if [ -d ".git" ]; then
+ echo "$0: Running 'git clean -fdX', this will remove all files ignored by git..."
+ git clean -fdX
+ if [ "$?" -eq "0" ]; then
+ echo "$0: Cleanup complete! Have a nice day..."
+ exit 0
+ fi
+ echo "$0: git-clean error, failing back to legacy cleanup!"
+fi
+
+# If we get here, then git-clean did not run or failed. Using the legacy method...
if [ -f Makefile ]; then
echo "$0: Makefile present. Cleaning up with 'make distclean'..."
make -i distclean