#
# $Id: Makefile,v 1.14 2006/02/22 21:17:51 rauch Exp $
#
# Runs test programs.
#
TESTS = exec_test binary_test bench_test sanity_test

test check:
	@rm -f failures
	@for script in $(TESTS); do ./$${script}; done
	@if [ -f failures ]; then echo "Failures detected."; \
	 else echo "All tests passed."; fi

memtest memcheck:
	@rm -f failures
	@for script in $(TESTS); do \
	  VALGRIND="valgrind -v --leak-check=yes --show-reachable=yes"; \
	  VALGRIND="$$VALGRIND --leak-resolution=high --num-callers=8"; \
	  VALGRIND="$$VALGRIND --partial-loads-ok=no --freelist-vol=10000000"; \
	  VALGRIND="$$VALGRIND" ./$${script}; \
	done
	@if [ -f failures ]; then echo "Failures detected."; \
	 else echo "All tests passed."; fi

calltest callcheck:
	@rm -f failures
	@for script in $(TESTS); do \
	  VALGRIND="callgrind -v --simulate-cache=yes" ./$${script}; \
	done
	@if [ -f failures ]; then echo "Failures detected."; \
	 else echo "All tests passed."; fi

clean:
	rm -f failures callgrind.* valgrind.* *.o
	rm -f calcCoord_test kepler_test recover.dat


calcCoord_test: calcCoord_test.c ../lib/libhnbody.a ../lib/libkepler.a
	$(CC) $(CFLAGS) -I.. -o $@ calcCoord_test.c \
	    -L../lib -lhnbody -lkepler -lm

kepler_test: kepler_test.c ../lib/libkepler.a
	$(CC) $(CFLAGS) -I.. -o $@ kepler_test.c -L../lib -lkepler -lm
