##===- test/Programs/TEST.dsgraph.Makefile -----------------*- Makefile -*-===## # # This recursively traverses the programs, computing DSGraphs for each of the # programs in the testsuite. # ##===----------------------------------------------------------------------===## CURDIR := $(shell cd .; pwd) PROGDIR := $(shell cd $(LEVEL)/test/Programs; pwd)/ RELDIR := $(subst $(PROGDIR),,$(CURDIR)) # We require the programs to be linked with libdummy include $(LEVEL)/test/Programs/Makefile.dummylib # PASS - The dsgraph pass to run: ds, bu, td PASS := td ANALYZE_OPTS := -stats -time-passes -only-print-main-ds -dsstats -instcount MEM := -track-memory $(PROGRAMS_TO_TEST:%=Output/%.$(TEST).report.txt): \ Output/%.$(TEST).report.txt: Output/%.lib.bc Output/%.LOC.txt $(LANALYZE) $(LOPT) @echo -n "LOC: " > $@ @cat Output/$*.LOC.txt >> $@ -(time -p $(LANALYZE) $(MEM) -$(PASS)datastructure $(ANALYZE_OPTS) $<)>> $@ 2>&1 -($(LOPT) -steens-aa $(MEM) -time-passes > /dev/null < $<) >> $@ 2>&1 $(PROGRAMS_TO_TEST:%=test.$(TEST).%): \ test.$(TEST).%: Output/%.$(TEST).report.txt @echo "---------------------------------------------------------------" @echo ">>> ========= '$(RELDIR)/$*' Program" @echo "---------------------------------------------------------------" @cat $< # Define REPORT_DEPENDENCIES so that the report is regenerated if analyze or # dummylib is updated. # REPORT_DEPENDENCIES := $(DUMMYLIB) $(LANALYZE) $(LOPT)