| # test/Feature/Makefile |
| # |
| # This makefile runs a moderate number of tests against LLVM source "feature" |
| # tests, which are designed to test individual components of the LLVM language. |
| # This runs through three sets of tests, designed to test to (dis)assembler, |
| # the optimizer, and the code generator for support for the more esoteric LLVM |
| # features. |
| # |
| |
| LEVEL = ../.. |
| include ../Makefile.tests |
| |
| TESTS := $(wildcard *.ll) |
| OTESTS := $(addprefix Output/, $(TESTS)) # Tests in output directory |
| |
| test all :: testasmdis testopt testcbe testsparc |
| @echo "All tests completed!" |
| |
| testasmdis : $(addsuffix .asmdis, $(OTESTS)) |
| testopt : $(addsuffix .opt , $(OTESTS)) |
| |
| testcodegen : $(OTESTS:%.ll=%.mc) |
| testsparc : $(OTESTS:%.ll=%.s) |
| testcbe : $(OTESTS:%.ll=%.tc) |
| |
| Output/%.asmdis: % $(LAS) $(LDIS) Output/.dir |
| @./TestAsmDisasm.sh $< $(TOOLDEBUG) $(LIBDEBUG) |
| |
| Output/%.opt: % $(LAS) $(LDIS) $(LOPT) Output/.dir |
| @./TestOptimizer.sh $< $(TOOLDEBUG) $(LIBDEBUG) |
| |
| Output/%.tc: Output/%.bc $(LDIS) |
| @echo "======== Generating C code for $<" |
| $(LDIS) -c < $< > $@ || \ |
| ( rm -f $@; $(FAILURE) $@ ) |
| |
| Output/%.mc: Output/%.bc $(LLC) |
| @echo "======== Generating machine instructions for $<" |
| $(LLC) -f $(LLCFLAGS) $< > $@ || \ |
| ( rm -f $@; $(FAILURE) $@ ) |
| |
| Output/%.s: Output/%.bc $(LLC) |
| @echo "======== Generating assembly code for $<" |
| $(LLC) -f $(LLCFLAGS) $< -o $@ || \ |
| ( rm -f $@; $(FAILURE) $@ ) |
| |