blob: 35bea3a5a0ee5d9098173708181d4a0daca029ac [file] [log] [blame]
Gabor Greif021e9702008-03-15 07:26:41 +00001LEVEL = ../../..
2include $(LEVEL)/Makefile.common
3
4AWK = awk
5
6TESTDIRS = CodeGen Lexer Preprocessor Parser Sema Analysis Serialization
7
8# Only run rewriter tests on darwin.
9ifeq ($(OS),Darwin)
10TESTDIRS += Rewriter
11endif
12
13
14Makefile.tests:
15 @ echo '%.testresults: %' > $@
16 @ echo "^@ echo $$<" | tr "^" "\t" >> $@
17 @ echo "^@ PATH=$$PATH:$(ToolDir):$(LLVM_SRC_ROOT)/test/Scripts ./TestRunner.sh &< > &@" | tr "^&" '\t$$' >> $@
18 @ echo >> $@
19 @ echo "TESTS =" \\ >> $@
20 @ find $(TESTDIRS) \
21 \( -name '*.c' -or -name '*.cpp' -or -name '*.m' \) \
22 | $(AWK) '{print " " $$0 ".testresults \\"}' >> $@
23 @ echo ' ' >> $@
24 @ echo >> $@
25 @ echo "all:: &(TESTS)" | tr "&" '$$' >> $@
26 @ echo >> $@
27 @ echo "report: &(TESTS)" | tr "&" '$$' >> $@
28 @ echo "^@ cat $$<" | tr "^&<" "\t$$^" >> $@
29 @ echo >> $@
30 @ echo "clean:" | tr "&" '$$' >> $@
31 @ echo "^@ rm -f &(TESTS)" | tr "^&<" "\t$$^" >> $@
32 @ echo >> $@
33 @ echo ".PHONY: all report clean" >> $@
34
35
36# find $(TESTDIRS) \
37# \( -name '*.c' -or -name '*.cpp' -or -name '*.m' \) \
38# | $(AWK) '{print ".PHONY:", $$0 ".testresults"}' >> $@
39
40all:: Makefile.tests
41 @ $(MAKE) -f $< clean
42 @ $(MAKE) -f $< all report
43 @ $(MAKE) -f $< clean
44 @ rm $<
45
46.PHONY: all
47
48.NOTPARALLEL:
49