This will work if $(TOP_SRC_DIR) has exactly one subdirectory with
.ninja_deps. Otherwise, BUILD_DIR has to be specified.
--- /dev/null
+# Try to guess the build directory:
+# we look for subdirectories of ../.. that look like ninja build dirs.
+
+ifeq ($(BUILD_DIR),)
+ dirs = $(dir $(wildcard ../../*/.ninja_log))
+ ifeq ($(dirs),)
+ $(error Cannot guess build dir, set BUILD_DIR)
+ endif
+ ifneq ($(firstword $(dirs)),$(dirs))
+ $(warning Candidates: $(dirs))
+ $(error Too many build dirs to pick from, set BUILD_DIR)
+ endif
+ BUILD_DIR=$(dirs)
+endif
+include ../Makefile.guess
+
all setup clean run:
- @basedir=../.. TEST_BASE_DIR=../ ./test.sh --$@
+ @basedir=../.. TEST_BASE_DIR=../ BUILD_DIR=$(BUILD_DIR) ./test.sh --$@
+include ../Makefile.guess
+
all setup run:
- @basedir=../.. TEST_BASE_DIR=../ ./test.sh --$@
+ @basedir=../.. TEST_BASE_DIR=../ BUILD_DIR=$(BUILD_DIR) ./test.sh --$@
clean:
@basedir=../.. TEST_BASE_DIR=../ ./test.sh --clean
@rm -f has-overflow