aboutsummaryrefslogtreecommitdiff
path: root/clang/test/Makefile
blob: 35f9025934a289f000c603f2a55ab3dba7076f67 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
LEVEL = ../../..
include $(LEVEL)/Makefile.common

TESTDIRS = CodeGen Lexer Preprocessor Parser Sema Analysis Serialization

# Only run rewriter tests on darwin.
ifeq ($(OS),Darwin)
TESTDIRS += Rewriter Analysis-Apple
endif

ifdef VERBOSE
PROGRESS = echo $<
REPORTFAIL = cat $@
DONE = true
else
PROGRESS = printf '.'
REPORTFAIL = (echo; echo '----' $< 'failed ----')
DONE = echo
endif

TESTS := $(addprefix Output/, $(addsuffix .testresults, $(shell find $(TESTDIRS) \( -name '*.c' -or -name '*.cpp' -or -name '*.m' \))))

Output/%.testresults: %
	@ $(PROGRESS)
	@ PATH=$$PATH:$(ToolDir):$(LLVM_SRC_ROOT)/test/Scripts VG=$(VG) ./TestRunner.sh $< > $@ || $(REPORTFAIL)

all::
	@ mkdir -p $(addprefix Output/, $(TESTDIRS))
	@ rm -f $(TESTS)
	@ echo '--- Running clang tests ---'
	@ $(MAKE) $(TESTS)
	@ $(DONE)

report: $(TESTS)
	@ cat $^

clean::
	@ rm -rf Output/

.PHONY: all report clean