CC = cc
CC = gcc
 
CFLAGS = -Wall -g
CFLAGS = -Wall -pg
CFLAGS = -O
CFLAGS = -Wall -O4

PURIFY = /usr/local/purify-3.2/purify
PURIFY =
 
.SUFFIXES : .o .c .a
 
#-----------------------------------------------------------------------

LIBS = \
       ../src/DInpMtx.a \
       ../../DA2/src/DA2.a \
       ../../EGraph/src/EGraph.a \
       ../../ETree/src/ETree.a \
       ../../Graph/src/Graph.a \
       ../../Tree/src/Tree.a \
       ../../Coords/src/Coords.a \
       ../../IVL/src/IVL.a \
       ../../IV/src/IV.a \
       ../../DV/src/DV.a \
       ../../Utilities/src/Utilities.a \
       ../../Drand/src/Drand.a \
       ../../misc/src/misc.a

DRIVERS = adjToGraph \
          createGraph \
          createGraphForATA \
          getProfile \
          mkNaturalFactorMtx \
          readAIJ \
          testExtract \
          testFullAdj \
          testFullAdj2 \
          testHBIO \
          testIO \
          testR2D \
          weightedAdjToGraph 
 
libs :
	cd ../src ; make DInpMtx.a
	cd ../../DA2/src ; make DA2.a
	cd ../../EGraph/src ; make EGraph.a
	cd ../../Graph/src ; make Graph.a
	cd ../../ETree/src ; make ETree.a
	cd ../../Tree/src ; make Tree.a
	cd ../../Coords/src ; make Coords.a
	cd ../../IVL/src ; make IVL.a
	cd ../../IV/src ; make IV.a
	cd ../../DV/src ; make DV.a
	cd ../../Utilities/src ; make Utilities.a
	cd ../../Drand/src ; make Drand.a
	cd ../../misc/src ; make misc.a

all : ${DRIVERS}

clean :
	rm -f *.a *.o ${DRIVERS}

adjToGraph : adjToGraph.o libs
	${PURIFY} ${CC} $@.o -o $@ ${LIBS} -lm

createGraph : createGraph.o libs
	${PURIFY} ${CC} $@.o -o $@ ${LIBS} -lm

createGraphForATA : createGraphForATA.o libs
	${PURIFY} ${CC} $@.o -o $@ ${LIBS} -lm

getProfile : getProfile.o libs
	${PURIFY} ${CC} $@.o -o $@ ${LIBS} -lm

mkNaturalFactorMtx : mkNaturalFactorMtx.o libs
	${PURIFY} ${CC} $@.o -o $@ ${LIBS} -lm

readAIJ : readAIJ.o libs
	${PURIFY} ${CC} $@.o -o $@ ${LIBS} -lm

testExtract : testExtract.o libs
	${PURIFY} ${CC} $@.o -o $@ ${LIBS} -lm

testFullAdj : testFullAdj.o libs
	${PURIFY} ${CC} $@.o -o $@ ${LIBS} -lm

testFullAdj2 : testFullAdj2.o libs
	${PURIFY} ${CC} $@.o -o $@ ${LIBS} -lm

testHBIO : testHBIO.o libs
	${PURIFY} ${CC} $@.o -o $@ ${LIBS} -lm

testIO : testIO.o libs
	${PURIFY} ${CC} $@.o -o $@ ${LIBS} -lm

testR2D : testR2D.o libs
	${PURIFY} ${CC} $@.o -o $@ ${LIBS} -lm

weightedAdjToGraph : weightedAdjToGraph.o libs
	${PURIFY} ${CC} $@.o -o $@ ${LIBS} -lm
