OBJ=main.o Tree.o Domain.o HomData.o DistMat.o Hcluster.o PairDist.o ClusterNode.o SpecSet.o ClusterTree.o ClusterInfo.o ClusterAssignment.o GeneData.o SpecTree.o TaxMap.o SpecSetInstances.o SimValue.o

CPPFLAGS=-g  -O2 -Wall
#LDFLAGS=-lstdc++
#LDFLAGS=-I/usr/local/include/gc -L/usr/local/lib -lgc

#testMem:	MemAlloc.cpp
#	c++ -g MemAlloc.cpp

mergetree:	$(OBJ)
	c++ $(OBJ) $(LDFLAGS) -o mergetree

DistMat.o:	DistMat.cpp BinQueue.hpp
	c++ $(CPPFLAGS) -c DistMat.cpp

sptree_test:	SpecTree.cpp SpecSet.cpp	
	c++ SpecTree.cpp SpecSet.cpp -DDEBUGMAIN_SPTREE -o $@

ClusterNode.o:	ClusterNode.cpp MemAlloc.hpp

DistMat.o:	DistMat.cpp MemAlloc.hpp BinQueue.hpp

Domain.o:	Domain.cpp MemAlloc.hpp

HomData.o:	HomData.cpp MemAlloc.hpp

PairDist.o:	PairDist.cpp MemAlloc.hpp

test:	tst/out

tst/out:	mergetree
	mergetree tst/test.treeout tst/test2.in > tst/out

clean:	
	rm $(OBJ) mergetree
