SRCBASE=../..
include ../../Makevars

CC=g++
CCOPTS=-I.. -I../TestFramework -I../../threads -D__STDC_LIMIT_MACROS -ftrapv
LINKOPTS=-L../TestFramework -L.. -L../../threads

OBJECTS=main.o VectorTestClasses.o DataIO.o
PROGRAM=runtests
DEPENDENCIES=../TestFramework/libUnitTest.a ../libcluster.a

ifeq ("${OS}", "Linux")
OS_LIBS=-lpthread
endif

LIBS=-lUnitTest -lcluster -lm -lprogressthreads $(THREAD_LIB)

$(PROGRAM): $(OBJECTS) $(DEPENDENCIES)
	$(CC) -g $(LINKOPTS) -o $(PROGRAM) $(OBJECTS) $(LIBS)

clean: 
	rm -f $(OBJECTS) $(PROGRAM) *.a *.d

main.o: main.cpp UpperDiagonalMatrixTest.h ClusterNodeTest.h ClusterTest.h DataReaderTest.h VectorDataFunctionsTest.h OrderingTest.h CallbackTest.h SortTest.h VectorTest.h SafeIntTest.h ../TestFramework/TestException.h VectorTestClasses.h
	$(CC) -g $(CCOPTS) -c main.cpp

VectorTestClasses.o: VectorTestClasses.cpp VectorTestClasses.h
	$(CC) -g $(CCOPTS) -c VectorTestClasses.cpp

DataIO.o: DataIO.cpp DataIO.h
	$(CC) -g $(CCOPTS) -c DataIO.cpp
