default: test # switch off intermediate file deletion .SECONDARY: HSCHEMERUN = ../run/dist/build/hschemerun/hschemerun CGI_COMMAND = ../run/dist/build/interpret.cgi/interpret.cgi clean: rm -f *.out init.pure.scm init.full.scm test: test-done test-notyet test-done: testrelease @echo "* No Regression" testrelease: test-pure test-full test-cgi %.initfull.diff: %.ref %.initfull.out diff -u $^ %.initpure.diff: %.ref %.initpure.out diff -u $^ %.full.diff: %.ref %.full.out diff -u $^ %.pure.diff: %.ref %.pure.out diff -u $^ %.diff: %.ref %.out diff -u $^ init.pure.scm: ../run/init.pure.scm cat $< > $@ init.full.scm: ../run/init.full.scm cat $< > $@ %.scm.initfull.out: %.scm $(HSCHEMERUN) init.pure.scm init.full.scm time $(HSCHEMERUN) --noinit -I. init.full.scm $< > $@ || (rm $@; exit 1) %.scm.initpure.out: %.scm $(HSCHEMERUN) init.pure.scm time $(HSCHEMERUN) --mpure --noinit -I. init.pure.scm $< > $@ || (rm $@; exit 1) %.scm.full.out: %.scm $(HSCHEMERUN) time $(HSCHEMERUN) --noinit $< > $@ || (rm $@; exit 1) %.scm.pure.out: %.scm $(HSCHEMERUN) time $(HSCHEMERUN) --mpure --noinit $< > $@ || (rm $@; exit 1) test-pure: \ constants.scm.pure.diff \ parse-num.scm.pure.diff \ helloworld.scm.pure.diff \ several.scm.pure.diff \ equal.scm.pure.diff \ syntax.scm.pure.diff \ syntax-rec.scm.pure.diff \ letbinding.scm.pure.diff \ letrec.scm.pure.diff \ letrec-fix.scm.pure.diff \ bindingbody.scm.pure.diff \ binding.scm.pure.diff \ boundlate.scm.pure.diff \ begin.scm.pure.diff \ factorial.scm.pure.diff \ case-match.scm.pure.diff \ vector.scm.pure.diff \ load.scm.pure.diff \ load.scm.initpure.diff \ helloworld.scm.initpure.diff test-speed: speed.scm.initfull.out cat $^ test-full: \ constants.scm.full.diff \ parse-num.scm.full.diff \ helloworld.scm.full.diff \ several.scm.full.diff \ equal.scm.full.diff \ eq.scm.full.diff \ syntax.scm.full.diff \ syntax-rec.scm.full.diff \ letbinding.scm.full.diff \ letrec.scm.full.diff \ letrec-fix.scm.full.diff \ letrec-cont.scm.full.diff \ bindingbody.scm.full.diff \ binding.scm.full.diff \ setvar.scm.full.diff \ boundlate.scm.full.diff \ begin.scm.full.diff \ factorial.scm.full.diff \ case-match.scm.full.diff \ vector.scm.full.diff \ load.scm.full.diff \ load.scm.initfull.diff \ helloworld.scm.initfull.diff \ io.scm.initfull.diff \ report-examples.scm.initfull.diff test-cgi: cgi-get.diff cgi-error.diff cgi-get.out: $(CGI_COMMAND) env REQUEST_METHOD="GET" QUERY_STRING="input=(*+3+4)" ./$< > $@ || (rm $@; exit 1) cgi-error.out: $(CGI_COMMAND) env REQUEST_METHOD="GET" QUERY_STRING="input=a" ./$< > $@ || (rm $@; exit 1) test-notyet: \ let-syntax.scm.pure.diff \ let-syntax.scm.full.diff \ report-examples-4.scm.initfull.diff