Remove zlib from the llvm tarball. This is only used (in theory by povray-31
[oota-llvm.git] / test / Makefile
index 7dac2af7718c014a04a761d6b6fba29cfa444f00..9783f6424bba67506a8cfc7e4fc709eaf5fff2cc 100644 (file)
@@ -1,3 +1,12 @@
+#===- test/Makefile ----------------------------------------*- Makefile -*--===#
+# 
+#                     The LLVM Compiler Infrastructure
+#
+# This file was developed by the LLVM research group and is distributed under
+# the University of Illinois Open Source License. See LICENSE.TXT for details.
+# 
+#===------------------------------------------------------------------------===#
+
 LEVEL  = ..
 DIRS   = 
 
@@ -7,16 +16,12 @@ DIRS   =
 #
 all:: qmtest
 
-#
 # Include other test rules
-#
 include Makefile.tests
 
-#
 # New QMTest functionality:
 #      The test suite is being transitioned over to QMTest.  Eventually, it
 #      will use QMTest by default.
-#
 
 # QMTest option specifying the location of the QMTest database.
 QMDB= -D $(LLVM_SRC_ROOT)/test
@@ -44,7 +49,7 @@ endif
 #
 CONTEXT= -c "srcroot=$(LLVM_SRC_ROOT)" \
          -c "buildroot=$(LLVM_OBJ_ROOT)" \
-         -c "buildtype=$(Configuration)" \
+         -c "buildtype=$(BuildMode)" \
          -c "tmpdir=$(LLVM_OBJ_ROOT)/test/tmp" \
          -c "coresize=0" \
          -c "cc=$(CC)" \
@@ -110,3 +115,50 @@ qmtest-clean:
        $(RM) -f $(LLVM_SRC_ROOT)/test/results.qmr \
                $(LLVM_OBJ_ROOT)/test/results.qmr
 
+#===------------------------------------------------------------------------===#
+# DejaGNU testing support
+#===------------------------------------------------------------------------===#
+
+ifdef TESTSUITE
+RUNTESTFLAGS := --tool $(TESTSUITE)
+endif
+
+check-dejagnu: site.exp
+       -PATH=$(LLVMToolDir):$(LLVM_SRC_ROOT)/test/Scripts:$(PATH) \
+       $(RUNTEST) $(RUNTESTFLAGS)
+
+
+dejagnu-clean:
+       $(RM) -rf `find $(LLVM_OBJ_ROOT)/test/Regression -name Output -type d -print`
+
+site.exp: Makefile $(LLVM_OBJ_ROOT)/Makefile.config
+       @echo 'Making a new site.exp file...'
+       @echo '## these variables are automatically generated by make ##' >site.tmp
+       @echo '# Do not edit here.  If you wish to override these values' >>site.tmp
+       @echo '# edit the last section' >>site.tmp
+       @echo "set target_triplet $(TARGET_TRIPLE)" >> site.tmp
+       @echo 'set prcontext "tclsh $(LLVM_SRC_ROOT)/test/Scripts/prcontext.tcl"' >> site.tmp
+       @echo 'set srcdir $(LLVM_SRC_ROOT)/test' >>site.tmp
+       @echo "set objdir $(LLVM_OBJ_ROOT)/test" >>site.tmp
+       @echo 'set llvmgcc $(LLVMGCCDIR)/bin/gcc' >> site.tmp
+       @echo 'set llvmgxx $(LLVMGCCDIR)/bin/g++' >> site.tmp
+       @echo '## All variables above are generated by configure. Do Not Edit ## ' >>site.tmp
+       @test ! -f site.exp || \
+       sed '1,/^## All variables above are.*##/ d' site.exp >> site.tmp
+       @-rm -f site.bak
+       @test ! -f site.exp || mv site.exp site.bak
+       @mv site.tmp site.exp
+
+#===------------------------------------------------------------------------===#
+# quick-test utility. Just runs TestRunner.sh on all the *.ll files in a
+# directory. Use like this: 
+#   cd llvm/test ; make quick-test QUICKTEST=Regression/Bytecode
+# where QUICKTEST specifies the directory you want to run the tests on.
+#===------------------------------------------------------------------------===#
+quick-test:
+       @if test -d "${QUICKTEST}" ; then \
+         cd $(LLVM_SRC_ROOT)/test/$(QUICKTEST) ; \
+         find . -name \*.ll -print -exec $(LLVM_SRC_ROOT)/test/TestRunner.sh {} \; ; \
+       else \
+         echo "Set QUICKTEST=<some directory with TestRunner.sh .ll files in it" ; \
+       fi