blob: 28daebf0b37c63fb41278c15311ab4f361621482 [file] [log] [blame]
Gabor Greif021e9702008-03-15 07:26:41 +00001LEVEL = ../../..
2include $(LEVEL)/Makefile.common
3
Gabor Greif021e9702008-03-15 07:26:41 +00004TESTDIRS = CodeGen Lexer Preprocessor Parser Sema Analysis Serialization
5
6# Only run rewriter tests on darwin.
7ifeq ($(OS),Darwin)
8TESTDIRS += Rewriter
9endif
10
Gabor Greif947a8b52008-03-17 15:07:59 +000011TESTS = $(addsuffix .testresults, $(shell find $(TESTDIRS) \( -name '*.c' -or -name '*.cpp' -or -name '*.m' \)))
Gabor Greif021e9702008-03-15 07:26:41 +000012
13Makefile.tests:
14 @ echo '%.testresults: %' > $@
Gabor Greif8fb64e82008-03-15 08:11:35 +000015 @ echo "^@ printf '.'" | tr "^" "\t" >> $@
Gabor Greif5ca1b5a2008-03-17 12:35:00 +000016 @ echo "^@ PATH=$$PATH:$(ToolDir):$(LLVM_SRC_ROOT)/test/Scripts ./TestRunner.sh &< > &@ || (echo; echo '----' &! 'failed ----')" | tr '^!&' '\t^$$' >> $@
Gabor Greif021e9702008-03-15 07:26:41 +000017 @ echo >> $@
Gabor Greif947a8b52008-03-17 15:07:59 +000018 @ echo "TESTS = $(TESTS)" >> $@
Gabor Greif021e9702008-03-15 07:26:41 +000019 @ echo ' ' >> $@
20 @ echo >> $@
21 @ echo "all:: &(TESTS)" | tr "&" '$$' >> $@
22 @ echo >> $@
23 @ echo "report: &(TESTS)" | tr "&" '$$' >> $@
24 @ echo "^@ cat $$<" | tr "^&<" "\t$$^" >> $@
25 @ echo >> $@
26 @ echo "clean:" | tr "&" '$$' >> $@
27 @ echo "^@ rm -f &(TESTS)" | tr "^&<" "\t$$^" >> $@
28 @ echo >> $@
29 @ echo ".PHONY: all report clean" >> $@
30
Gabor Greif021e9702008-03-15 07:26:41 +000031all:: Makefile.tests
Gabor Greif5ca1b5a2008-03-17 12:35:00 +000032 @ echo '--- Running clang tests ---'
Gabor Greif021e9702008-03-15 07:26:41 +000033 @ $(MAKE) -f $< clean
Gabor Greif947a8b52008-03-17 15:07:59 +000034 @ $(MAKE) -f $< all
35 @ echo "^@ echo" | tr "^" "\t" >> $@
36 @ $(MAKE) -f $< report
Gabor Greif021e9702008-03-15 07:26:41 +000037 @ $(MAKE) -f $< clean
38 @ rm $<
39
40.PHONY: all
41
42.NOTPARALLEL:
43