aboutsummaryrefslogtreecommitdiff
path: root/test/Makefile.parallel
blob: 35bea3a5a0ee5d9098173708181d4a0daca029ac (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
41
42
43
44
45
46
47
48
49
LEVEL = ../../..
include $(LEVEL)/Makefile.common

AWK = awk

TESTDIRS = CodeGen Lexer Preprocessor Parser Sema Analysis Serialization

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


Makefile.tests:
	@ echo '%.testresults: %' > $@
	@ echo "^@ echo $$<" | tr "^" "\t" >> $@
	@ echo "^@ PATH=$$PATH:$(ToolDir):$(LLVM_SRC_ROOT)/test/Scripts ./TestRunner.sh &< > &@" | tr "^&" '\t$$' >> $@
	@ echo >> $@
	@ echo "TESTS =" \\ >> $@
	@ find $(TESTDIRS) \
	  \( -name '*.c' -or -name '*.cpp' -or -name '*.m' \) \
	| $(AWK) '{print "  " $$0 ".testresults \\"}' >> $@
	@ echo '  ' >> $@
	@ echo >> $@
	@ echo "all:: &(TESTS)" | tr "&" '$$' >> $@
	@ echo >> $@
	@ echo "report: &(TESTS)" | tr "&" '$$' >> $@
	@ echo "^@ cat $$<" | tr "^&<" "\t$$^" >> $@
	@ echo >> $@
	@ echo "clean:" | tr "&" '$$' >> $@
	@ echo "^@ rm -f &(TESTS)" | tr "^&<" "\t$$^" >> $@
	@ echo >> $@
	@ echo ".PHONY: all report clean" >> $@


#	find $(TESTDIRS) \
#	  \( -name '*.c' -or -name '*.cpp' -or -name '*.m' \) \
#	| $(AWK) '{print ".PHONY:", $$0 ".testresults"}' >> $@

all:: Makefile.tests
	@ $(MAKE) -f $< clean
	@ $(MAKE) -f $< all report
	@ $(MAKE) -f $< clean
	@ rm $<

.PHONY: all

.NOTPARALLEL: