From 26556f9b114baf498bee8e6d8e6cf60a6f483a89 Mon Sep 17 00:00:00 2001 From: David Bremner Date: Tue, 25 Mar 2014 08:28:09 -0300 Subject: [PATCH] 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. --- Makefile | 15 +++++---------- configure | 8 +++++++- 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 <