Return-Path: X-Original-To: notmuch@notmuchmail.org Delivered-To: notmuch@notmuchmail.org Received: from localhost (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id F1A28431FBF for ; Tue, 25 Mar 2014 04:40:47 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: 0 X-Spam-Level: X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none] autolearn=disabled Received: from olra.theworths.org ([127.0.0.1]) by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id civBwo0zIRZn for ; Tue, 25 Mar 2014 04:40:43 -0700 (PDT) Received: from yantan.tethera.net (yantan.tethera.net [199.188.72.155]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by olra.theworths.org (Postfix) with ESMTPS id 42D81431FBD for ; Tue, 25 Mar 2014 04:40:43 -0700 (PDT) Received: from remotemail by yantan.tethera.net with local (Exim 4.80) (envelope-from ) id 1WSPik-0005Ae-Hn; Tue, 25 Mar 2014 08:40:42 -0300 Received: (nullmailer pid 4449 invoked by uid 1000); Tue, 25 Mar 2014 11:40:38 -0000 From: David Bremner To: notmuch@notmuchmail.org Subject: [PATCH] build: move canonical list of subdirectories to configure script Date: Tue, 25 Mar 2014 08:40:24 -0300 Message-Id: <1395747624-4411-1-git-send-email-david@tethera.net> X-Mailer: git-send-email 1.9.0 In-Reply-To: <87d2hbhvnq.fsf@zancas.localnet> References: <87d2hbhvnq.fsf@zancas.localnet> X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Mar 2014 11:40:48 -0000 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 061c55a..4c0e8c6 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 fb276f1..ab73317 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 <