SRCBASE=..
include ../Makevars
include ../Maketargets
PKG_LIBS=-L../threads -lprogressthreads 

LIBOBJECTS=ClusterNode.o UpperDiagonalMatrix.o Cluster.o VectorDataFunctions.o Perf.o BasicCluster.o OptimalOrdering.o EisenOrdering.o CongaLine.o ClusterThread.o ClusterNodeVector.o 
LIBBASE=cluster
OBJECTS=main.o
PROGRAM=cluster
LIBRARY=lib$(LIBBASE).a
SHAREDOBJECT=$(LIBBASE)$(SOEXT)

all: $(LIBRARY)

$(SHAREDOBJECT): *.cpp ../threads/libprogressthreads.a ClusterException.h
	mv Makefile Makefile.mv
	SRCBASE=${SRCBASE} PKG_LIBS=${PKG_LIBS} PKG_CXXFLAGS="${PKG_CXXFLAGS}" PKG_CFLAGS="${PKG_CFLAGS}" $(RCMD) $(RCMD_CMD) SHLIB -o $(SHAREDOBJECT) *.cpp ; RETURN=`echo $$?` bash -c "mv Makefile.mv Makefile; if test 0 -ne \$$RETURN ; then echo 'build failed'; exit 1 ; fi"

$(LIBRARY): $(LIBOBJECTS)
	ar -rsv $(LIBRARY) $(LIBOBJECTS)
	ranlib $(LIBRARY)

$(PROGRAM): $(OBJECTS) $(LIBRARY)
	$(CXX) -L. -g -o $(PROGRAM) $(OBJECTS) -l$(LIBBASE)

so: $(SHAREDOBJECT) 

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

main.o: main.cpp 
	$(CXX) $(CXXOPTS) $(PKG_CXXFLAGS) main.cpp

include Makedeps
