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)
#------------------------------------------------------------------------