fix eXecutable bit on a script
[cvc5.git] / Makefile.subdir
index 6aa62bf285608b8b34032ee2b73b647ed1fdae07..4bafe4684a0cf3a443fc2b71b73c7b6c0820a63f 100644 (file)
@@ -1,6 +1,17 @@
-.PHONY: _default_build_
-_default_build_: all
-%:
+# -*-makefile-*-
+#
+# This makefile is included from source directories in order to
+# trigger a build in the corresponding build directory.
+#
+# See src/Makefile for an example.
+#
+include $(topdir)/builds/current
+builddir = $(topdir)/builds/$(CURRENT_BUILD)/$(srcdir)
+unittestdir = $(topdir)/builds/$(CURRENT_BUILD)/test/unit
+unittestprefix = $(srcdir:src/%=%)
+
+.PHONY: all
+all .DEFAULT:
        @if test -e $(builddir); then \
                echo cd $(builddir); \
                cd $(builddir); \
@@ -11,3 +22,37 @@ _default_build_: all
                echo 'Run configure first, or type "make" in a configured build directory.'; \
                echo; \
        fi
+
+.PHONY: check units
+ifeq ($(srcdir:test/%=test),test)
+# under the test/ directory, additional subtargets
+.PHONY: systemtests regress regress0 regress1 regress2 regress3
+check units systemtests regress regress0 regress1 regress2 regress3:
+       @if test -e $(builddir); then \
+               echo cd $(builddir); \
+               cd $(builddir); \
+               echo $(MAKE) $@; \
+               $(MAKE) $@; \
+       else \
+               echo; \
+               echo "** ERROR: could not find testing dir \`$(builddir)'"; \
+               echo; \
+       fi
+else
+check units:
+       @if test -e $(unittestdir); then \
+               echo cd $(unittestdir); \
+               cd $(unittestdir); \
+               echo $(MAKE) TEST_PREFIX=$(unittestprefix)/ $@; \
+               $(MAKE) TEST_PREFIX=$(unittestprefix)/ $@; \
+       else \
+               echo; \
+               echo "** ERROR: could not find unit testing dir \`$(unittestdir)'"; \
+               echo; \
+               exit 1; \
+       fi
+endif
+
+# synonyms for "check"
+.PHONY: test
+test: check