blob: 17074b667050e605ea9d6b4c8d87e797c349c30c [file] [log] [blame]
Chris Lattner1467e032007-07-16 04:35:52 +00001LEVEL = ../../..
2include $(LEVEL)/Makefile.common
Reid Spencer5f016e22007-07-11 17:01:13 +00003
Daniel Dunbar852119e2008-08-28 23:28:16 +00004# Test in all immediate subdirectories if unset.
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
Mike Stump039df912009-03-13 00:21:49 +000013ifeq ($(VERBOSE),0)
14PROGRESS = :
15REPORTFAIL = echo 'FAILED: clang' $(TARGET_TRIPLE) $(subst $(LLVM_SRC_ROOT)/tools/clang/,,$<)
16else
Chris Lattner9d294b92008-04-06 22:32:01 +000017PROGRESS = echo $<
18REPORTFAIL = cat $@
Mike Stump039df912009-03-13 00:21:49 +000019endif
Chris Lattner9d294b92008-04-06 22:32:01 +000020DONE = true
21else
22PROGRESS = printf '.'
23REPORTFAIL = (echo; echo '----' $< 'failed ----')
24DONE = echo
25endif
26
Daniel Dunbar5bea06a2008-12-01 19:23:47 +000027TESTS := $(addprefix Output/, $(addsuffix .testresults, $(shell find $(TESTDIRS) \( -name '*.c' -or -name '*.cpp' -or -name '*.m' -or -name '*.mm' -or -name '*.S' \) | grep -v "Output/")))
Chris Lattner9d294b92008-04-06 22:32:01 +000028Output/%.testresults: %
29 @ $(PROGRESS)
Daniel Dunbar45659382008-08-21 03:03:44 +000030 @ PATH=$(ToolDir):$(LLVM_SRC_ROOT)/test/Scripts:$$PATH VG=$(VG) $(PROJ_SRC_DIR)/TestRunner.sh $< > $@ || $(REPORTFAIL)
Chris Lattner9d294b92008-04-06 22:32:01 +000031
Chris Lattner1467e032007-07-16 04:35:52 +000032all::
Chris Lattner9d294b92008-04-06 22:32:01 +000033 @ mkdir -p $(addprefix Output/, $(TESTDIRS))
34 @ rm -f $(TESTS)
35 @ echo '--- Running clang tests ---'
36 @ $(MAKE) $(TESTS)
37 @ $(DONE)
Daniel Dunbar4e6153b2008-09-17 18:08:07 +000038 @ !(cat $(TESTS) | grep -q " FAILED! ")
Chris Lattner9d294b92008-04-06 22:32:01 +000039
40report: $(TESTS)
41 @ cat $^
Gabor Greif17feadf2008-03-18 07:03:00 +000042
43clean::
Gabor Greif5267d7c2008-03-20 14:28:22 +000044 @ rm -rf Output/
Gabor Greif17feadf2008-03-18 07:03:00 +000045
Chris Lattner9d294b92008-04-06 22:32:01 +000046.PHONY: all report clean