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.
This commit is contained in:
David Bremner 2014-03-25 08:28:09 -03:00
parent 274355776b
commit 26556f9b11
2 changed files with 12 additions and 11 deletions

View file

@ -2,16 +2,6 @@
# given explicitly on the command line) so mention it first. # given explicitly on the command line) so mention it first.
all: 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 # Sub-directory Makefile.local fragments can append to these variables
# to have directory-specific cflags as necessary. # to have directory-specific cflags as necessary.
@ -27,6 +17,11 @@ extra_cxxflags :=
srcdir ?= . srcdir ?= .
include Makefile.config 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 Makefile.config: $(srcdir)/configure
ifeq ($(configure_options),) ifeq ($(configure_options),)
@echo "" @echo ""

8
configure vendored
View file

@ -19,11 +19,14 @@ readonly DEFAULT_IFS="$IFS"
srcdir=$(dirname "$0") 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 # For a non-srcdir configure invocation (such as ../configure), create
# the directory structure and copy Makefiles. # the directory structure and copy Makefiles.
if [ "$srcdir" != "." ]; then if [ "$srcdir" != "." ]; then
for dir in . $(grep "^subdirs *=" "$srcdir"/Makefile | sed -e "s/subdirs *= *//"); do for dir in . ${subdirs}; do
mkdir -p "$dir" mkdir -p "$dir"
cp "$srcdir"/"$dir"/Makefile.local "$dir" cp "$srcdir"/"$dir"/Makefile.local "$dir"
cp "$srcdir"/"$dir"/Makefile "$dir" cp "$srcdir"/"$dir"/Makefile "$dir"
@ -698,6 +701,9 @@ cat > Makefile.config <<EOF
# directory (the current directory at the time configure was run). # directory (the current directory at the time configure was run).
srcdir = ${srcdir} srcdir = ${srcdir}
# subdirectories to build
subdirs = ${subdirs}
configure_options = $@ configure_options = $@
# We use vpath directives (rather than the VPATH variable) since the # We use vpath directives (rather than the VPATH variable) since the