From: Bill Wendling Date: Sun, 4 Jan 2009 23:12:21 +0000 (+0000) Subject: Modify the unittests Makefiles so that they don't rebuild parts of LLVM just to X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=4113bd1dc6032f9559fa58c61d5cc7d9a8c079be;p=oota-llvm.git Modify the unittests Makefiles so that they don't rebuild parts of LLVM just to 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 --- diff --git a/Makefile b/Makefile index 5987b88f773..d453330a2e9 100644 --- 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 diff --git a/Makefile.rules b/Makefile.rules index 3c9bb5e4cc9..313f5598da6 100644 --- a/Makefile.rules +++ b/Makefile.rules @@ -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 && \ diff --git a/autoconf/configure.ac b/autoconf/configure.ac index 2054548979d..c9bd8f25130 100644 --- a/autoconf/configure.ac +++ b/autoconf/configure.ac @@ -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) diff --git a/unittests/Makefile b/unittests/Makefile index 33f3c8ebaaf..d96df4f52d8 100644 --- a/unittests/Makefile +++ b/unittests/Makefile @@ -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