summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.in16
1 files changed, 10 insertions, 6 deletions
diff --git a/Makefile.in b/Makefile.in
index f746fe3f64a2..0fde85c211ff 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -16,12 +16,16 @@ endif
SHELL=/usr/bin/env bash
SRCDIR := @SRC_ROOT@
BUILDDIR := @BUILDDIR@
-
-# Next 'if' means:
-# If you want to make something more than help clean distclean,
-# and make has not yet restarted itself..
-# ..run autogen.sh if needed and force make to restart itself.
-ifeq (,$(MAKE_RESTARTS)$(if $(filter-out help clean distclean,$(MAKECMDGOALS)),,T))
+GIT_BUILD := $(if $(wildcard $(SRCDIR)/.git),T)
+
+# Run autogen.sh if needed and force make to restart itself.
+# ... but there are several cases where we do not want to run
+# autogen.sh:
+# 1. if we are building from tarballs, not git checkout (I do not
+# think packagers would ever want that. I certainly do not.)
+# 2. if we are making help, clean or distclean, because they do not
+# need updated configuration
+ifeq (,$(MAKE_RESTARTS)$(if $(GIT_BUILD),,T)$(if $(filter-out help clean distclean,$(MAKECMDGOALS)),,T))
.PHONY : force-restart
Makefile: $(BUILDDIR)/config_host.mk force-restart