Add a "make spotless" rule for environments with BUILD_OBJ_ROOT not equal
to BUILD_OBJ_SRC. This will save the config.status and mklib files, then
wipe out the BUILD_OBJ_ROOT, copy back config.status and mklib, and then
run config.status to regenerate the makefiles. This target gives you a
completely clean/fresh BUILD_OBJ_ROOT.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18981 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Makefile.rules b/Makefile.rules
index 4908d45..e4b620b 100644
--- a/Makefile.rules
+++ b/Makefile.rules
@@ -81,6 +81,21 @@
 	-$(Verb) $(RM) -f $(BUILT_SOURCES)
 endif
 
+ifneq ($(BUILD_OBJ_ROOT),$(BUILD_SRC_ROOT))
+spotless:
+	$(Echo) Wiping out $(BUILD_OBJ_ROOT) and rebuilding configuration.
+	$(Verb) if test -x config.status ; then \
+	  $(MV) config.status .. ; \
+	  $(MV) mklib  .. ; \
+	  $(RM) -rf * ; \
+	  $(MV) ../config.status . ; \
+	  $(MV) ../mklib . ; \
+	  ./config.status ; \
+	else \
+	  $(EchoCmd) "make spotless" can only be run from $(BUILD_OBJ_ROOT); \
+	fi
+endif
+
 $(BUILT_SOURCES) : $(ObjMakefiles)
 
 #------------------------------------------------------------------------