##### config options MAKEFLAGS = -s # turn off dull messages Q = "\""# why isn't this a buil-in? ##### langauge specific stuff # the next command loads "boot.lisp", runs $(com), then quits LISP. Run = sbcl --noinform --eval "(progn (load ${Q}boot.lisp${Q}) $(com) (quit))" ##### data set specific stuff eg1 : @$(MAKE) com='(format t ${Q}hello world~%${Q})' run eg2 : @$(MAKE) com='(tests)' run egs : eg1 eg2 ##### general stuff Data = data DataDir = data/discrete Dirs = $(HOME)/tmp tmp etc etc/tests \ data $(DataDir) # always list parents before kids run : ready @echo ""; echo ";;;;; $(com)" @$(Run) ##### set up stuff ready : @$(foreach d, $(Dirs), if [ ! -d "$d" ]; then mkdir $d; fi; )