Modify the unittests Makefiles so that they don't rebuild parts of LLVM just to
authorBill Wendling <isanbard@gmail.com>
Sun, 4 Jan 2009 23:12:21 +0000 (23:12 +0000)
committerBill Wendling <isanbard@gmail.com>
Sun, 4 Jan 2009 23:12:21 +0000 (23:12 +0000)
run the tests. Most of this was stolen from the llvm/test Makefiles.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61648 91177308-0d34-0410-b5e6-96231b3b80d8

Makefile
Makefile.rules
autoconf/configure.ac
unittests/Makefile

index 5987b88f7735f48b8338a17864a471331d0ae73a..d453330a2e9dd41baabfdd7f7d3f42bba0dc8434 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -116,7 +116,6 @@ dist-hook::
 tools-only: all
 libs-only: all
 install-libs: install
-unittests: all
 
 #------------------------------------------------------------------------
 # Make sure the generated headers are up-to-date. This must be kept in
@@ -185,7 +184,7 @@ update:
        $(SVN) $(SVN-UPDATE-OPTIONS) update $(LLVM_SRC_ROOT)
        @ $(SVN) status $(LLVM_SRC_ROOT) | $(SUB-SVN-DIRS) | xargs $(SVN) $(SVN-UPDATE-OPTIONS) update
 
-happiness: update all check
+happiness: update all check unittests
 
 .PHONY: srpm rpm update happiness
 
index 3c9bb5e4cc988762a7edd9399395628d9e6d74dc..313f5598da6cbddf0ec66f9ce196d7a585a7ce39 100644 (file)
@@ -22,9 +22,9 @@
 RecursiveTargets := all clean clean-all install uninstall install-bytecode
 LocalTargets     := all-local clean-local clean-all-local check-local \
                     install-local printvars uninstall-local \
-                   install-bytecode-local
+                   install-bytecode-local unittests
 TopLevelTargets  := check dist dist-check dist-clean dist-gzip dist-bzip2 \
-                    dist-zip
+                    dist-zip unittests
 UserTargets      := $(RecursiveTargets) $(LocalTargets) $(TopLevelTargets)
 InternalTargets  := preconditions distdir dist-hook
 
@@ -1415,6 +1415,22 @@ check::
          $(EchoCmd) No test directory ; \
        fi
 
+###############################################################################
+# UNITTESTS: Running the unittests test suite
+###############################################################################
+
+unittests::
+       $(Verb) if test -d "$(PROJ_OBJ_ROOT)/unittests" ; then \
+         if test -f "$(PROJ_OBJ_ROOT)/unittests/Makefile" ; then \
+           $(EchoCmd) Running unittests test suite ; \
+           $(MAKE) -C $(PROJ_OBJ_ROOT)/unittests ; \
+         else \
+           $(EchoCmd) No Makefile in unittests directory ; \
+         fi ; \
+       else \
+         $(EchoCmd) No unittests directory ; \
+       fi
+
 ###############################################################################
 # DISTRIBUTION: Handle construction of a distribution tarball
 ###############################################################################
@@ -1503,6 +1519,7 @@ dist-check:: $(DistTarGZip)
            --srcdir=../$(DistName) $(DIST_CHECK_CONFIG_OPTIONS) && \
          $(MAKE) all && \
          $(MAKE) check && \
+         $(MAKE) unittests && \
          $(MAKE) install && \
          $(MAKE) uninstall && \
          $(MAKE) dist-clean && \
index 2054548979d45a2225570be191572054eee17926..c9bd8f25130fbc5adaf5c54e1b19083f25b8fca6 100644 (file)
@@ -1029,6 +1029,7 @@ AC_CONFIG_MAKEFILE(lib/Makefile)
 AC_CONFIG_MAKEFILE(runtime/Makefile)
 AC_CONFIG_MAKEFILE(test/Makefile)
 AC_CONFIG_MAKEFILE(test/Makefile.tests)
+AC_CONFIG_MAKEFILE(unittests/Makefile)
 AC_CONFIG_MAKEFILE(tools/Makefile)
 AC_CONFIG_MAKEFILE(utils/Makefile)
 AC_CONFIG_MAKEFILE(projects/Makefile)
index 33f3c8ebaaf651534178dcf5bbb72c576dcb523b..d96df4f52d8b1c6156be4518310a1e312552797e 100644 (file)
@@ -8,6 +8,7 @@
 ##===----------------------------------------------------------------------===##
 
 LEVEL = ..
+
 include $(LEVEL)/Makefile.config
 
 LIBRARYNAME = UnitTestMain
@@ -20,4 +21,4 @@ PARALLEL_DIRS = ADT
 include $(LEVEL)/Makefile.common
 
 clean::
-       $(RM) -f *Tests
+       $(Verb) $(RM) -f *Tests