aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar David Bremner <david@tethera.net>2014-03-25 08:28:09 -0300
committerGravatar David Bremner <david@tethera.net>2014-03-25 08:32:10 -0300
commit26556f9b114baf498bee8e6d8e6cf60a6f483a89 (patch)
treec9be35e38d8b341ce647e7db20cc83565450dda9
parent274355776b07e06a8f8e110c4bc0b7bb5bc42281 (diff)
build: move canonical list of subdirectories to configure script
The configure script needs this list for out of tree builds. Grabbing it from the Makefile via sed was fragile and broken.
-rw-r--r--Makefile15
-rwxr-xr-xconfigure8
2 files changed, 12 insertions, 11 deletions
diff --git a/Makefile b/Makefile
index 061c55a1..4c0e8c62 100644
--- a/Makefile
+++ b/Makefile
@@ -2,16 +2,6 @@
# given explicitly on the command line) so mention it first.
all:
-# List all subdirectories here. Each contains its own Makefile.local.
-# Use of '=', without '+=', seems to be required for out-of-tree
-# builds to work.
-subdirs = compat completion doc emacs lib parse-time-string \
- performance-test util test test/test-databases
-
-# We make all targets depend on the Makefiles themselves.
-global_deps = Makefile Makefile.config Makefile.local \
- $(subdirs:%=%/Makefile) $(subdirs:%=%/Makefile.local)
-
# Sub-directory Makefile.local fragments can append to these variables
# to have directory-specific cflags as necessary.
@@ -27,6 +17,11 @@ extra_cxxflags :=
srcdir ?= .
include Makefile.config
+
+# We make all targets depend on the Makefiles themselves.
+global_deps = Makefile Makefile.config Makefile.local \
+ $(subdirs:%=%/Makefile) $(subdirs:%=%/Makefile.local)
+
Makefile.config: $(srcdir)/configure
ifeq ($(configure_options),)
@echo ""
diff --git a/configure b/configure
index fb276f1b..ab73317a 100755
--- a/configure
+++ b/configure
@@ -19,11 +19,14 @@ readonly DEFAULT_IFS="$IFS"
srcdir=$(dirname "$0")
+subdirs="util compat lib parse-time-string completion doc emacs"
+subdirs="${subdirs} performance-test test test/test-databases"
+
# For a non-srcdir configure invocation (such as ../configure), create
# the directory structure and copy Makefiles.
if [ "$srcdir" != "." ]; then
- for dir in . $(grep "^subdirs *=" "$srcdir"/Makefile | sed -e "s/subdirs *= *//"); do
+ for dir in . ${subdirs}; do
mkdir -p "$dir"
cp "$srcdir"/"$dir"/Makefile.local "$dir"
cp "$srcdir"/"$dir"/Makefile "$dir"
@@ -698,6 +701,9 @@ cat > Makefile.config <<EOF
# directory (the current directory at the time configure was run).
srcdir = ${srcdir}
+# subdirectories to build
+subdirs = ${subdirs}
+
configure_options = $@
# We use vpath directives (rather than the VPATH variable) since the