build: fix out-of-tree builds
authorJani Nikula <jani@nikula.org>
Sat, 25 May 2013 11:18:58 +0000 (14:18 +0300)
committerDavid Bremner <bremner@debian.org>
Sun, 26 May 2013 21:49:04 +0000 (18:49 -0300)
Support for out-of-tree builds was added in
commit 3e4a9d60a9419621b08c647a306843d76c47c2cb
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Mar 9 15:02:42 2011 -0800

    build: Add support for non-source-directory builds.

and broken in
commit 7beeb8c88a014ecbc53d8241f10683b3c4c16228
Author: David Bremner <bremner@debian.org>
Date:   Sat Nov 17 12:28:15 2012 -0400

    test: initial performance testing infrastructure

Fix the build breakage.

Out-of-tree 'make test' has been broken since earlier than the above,
and remains broken, as does out-of-tree perf test, but at least the
build now works.

Makefile
performance-test/Makefile.local

index 73a85546948fc71df0002adb1257c13aa248fc5b..0428160b80c23c5e65900b7c9a346508550bc85e 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -2,9 +2,10 @@
 # given explicitly on the command line) so mention it first.
 all:
 
-# List all subdirectories here. Each contains its own Makefile.local
-subdirs := compat completion emacs lib man parse-time-string
-subdirs += performance-test util test
+# 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 emacs lib man parse-time-string performance-test util test
 
 # We make all targets depend on the Makefiles themselves.
 global_deps = Makefile Makefile.config Makefile.local \
index 73aa963bbdb4d6337cb5f1af41d92ca9aeafc404..e47219ad275f93c613de5b6d9e5d35dab36c3e57 100644 (file)
@@ -2,7 +2,7 @@
 
 dir := performance-test
 
-include $(dir)/version.sh
+include $(srcdir)/$(dir)/version.sh
 
 TIME_TEST_SCRIPT := ${dir}/notmuch-time-test
 MEMORY_TEST_SCRIPT := ${dir}/notmuch-memory-test