cxx = clang++
testdir = tests
basefiles = rheap.cpp
gtest_name = gtest-1.7.0
gtest_incl = -I$(testdir)/$(gtest_name)/include -L$(testdir)/$(gtest_name)
libs = -lgtest -lpthread

all:
	echo "No target specified."

perftest:
	g++ -g -p -O3 -DNDEBUG $(basefiles) ../radix-dijkstra.cpp perftests/rheap_dijkstra_perftest.cpp -o rheap_dijkstra_perftest

test-leaks: test
	valgrind --tool=memcheck --leak-check=yes --track-origins=yes ./rheap_tests

test-bounds: test
	valgrind --tool=exp-sgcheck ./rheap_tests

test: $(basefiles) $(testdir)/rheap_tests.cpp
	$(cxx) -g -O0 -DDEBUG -Wall $(basefiles) $(gtest_incl) $(testdir)/rheap_tests.cpp -o rheap_tests -lgtest -lpthread

gtest:
	cd $(testdir) ;\
	unzip -o ./$(gtest_name).zip && \
	cd ./$(gtest_name) ;\
	./configure ;\
	make ;\
	cmake . ;\
	$(cxx) -I./include -I./ -c ./src/gtest-all.cc && \
	ar -rv libgtest.a gtest-all.o

clean:
	rm -f ./rheap_tests ./rheap_dijkstra_perftest

