CC = cc
CC = gcc
 
CFLAGS = -dalign -lsunperf -O4
CFLAGS = -Wall -g
CFLAGS = -Wall -pg
CFLAGS = -O
CFLAGS = -Wall -O4
 
PURIFY = /usr/local/purify-4.0.1/purify
PURIFY =
#
# for solaris and sgi
#
LDFLAGS =
#
# for hp
#
# LDFLAGS = -Wl,+parallel -Wl,+tm,spp2000
 
.SUFFIXES : .o .c .a
 
#-----------------------------------------------------------------------
 
LIBS = \
       ../src/DFrontMtx.a \
       ../../DLinSystem/src/DLinSystem.a \
       ../../DDenseMtxManager/src/DDenseMtxManager.a \
       ../../DDenseMtxList/src/DDenseMtxList.a \
       ../../DDenseMtx/src/DDenseMtx.a \
       ../../DChvManager/src/DChvManager.a \
       ../../DChvList/src/DChvList.a \
       ../../DChv/src/DChv.a \
       ../../DStairMtx/src/DStairMtx.a \
       ../../DA2/src/DA2.a \
       ../../DVL/src/DVL.a \
       ../../SymbFac/src/SymbFac.a \
       ../../DPencil/src/DPencil.a \
       ../../Lock/src/Lock.a \
       ../../misc/src/misc.a \
       ../../DInpMtx/src/DInpMtx.a \
       ../../ETree/src/ETree.a \
       ../../Tree/src/Tree.a \
       ../../EGraph/src/EGraph.a \
       ../../Graph/src/Graph.a \
       ../../Ideq/src/Ideq.a \
       ../../IVL/src/IVL.a \
       ../../DV/src/DV.a \
       ../../IV/src/IV.a \
       ../../Utilities/src/Utilities.a \
       ../../Drand/src/Drand.a

#
#  switch over posix (-lpthread) or solaris (-lthread)
#
THREAD_LIBS = -D_REENTRANT -lthread 
THREAD_LIBS = -D_REENTRANT -lpthread 
 
DRIVERS = testFactor \
          testFactorMT \
          testGrid \
          testGridMT \
          testIO \
          testQRFactor \
          testQRFactorMT \
          testQRgrid
 
libs :
	cd ../src ; make DFrontMtx.a
	cd ../../DLinSystem/src ; make DLinSystem.a
	cd ../../DChvManager/src ; make DChvManager.a
	cd ../../DChvList/src ; make DChvList.a
	cd ../../DDenseMtxManager/src ; make DDenseMtxManager.a
	cd ../../DDenseMtxList/src ; make DDenseMtxList.a
	cd ../../DDenseMtx/src ; make DDenseMtx.a
	cd ../../DChv/src ; make DChv.a
	cd ../../DStairMtx/src ; make DStairMtx.a
	cd ../../DA2/src ; make DA2.a
	cd ../../DVL/src ; make DVL.a
	cd ../../SymbFac/src ; make SymbFac.a
	cd ../../DPencil/src ; make DPencil.a
	cd ../../Lock/src ; make Lock.a
	cd ../../misc/src ; make misc.a
	cd ../../ETree/src ; make ETree.a
	cd ../../Tree/src ; make Tree.a
	cd ../../EGraph/src ; make EGraph.a
	cd ../../Graph/src ; make Graph.a
	cd ../../Ideq/src ; make Ideq.a
	cd ../../DInpMtx/src ; make DInpMtx.a
	cd ../../IVL/src ; make IVL.a
	cd ../../Drand/src ; make Drand.a
	cd ../../DV/src ; make DV.a
	cd ../../IV/src ; make IV.a
	cd ../../Utilities/src ; make Utilities.a
 
all : ${DRIVERS}
 
clean :
	rm -f *.a *.o ${DRIVERS}
 
testFactor : testFactor.o libs
	${PURIFY} ${CC} $@.o -o $@ ${LIBS} ${THREAD_LIBS} -lm
 
testFactorMT : testFactorMT.o libs
	${PURIFY} ${CC} ${LDFLAGS} $@.o -o $@ ${LIBS} ${THREAD_LIBS} -lm
 
testGridMT : testGridMT.o libs
	${PURIFY} ${CC} ${LDFLAGS} $@.o -o $@ ${LIBS} ${THREAD_LIBS} -lm
 
testGrid : testGrid.o libs
	${PURIFY} ${CC} $@.o -o $@ ${LIBS} ${THREAD_LIBS} -lm
 
testIO : testIO.o libs
	${PURIFY} ${CC} $@.o -o $@ ${LIBS} ${THREAD_LIBS} -lm
 
testQRFactor : testQRFactor.o libs
	${PURIFY} ${CC} $@.o -o $@ ${LIBS} ${THREAD_LIBS} -lm
 
testQRFactorMT : testQRFactorMT.o libs
	${PURIFY} ${CC} ${LDFLAGS} $@.o -o $@ ${LIBS} ${THREAD_LIBS} -lm
 
testQRgrid : testQRgrid.o libs
	${PURIFY} ${CC} $@.o -o $@ ${LIBS} ${THREAD_LIBS} -lm

