blob: d0532e30b606e74a83ba6b199f898c8589e7e578 [file] [log] [blame]
Chris Lattner1467e032007-07-16 04:35:52 +00001LEVEL = ../../..
2include $(LEVEL)/Makefile.common
Reid Spencer5f016e22007-07-11 17:01:13 +00003
Daniel Dunbar6bfd6212008-08-21 02:48:23 +00004# Test in all immediate subdirectories.
5TESTDIRS = $(shell echo $(PROJ_SRC_DIR)/*/)
Chris Lattner15bd7992008-03-10 19:32:31 +00006
7# Only run rewriter tests on darwin.
8ifeq ($(OS),Darwin)
Ted Kremenekdd536bf2008-06-16 21:21:48 +00009TESTDIRS +=
Chris Lattner15bd7992008-03-10 19:32:31 +000010endif
11
Chris Lattner9d294b92008-04-06 22:32:01 +000012ifdef VERBOSE
13PROGRESS = echo $<
14REPORTFAIL = cat $@
15DONE = true
16else
17PROGRESS = printf '.'
18REPORTFAIL = (echo; echo '----' $< 'failed ----')
19DONE = echo
20endif
21
Anders Carlsson413ad8b2008-08-23 21:03:10 +000022TESTS := $(addprefix Output/, $(addsuffix .testresults, $(shell find $(TESTDIRS) \( -name '*.c' -or -name '*.cpp' -or -name '*.m' -or -name '*.mm' \))))
Chris Lattner9d294b92008-04-06 22:32:01 +000023
24Output/%.testresults: %
25 @ $(PROGRESS)
Daniel Dunbar45659382008-08-21 03:03:44 +000026 @ PATH=$(ToolDir):$(LLVM_SRC_ROOT)/test/Scripts:$$PATH VG=$(VG) $(PROJ_SRC_DIR)/TestRunner.sh $< > $@ || $(REPORTFAIL)
Chris Lattner9d294b92008-04-06 22:32:01 +000027
Chris Lattner1467e032007-07-16 04:35:52 +000028all::
Chris Lattner9d294b92008-04-06 22:32:01 +000029 @ mkdir -p $(addprefix Output/, $(TESTDIRS))
30 @ rm -f $(TESTS)
31 @ echo '--- Running clang tests ---'
32 @ $(MAKE) $(TESTS)
33 @ $(DONE)
Daniel Dunbar5323e232008-08-21 04:43:28 +000034 @ cat $(TESTS) | grep -v ' HAS NO RUN LINE! ****' | $(LLVM_SRC_ROOT)/test/Scripts/count 0 > /dev/null
Chris Lattner9d294b92008-04-06 22:32:01 +000035
36report: $(TESTS)
37 @ cat $^
Gabor Greif17feadf2008-03-18 07:03:00 +000038
39clean::
Gabor Greif5267d7c2008-03-20 14:28:22 +000040 @ rm -rf Output/
Gabor Greif17feadf2008-03-18 07:03:00 +000041
Chris Lattner9d294b92008-04-06 22:32:01 +000042.PHONY: all report clean