summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--defs/gmake.mk17
-rw-r--r--template/GNUmakefile.in1
2 files changed, 18 insertions, 0 deletions
diff --git a/defs/gmake.mk b/defs/gmake.mk
new file mode 100644
index 0000000..67dce0b
--- /dev/null
+++ b/defs/gmake.mk
@@ -0,0 +1,17 @@
+TEST_TARGETS := $(filter check test check% test% btest%,$(MAKECMDGOALS))
+TEST_TARGETS += $(subst check,test-all,$(patsubst check-%,test-%,$(TEST_TARGETS)))
+TEST_TARGETS := $(patsubst test-%,yes-test-%,$(patsubst btest-%,yes-btest-%,$(TEST_TARGETS)))
+TEST_DEPENDS := $(if $(TEST_TARGETS),$(filter all main exts,$(MAKECMDGOALS)))
+TEST_DEPENDS += $(TEST_DEPENDS) $(if $(filter check%,$(MAKECMDGOALS)),main)
+
+ifneq ($(filter check% test,$(MAKECMDGOALS)),)
+yes-test-knownbug: $(TEST_DEPENDS) yes-btest-ruby
+yes-btest-ruby: $(TEST_DEPENDS) yes-test-sample
+yes-test-sample: $(TEST_DEPENDS)
+endif
+ifneq ($(filter check%,$(MAKECMDGOALS)) $(filter test-all,$(TEST_TARGETS)),)
+yes-test-all yes-test-ruby: $(filter-out %test-all %test-ruby check%,$(TEST_TARGETS)) \
+ yes-test-knownbug
+endif
+
+$(TEST_TARGETS): $(TEST_DEPENDS)
diff --git a/template/GNUmakefile.in b/template/GNUmakefile.in
index fe6d677..7fcdd71 100644
--- a/template/GNUmakefile.in
+++ b/template/GNUmakefile.in
@@ -2,5 +2,6 @@
override MFLAGS := $(filter-out -j%,$(MFLAGS))
include Makefile
-include uncommon.mk
+include $(srcdir)/defs/gmake.mk
GNUmakefile: $(srcdir)/template/GNUmakefile.in