From 2d6718b837b11b48d6b6ce1ae3f863591d5b651a Mon Sep 17 00:00:00 2001
From: Carl Worth <cworth@cworth.org>
Date: Thu, 10 Mar 2011 11:30:06 -0800
Subject: [PATCH] build: Save configure options and re-use them for automatic
 runs of configure

This supports the case of a user running "configure --prefix=/foo" then later
updating the soruce (including the configure script) and re-running make.

In this case, the make invocation will re-run configure. Before this change,
this run of configure would lose the user's carefully chosen prefix. This
is now fixed so that configrue is re-run with the user's options.
---
 Makefile  | 4 +++-
 configure | 5 +++++
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index ffee659b..11e3a3d9 100644
--- a/Makefile
+++ b/Makefile
@@ -25,13 +25,15 @@ srcdir ?= .
 
 include Makefile.config
 Makefile.config: $(srcdir)/configure
+ifeq ($(configure_options),)
 	@echo ""
 	@echo "Note: Calling ./configure with no command-line arguments. This is often fine,"
 	@echo "      but if you want to specify any arguments (such as an alternate prefix"
 	@echo "      into which to install), call ./configure explicitly and then make again."
 	@echo "      See \"./configure --help\" for more details."
 	@echo ""
-	./configure
+endif
+	$(srcdir)/configure $(configure_options)
 
 # Finally, include all of the Makefile.local fragments where all the
 # real work is done.
diff --git a/configure b/configure
index 157ecf39..bbf30cd5 100755
--- a/configure
+++ b/configure
@@ -529,8 +529,13 @@ cat > Makefile.config <<EOF
 # changes, (and this could happen by simply calling "make" if the
 # configure script is updated).
 
+# The top-level directory for the source, (the directory containing
+# the configure script). This may be different than the build
+# directory (the current directory at the time configure was run).
 srcdir = ${srcdir}
 
+configure_options = $@
+
 # We use vpath directives (rather than the VPATH variable) since the
 # VPATH variable matches targets as well as prerequisites, (which is
 # not useful since then a target left-over from a srcdir build would
-- 
2.45.2