According the semantics of make, the expansion of $(dir) in recipes uses dynamic scope, i.e. the value at the time the recipe is run. This means if test/Makefile.local is not the last sub-makefile included, all heck breaks loose. ---
This was originally part of some suggested changes to Jani's folder series, but no reason to wait for Jani and I to sort that out. test/Makefile.local | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/test/Makefile.local b/test/Makefile.local index 99324ba..36b1c1b 100644 --- a/test/Makefile.local +++ b/test/Makefile.local @@ -2,6 +2,8 @@ dir := test +# save against changes in $(dir) +test_src_dir := $(dir) extra_cflags += -I. smtp_dummy_srcs = \ @@ -45,7 +47,7 @@ TEST_BINARIES=$(dir)/arg-test \ test-binaries: $(TEST_BINARIES) test: all test-binaries - @${dir}/notmuch-test $(OPTIONS) + @${test_src_dir}/notmuch-test $(OPTIONS) check: test -- 1.8.5.3