# Makefile for running the new Milawa Core on Jitawa # # Available Commands: # # 'make short' -- Check the short 100.events and 1000.events files, # should take under ten minutes. # # 'make medium' -- Longer check of level2.events, should take a few to # several hours. # # 'make full' -- Full check of the full.events file (the whole self # verification process). Should take a couple of days. # # 'make report' -- Assumes your $(TIME) program is similar to mine; prints the # timing results for jobs that have finished. # # 'make clean' -- Delete everything in the results/ directory # # 'make dist' -- Make a tarball of the source files # # Notes: # # Using multiple computers is supported. The hostname is always put into the # output files we generate, so there's no conflict even when your hosts are # working out of the same NFS directory. # # Using "make -j 2" and higher is supported, but requires a system with # extremely high amounts of memory (probably at least 64 GB) and is sort of at # odds with using this Makefile to compare CCL and Jitawa performance. TIME := /usr/bin/time --verbose HOSTNAME := $(shell hostname --short) JITAWA_DEPS := core.lisp CL_DEPS := cl-prelude.lisp cl-run.lisp core.lisp .PHONY: all clean report report-brief short medium full results-dir dist results-dir: mkdir -p results results/$(HOSTNAME)-%.jitawa: %.events $(JITAWA_DEPS) milawa2-jitawa.sh results-dir $(TIME) ./milawa2-jitawa.sh $< &> $@ results/$(HOSTNAME)-%.ccl: %.events $(CL_DEPS) milawa2-ccl.sh results-dir $(TIME) ./milawa2-ccl.sh $< &> $@ results/$(HOSTNAME)-%.sbcl: %.events $(CL_DEPS) milawa2-sbcl.sh results-dir $(TIME) ./milawa2-sbcl.sh $< &> $@ short: results/$(HOSTNAME)-100.jitawa \ results/$(HOSTNAME)-100.ccl \ results/$(HOSTNAME)-100.sbcl \ results/$(HOSTNAME)-1000.jitawa \ results/$(HOSTNAME)-1000.ccl \ results/$(HOSTNAME)-1000.sbcl medium: results/$(HOSTNAME)-level2.jitawa \ results/$(HOSTNAME)-level2.ccl \ results/$(HOSTNAME)-level2.sbcl full: results/$(HOSTNAME)-full.jitawa \ results/$(HOSTNAME)-full.ccl \ results/$(HOSTNAME)-full.sbcl clean: results-dir rm -f results/* report: results-dir grep -A 100 "Command being timed" results/* report-brief: results-dir grep -A 4 "Command being timed" results/* dist: milawa2-bench.tar.gz DIST_FILES := Makefile readme.html $(wildcard *.lisp) $(wildcard *.sh) milawa2-bench.tar.gz: $(DIST_FILES) tar cvfz milawa2-bench.tar.gz $(DIST_FILES)