##===- TEST.libcalls.Makefile ------------------------------*- Makefile -*-===## # # This recursively traverses the programs, and runs the -simplify-libcalls pass # on each *.linked.rbc bytecode file with -stats set so that it is possible to # determine which libcalls are being optimized in which programs. # # Usage: # make TEST=libcalls summary (short summary) # make TEST=libcalls (detailed list with time passes, etc.) # make TEST=libcalls report # make TEST=libcalls report.html # ##===----------------------------------------------------------------------===## CURDIR := $(shell cd .; pwd) PROGDIR := $(PROJ_SRC_ROOT) RELDIR := $(subst $(PROGDIR),,$(CURDIR)) $(PROGRAMS_TO_TEST:%=test.$(TEST).%): \ test.$(TEST).%: Output/%.$(TEST).report.txt @cat $< $(PROGRAMS_TO_TEST:%=Output/%.$(TEST).report.txt): \ Output/%.$(TEST).report.txt: Output/%.linked.rbc $(LOPT) \ $(PROJ_SRC_ROOT)/TEST.libcalls.Makefile $(VERB) $(RM) -f $@ @echo "---------------------------------------------------------------" >> $@ @echo ">>> ========= '$(RELDIR)/$*' Program" >> $@ @echo "---------------------------------------------------------------" >> $@ @-$(LOPT) -simplify-libcalls -stats -debug-only=simplify-libcalls \ -time-passes -disable-output $< 2>>$@ summary: @$(MAKE) TEST=libcalls | egrep '======|simplify-libcalls -' .PHONY: summary REPORT_DEPENDENCIES := $(LOPT)