# build classes for chains and optimal partitions

# testChain tries out some chain classes
testChain:	testChain.o bstChain.o matrixChain.o\
	vertexChain.o chain.o
	g++ -Wall -ansi -pedantic -g -o testChain\
	 testChain.o vertexChain.o matrixChain.o bstChain.o chain.o -lm

# build a tester
 testChain.o:	testChain.cpp chain.h
	g++ -Wall -ansi -pedantic -g -c testChain.cpp

#build a subclass that deals with BST chains
bstChain.o:	chain.h bstChain.cpp
	g++ -Wall -ansi -pedantic -g -c bstChain.cpp

# build a subclass that deals with matrix chains
matrixChain.o:	chain.h matrixChain.cpp
	g++ -Wall -ansi -pedantic -g -c matrixChain.cpp

# build a subclass that deals with vertexChains, aka polygons
vertexChain.o:	chain.h vertexChain.cpp
	g++ -Wall -ansi -pedantic -g -c vertexChain.cpp

# build the generic chain class
chain.o:	chain.h chain.cpp
	g++ -Wall -ansi -pedantic -g -c chain.cpp


# clean up
clean:	
	touch chain.o; touch vertexChain.o; touch bstChain.o
	touch matrixChain.o; touch testChain.o; touch testChain
	rm *.o; rm testChain
