JAGS = /usr/local/bin/jags
TIME = /usr/bin/time
EXDIRS = asia biops eyes stagnant pigs \
         alli beetles birats dugongs hearts jaw schools 

all:

bench:
	@echo "Creating new benchmark results"
	@for d in $(EXDIRS); do \
	    (echo $${d}; \
	    cd $${d}; \
	    for cmdfile in `ls test*.cmd`; do \
	       echo "Running " $${cmdfile}; \
	       ($(JAGS) $${cmdfile} && \
	       R --vanilla --quiet < ../../R/bench.R && \
	       mv dumpdata.R bench-$${cmdfile%%.cmd}.R;) || exit 1; \
	    done;) || exit 1;\
	done;

check: clean
	@echo "Checking output against benchmark results"
	@for d in $(EXDIRS); do \
	   (cd $${d} && \
	    for cmdfile in `ls test*.cmd`; do \
	      (cp bench-$${cmdfile%%.cmd}.R bench.R &&  \
	      $(JAGS) $${cmdfile} && \
	      R --vanilla --quiet < ../../R/check.R && \
	      rm bench.R;) || exit 1; \
	    done;) || exit 1;\
	done;

checktime:
	rm -f times
	@for d in $(EXDIRS); do \
	   (cd $${d} && \
	    for cmdfile in `ls test*.cmd`; do \
	      ($(TIME)  -f "$${d} $${cmdfile} %U %S" -o ../times -a \
	      $(JAGS) $${cmdfile};) || exit 1; \
	    done;) || exit 1;\
	done;

clean:
	@for d in $(EXDIRS); do \
	   (cd $${d} && rm -f core jags.out jags.ind jags.dump gmon.out) || exit 1; \
	done;

distclean: clean
	@for d in $(EXDIRS); do \
	   (cd $${d} && rm -f bench-*.R) || exit 1; \
	done;
