What=model Model=model.awk Lib=lib.awk Repeats=10 Era=100 Top=10 Seed=0 Increase=1 Run=run(Com) Tmp=$(HOME)/tmp/$(USER)/$(What) Gawk=gawk Debug=pgawk --profile=$(Tmp)/awkprof.out --dump-variables=$(Tmp)/awkvars.out --lint ######################## Q="\"" Dirp=if [ ! -d $(dir) ]; then mkdir $(dir); fi; Dirs=$(HOME)/tmp $(HOME)/tmp/$(USER) $(HOME)/tmp/$(USER)/$(What) ####################### all : dirs files run dirs: @$(foreach dir, $(Dirs), $(Dirp) ) files : begins model model : $(Tmp)/_$(Model) begins: echo "BEGIN { " > $(Tmp)/begin.awk echo " Repeats=$(Repeats);" >> $(Tmp)/begin.awk echo " Top=$(Top);" >> $(Tmp)/begin.awk echo " Era=$(Era);" >> $(Tmp)/begin.awk echo " Seed=$(Seed); " >> $(Tmp)/begin.awk echo " Increase=$(Increase); " >> $(Tmp)/begin.awk echo " $(Run)" >> $(Tmp)/begin.awk echo "}" >> $(Tmp)/begin.awk $(Tmp)/_$(Model) : $(Model) m4 -P ./spy.m4 $< > $@ run : - $(Gawk) -f $(Tmp)/_$(Model) \ -f $(Lib) \ -f unittests.awk \ -f $(Tmp)/begin.awk epilogue : printf "seed = $(Seed)\ntmp directory = $(Tmp)\n" >&2 demo1 : ; make Run='print 1;' demo2 : ; make Run='print $Qhello world$Q' demo3 : ; make Run='seeded(); print step();' demo20 : ; make Gawk="$(Debug)" Run='print 1' all epilogue demo30 : ; make Run='keepTests()'