CC      = g++
ISCL    = ../gpp
LSCL    = ../gpp
CFLAGS  = -O -c -Wall -I$(ISCL)
LFLAGS  = -L$(LSCL) -lscl -lm

EXE = tstinv tstrm tstiv tstkp tsthermi tstsolve tsthsort tstsvd tstginv \
	tsthquad tstunsk tstran tstgchi \
	tstpnorm tsterr tstvecrw tstedf tstsort tstnls tstiran tstpoly\
	tstfmt tstgamln tstls tstnlopt tstcut tstprd tstcpy tstvsb \
	tsteigen tstqreg tstgaussq tstnlroot tstmulti tstcsv tstgemv \
	tstew tstfutil tstjulian tstcholesky tstsw tstvcl tstgmm tstpf \
	tstmvn tstfinite tstrb2 tstsimp tstvarcov tstvar tsttab tstintrp \
	tstwish tstdcf tstmvnq tstdijk tstsphere tstball tsthac tstbump \
	tstnck

all : $(EXE)

tstinv		: tstinv.o $(LSCL)/libscl.a 
	$(CC) -o tstinv tstinv.o  $(LFLAGS)

tstiv		: tstiv.o $(LSCL)/libscl.a
	$(CC) -o tstiv tstiv.o  $(LFLAGS)

tstrm		: tstrm.o $(LSCL)/libscl.a
	$(CC) -o tstrm tstrm.o  $(LFLAGS)

tstkp		: tstkp.o $(LSCL)/libscl.a
	$(CC) -o tstkp tstkp.o  $(LFLAGS)

tsthermi	: tsthermi.o $(LSCL)/libscl.a
	$(CC) -o tsthermi tsthermi.o  $(LFLAGS)

tstsolve	: tstsolve.o $(LSCL)/libscl.a
	$(CC) -o tstsolve tstsolve.o   $(LFLAGS)

tsthsort	: tsthsort.o $(LSCL)/libscl.a
	$(CC) -o tsthsort tsthsort.o  $(LFLAGS)

tstsvd	: tstsvd.o $(LSCL)/libscl.a
	$(CC) -o tstsvd tstsvd.o  $(LFLAGS)

tstginv	: tstginv.o $(LSCL)/libscl.a
	$(CC) -o tstginv tstginv.o  $(LFLAGS)

tsthquad	: tsthquad.o $(LSCL)/libscl.a
	$(CC) -o tsthquad tsthquad.o  $(LFLAGS)

tstunsk	: tstunsk.o $(LSCL)/libscl.a
	$(CC) -o tstunsk tstunsk.o  $(LFLAGS)

tstran	: tstran.o $(LSCL)/libscl.a
	$(CC) -o tstran tstran.o  $(LFLAGS)

tstgchi	: tstgchi.o $(LSCL)/libscl.a
	$(CC) -o tstgchi tstgchi.o  $(LFLAGS)

tstpnorm	: tstpnorm.o $(LSCL)/libscl.a
	$(CC) -o tstpnorm tstpnorm.o  $(LFLAGS)

tsterr	: tsterr0.o tsterr1.o $(LSCL)/libscl.a
	$(CC) -o tsterr tsterr0.o tsterr1.o  $(LFLAGS)

tstvecrw	: tstvecrw.o $(LSCL)/libscl.a
	$(CC) -o tstvecrw tstvecrw.o  $(LFLAGS)

tstedf	: tstedf.o $(LSCL)/libscl.a
	$(CC) -o tstedf tstedf.o   $(LFLAGS)

tstsort	: tstsort.o $(LSCL)/libscl.a
	$(CC) -o tstsort tstsort.o   $(LFLAGS)

tstnls	: tstnls.o $(LSCL)/libscl.a
	$(CC) -o tstnls tstnls.o   $(LFLAGS)

tstiran	: tstiran.o $(LSCL)/libscl.a
	$(CC) -o tstiran tstiran.o   $(LFLAGS)

tstpoly	: tstpoly.o $(LSCL)/libscl.a
	$(CC) -o tstpoly tstpoly.o   $(LFLAGS)

tstfmt	: tstfmt.o $(LSCL)/libscl.a
	$(CC) -o tstfmt tstfmt.o   $(LFLAGS)

tstgamln	: tstgamln.o $(LSCL)/libscl.a
	$(CC) -o tstgamln tstgamln.o   $(LFLAGS)

tstls	: tstls.o $(LSCL)/libscl.a
	$(CC) -o tstls tstls.o   $(LFLAGS)

tstnlopt	: tstnlopt.o $(LSCL)/libscl.a
	$(CC) -o tstnlopt tstnlopt.o   $(LFLAGS)

tstcut	: tstcut.o $(LSCL)/libscl.a
	$(CC) -o tstcut tstcut.o   $(LFLAGS)

tstprd	: tstprd.o $(LSCL)/libscl.a
	$(CC) -o tstprd tstprd.o   $(LFLAGS)

tstcpy	: tstcpy.o $(LSCL)/libscl.a
	$(CC) -o tstcpy tstcpy.o   $(LFLAGS)

tstvsb	: tstvsb.o $(LSCL)/libscl.a
	$(CC) -o tstvsb tstvsb.o   $(LFLAGS)

tsteigen	: tsteigen.o $(LSCL)/libscl.a
	$(CC) -o tsteigen tsteigen.o   $(LFLAGS)

tstqreg	: tstqreg.o $(LSCL)/libscl.a
	$(CC) -o tstqreg tstqreg.o   $(LFLAGS)

tstgaussq : tstgaussq.o $(LSCL)/libscl.a
	$(CC) -o tstgaussq tstgaussq.o   $(LFLAGS)

tstnlroot : tstnlroot.o $(LSCL)/libscl.a
	$(CC) -o tstnlroot tstnlroot.o   $(LFLAGS)

tstmulti : tstmulti.o $(LSCL)/libscl.a
	$(CC) -o tstmulti tstmulti.o   $(LFLAGS)

tstcsv : tstcsv.o $(LSCL)/libscl.a
	$(CC) -o tstcsv tstcsv.o   $(LFLAGS)

tstgemv : tstgemv.o $(LSCL)/libscl.a
	$(CC) -o tstgemv tstgemv.o   $(LFLAGS)

tstew : tstew.o $(LSCL)/libscl.a
	$(CC) -o tstew tstew.o   $(LFLAGS)

tstfutil : tstfutil.o $(LSCL)/libscl.a
	$(CC) -o tstfutil tstfutil.o   $(LFLAGS)

tstjulian : tstjulian.o $(LSCL)/libscl.a
	$(CC) -o tstjulian tstjulian.o   $(LFLAGS)

tstcholesky : tstcholesky.o $(LSCL)/libscl.a
	$(CC) -o tstcholesky tstcholesky.o   $(LFLAGS)

tstsw : tstsw.o $(LSCL)/libscl.a
	$(CC) -o tstsw tstsw.o   $(LFLAGS)

tstvcl : tstvcl.o $(LSCL)/libscl.a
	$(CC) -o tstvcl tstvcl.o   $(LFLAGS)

tstgmm : tstgmm.o $(LSCL)/libscl.a
	$(CC) -o tstgmm tstgmm.o   $(LFLAGS)

tstpf : tstpf.o $(LSCL)/libscl.a
	$(CC) -o tstpf tstpf.o   $(LFLAGS)

tstmvn : tstmvn.o $(LSCL)/libscl.a
	$(CC) -o tstmvn tstmvn.o   $(LFLAGS)

tstfinite : tstfinite.o $(LSCL)/libscl.a
	$(CC) -o tstfinite tstfinite.o   $(LFLAGS)

tstrb2 : tstrb2.o $(LSCL)/libscl.a
	$(CC) -o tstrb2 tstrb2.o   $(LFLAGS)

tstsimp : tstsimp.o $(LSCL)/libscl.a
	$(CC) -o tstsimp tstsimp.o   $(LFLAGS)

tstvarcov : tstvarcov.o $(LSCL)/libscl.a
	$(CC) -o tstvarcov tstvarcov.o   $(LFLAGS)

tstvar : tstvar.o $(LSCL)/libscl.a
	$(CC) -o tstvar tstvar.o   $(LFLAGS)

tsttab : tsttab.o $(LSCL)/libscl.a
	$(CC) -o tsttab tsttab.o   $(LFLAGS)

tstintrp : tstintrp.o $(LSCL)/libscl.a
	$(CC) -o tstintrp tstintrp.o   $(LFLAGS)

tstwish : tstwish.o $(LSCL)/libscl.a
	$(CC) -o tstwish tstwish.o   $(LFLAGS)

tstdcf : tstdcf.o $(LSCL)/libscl.a
	$(CC) -o tstdcf tstdcf.o   $(LFLAGS)

tstmvnq : tstmvnq.o $(LSCL)/libscl.a
	$(CC) -o tstmvnq tstmvnq.o   $(LFLAGS)

tstdijk : tstdijk.o $(LSCL)/libscl.a
	$(CC) -o tstdijk tstdijk.o   $(LFLAGS)

tstsphere : tstsphere.o $(LSCL)/libscl.a
	$(CC) -o tstsphere tstsphere.o   $(LFLAGS)

tstball : tstball.o $(LSCL)/libscl.a
	$(CC) -o tstball tstball.o   $(LFLAGS)

tsthac : tsthac.o $(LSCL)/libscl.a
	$(CC) -o tsthac tsthac.o   $(LFLAGS)

tstbump : tstbump.o $(LSCL)/libscl.a
	$(CC) -o tstbump tstbump.o   $(LFLAGS)

tstnck : tstnck.o $(LSCL)/libscl.a
	$(CC) -o tstnck tstnck.o   $(LFLAGS)


tstinv.o : $(ISCL)/realmat.h $(ISCL)/scltypes.h $(ISCL)/sclfuncs.h tstinv.cpp
	$(CC) $(CFLAGS)  tstinv.cpp

tstiv.o	: $(ISCL)/realmat.h $(ISCL)/scltypes.h $(ISCL)/sclfuncs.h tstiv.cpp
	$(CC) $(CFLAGS)  tstiv.cpp

tstrm.o	: tstrm.cpp \
		$(ISCL)/realmat.h $(ISCL)/scltypes.h $(ISCL)/sclfuncs.h 
	$(CC) $(CFLAGS)  tstrm.cpp

tstkp.o	: tstkp.cpp \
		$(ISCL)/kronprd.h $(ISCL)/scltypes.h $(ISCL)/sclfuncs.h 
	$(CC) $(CFLAGS)  tstkp.cpp

tsthermi.o	: tsthermi.cpp \
		$(ISCL)/realmat.h $(ISCL)/scltypes.h $(ISCL)/sclfuncs.h 
	$(CC) $(CFLAGS)  tsthermi.cpp

tstsolve.o	: tstsolve.cpp $(ISCL)/libscl.h \
		$(ISCL)/realmat.h $(ISCL)/scltypes.h $(ISCL)/sclfuncs.h 
	$(CC) $(CFLAGS)  tstsolve.cpp

tsthsort.o	: tsthsort.cpp \
		$(ISCL)/scltypes.h $(ISCL)/sclfuncs.h
	$(CC) $(CFLAGS)  tsthsort.cpp

tstsvd.o	: tstsvd.cpp $(ISCL)/libscl.h
	$(CC) $(CFLAGS)  tstsvd.cpp

tstginv.o	: tstginv.cpp $(ISCL)/libscl.h
	$(CC) $(CFLAGS)  tstginv.cpp

tsthquad.o	: tsthquad.cpp golub.cpp $(ISCL)/libscl.h
	$(CC) $(CFLAGS)  tsthquad.cpp

tstunsk.o	: tstunsk.cpp \
		$(ISCL)/scltypes.h $(ISCL)/sclfuncs.h
	$(CC) $(CFLAGS)  tstunsk.cpp

tstran.o	: tstran.cpp \
		$(ISCL)/scltypes.h $(ISCL)/sclfuncs.h
	$(CC) $(CFLAGS)  tstran.cpp

tstgchi.o	: tstgchi.cpp \
		$(ISCL)/scltypes.h $(ISCL)/sclfuncs.h
	$(CC) $(CFLAGS)  tstgchi.cpp

tstpnorm.o	: tstpnorm.cpp \
		$(ISCL)/scltypes.h $(ISCL)/sclfuncs.h
	$(CC) $(CFLAGS)  tstpnorm.cpp

tsterr0.o	: tsterr0.cpp \
		$(ISCL)/scltypes.h $(ISCL)/sclerror.h
	$(CC) $(CFLAGS)  tsterr0.cpp

tsterr1.o	: tsterr1.cpp \
		$(ISCL)/scltypes.h $(ISCL)/sclerror.h
	$(CC) $(CFLAGS)  tsterr1.cpp

tstvecrw.o	: tstvecrw.cpp \
		$(ISCL)/scltypes.h $(ISCL)/sclfuncs.h
	$(CC) $(CFLAGS)  tstvecrw.cpp

tstedf.o	: tstedf.cpp $(ISCL)/libscl.h \
		$(ISCL)/realmat.h $(ISCL)/scltypes.h $(ISCL)/sclfuncs.h 
	$(CC) $(CFLAGS)  tstedf.cpp

tstsort.o	: tstsort.cpp $(ISCL)/libscl.h \
		$(ISCL)/realmat.h $(ISCL)/scltypes.h $(ISCL)/sclfuncs.h 
	$(CC) $(CFLAGS)  tstsort.cpp

tstnls.o	: tstnls.cpp $(ISCL)/libscl.h \
		$(ISCL)/realmat.h $(ISCL)/scltypes.h $(ISCL)/sclfuncs.h 
	$(CC) $(CFLAGS)  tstnls.cpp

tstiran.o	: tstiran.cpp $(ISCL)/libscl.h \
		$(ISCL)/realmat.h $(ISCL)/scltypes.h $(ISCL)/sclfuncs.h 
	$(CC) $(CFLAGS)  tstiran.cpp

tstpoly.o	: tstpoly.cpp $(ISCL)/libscl.h \
		$(ISCL)/realmat.h $(ISCL)/scltypes.h $(ISCL)/sclfuncs.h 
	$(CC) $(CFLAGS)  tstpoly.cpp

tstfmt.o	: tstfmt.cpp $(ISCL)/libscl.h \
		$(ISCL)/realmat.h $(ISCL)/scltypes.h $(ISCL)/sclfuncs.h 
	$(CC) $(CFLAGS)  tstfmt.cpp

tstgamln.o	: tstgamln.cpp $(ISCL)/libscl.h \
		$(ISCL)/realmat.h $(ISCL)/scltypes.h $(ISCL)/sclfuncs.h 
	$(CC) $(CFLAGS)  tstgamln.cpp

tstls.o	: tstls.cpp $(ISCL)/libscl.h \
		$(ISCL)/realmat.h $(ISCL)/scltypes.h $(ISCL)/sclfuncs.h 
	$(CC) $(CFLAGS)  tstls.cpp

tstnlopt.o	: tstnlopt.cpp $(ISCL)/libscl.h \
		$(ISCL)/realmat.h $(ISCL)/scltypes.h $(ISCL)/sclfuncs.h 
	$(CC) $(CFLAGS)  tstnlopt.cpp

tstcut.o	: tstcut.cpp $(ISCL)/libscl.h \
		$(ISCL)/scltypes.h $(ISCL)/sclfuncs.h 
	$(CC) $(CFLAGS)  tstcut.cpp

tstprd.o	: tstprd.cpp $(ISCL)/libscl.h \
		$(ISCL)/scltypes.h $(ISCL)/sclfuncs.h 
	$(CC) $(CFLAGS)  tstprd.cpp

tstcpy.o	: tstcpy.cpp $(ISCL)/libscl.h \
		$(ISCL)/scltypes.h $(ISCL)/sclfuncs.h 
	$(CC) $(CFLAGS)  tstcpy.cpp

tstvsb.o	: tstvsb.cpp $(ISCL)/libscl.h \
		$(ISCL)/scltypes.h $(ISCL)/sclfuncs.h 
	$(CC) $(CFLAGS)  tstvsb.cpp

tsteigen.o	: tsteigen.cpp $(ISCL)/libscl.h \
		$(ISCL)/scltypes.h $(ISCL)/sclfuncs.h 
	$(CC) $(CFLAGS)  tsteigen.cpp

tstqreg.o	: tstqreg.cpp $(ISCL)/libscl.h \
		$(ISCL)/scltypes.h $(ISCL)/sclfuncs.h 
	$(CC) $(CFLAGS)  tstqreg.cpp

tstgaussq.o	: tstgaussq.cpp $(ISCL)/libscl.h \
		$(ISCL)/scltypes.h $(ISCL)/sclfuncs.h 
	$(CC) $(CFLAGS)  tstgaussq.cpp

tstnlroot.o	: tstnlroot.cpp $(ISCL)/libscl.h \
		$(ISCL)/scltypes.h $(ISCL)/sclfuncs.h 
	$(CC) $(CFLAGS)  tstnlroot.cpp

tstmulti.o	: tstmulti.cpp $(ISCL)/libscl.h \
		$(ISCL)/scltypes.h $(ISCL)/sclfuncs.h 
	$(CC) $(CFLAGS)  tstmulti.cpp

tstcsv.o	: tstcsv.cpp $(ISCL)/libscl.h \
		$(ISCL)/scltypes.h $(ISCL)/sclfuncs.h $(ISCL)/realmat.h
	$(CC) $(CFLAGS)  tstcsv.cpp

tstgemv.o	: tstgemv.cpp $(ISCL)/libscl.h \
		$(ISCL)/scltypes.h $(ISCL)/sclfuncs.h $(ISCL)/realmat.h
	$(CC) $(CFLAGS)  tstgemv.cpp

tstew.o	: tstew.cpp $(ISCL)/libscl.h \
		$(ISCL)/scltypes.h $(ISCL)/sclfuncs.h $(ISCL)/realmat.h
	$(CC) $(CFLAGS)  tstew.cpp

tstfutil.o	: tstfutil.cpp $(ISCL)/libscl.h \
		$(ISCL)/scltypes.h $(ISCL)/sclfuncs.h $(ISCL)/realmat.h
	$(CC) $(CFLAGS)  tstfutil.cpp

tstjulian.o	: tstjulian.cpp $(ISCL)/libscl.h \
		$(ISCL)/scltypes.h $(ISCL)/sclfuncs.h $(ISCL)/realmat.h
	$(CC) $(CFLAGS)  tstjulian.cpp

tstcholesky.o	: tstcholesky.cpp $(ISCL)/libscl.h \
		$(ISCL)/scltypes.h $(ISCL)/sclfuncs.h $(ISCL)/realmat.h
	$(CC) $(CFLAGS)  tstcholesky.cpp

tstsw.o	: tstsw.cpp $(ISCL)/libscl.h \
		$(ISCL)/scltypes.h $(ISCL)/sclfuncs.h $(ISCL)/realmat.h
	$(CC) $(CFLAGS)  tstsw.cpp

tstvcl.o	: tstvcl.cpp $(ISCL)/libscl.h \
		$(ISCL)/scltypes.h $(ISCL)/realmat.h
	$(CC) $(CFLAGS)  tstvcl.cpp

tstgmm.o	: tstgmm.cpp $(ISCL)/libscl.h \
		$(ISCL)/scltypes.h $(ISCL)/realmat.h
	$(CC) $(CFLAGS)  tstgmm.cpp

tstpf.o	: tstpf.cpp $(ISCL)/libscl.h \
		$(ISCL)/scltypes.h $(ISCL)/realmat.h
	$(CC) $(CFLAGS)  tstpf.cpp

tstmvn.o	: tstmvn.cpp $(ISCL)/libscl.h \
		$(ISCL)/scltypes.h $(ISCL)/realmat.h
	$(CC) $(CFLAGS)  tstmvn.cpp

tstfinite.o	: tstfinite.cpp $(ISCL)/scltypes.h 
	$(CC) $(CFLAGS)  tstfinite.cpp

tstrb2.o	: tstrb2.cpp $(ISCL)/scltypes.h 
	$(CC) $(CFLAGS)  tstrb2.cpp

tstsimp.o	: tstsimp.cpp $(ISCL)/libscl.h \
		$(ISCL)/scltypes.h $(ISCL)/realmat.h
	$(CC) $(CFLAGS)  tstsimp.cpp

tstvarcov.o	: tstvarcov.cpp $(ISCL)/libscl.h \
		$(ISCL)/scltypes.h $(ISCL)/realmat.h
	$(CC) $(CFLAGS)  tstvarcov.cpp

tstvar.o	: tstvar.cpp $(ISCL)/libscl.h \
		$(ISCL)/scltypes.h $(ISCL)/realmat.h
	$(CC) $(CFLAGS)  tstvar.cpp

tsttab.o	: tsttab.cpp $(ISCL)/libscl.h \
		$(ISCL)/scltypes.h $(ISCL)/realmat.h
	$(CC) $(CFLAGS)  tsttab.cpp

tstintrp.o	: tstintrp.cpp $(ISCL)/libscl.h \
		$(ISCL)/scltypes.h $(ISCL)/realmat.h
	$(CC) $(CFLAGS)  tstintrp.cpp

tstwish.o	: tstwish.cpp $(ISCL)/libscl.h \
		$(ISCL)/scltypes.h $(ISCL)/realmat.h
	$(CC) $(CFLAGS)  tstwish.cpp

tstdcf.o	: tstdcf.cpp $(ISCL)/libscl.h \
		$(ISCL)/scltypes.h $(ISCL)/realmat.h
	$(CC) $(CFLAGS)  tstdcf.cpp

tstmvnq.o	: tstmvnq.cpp $(ISCL)/libscl.h \
		$(ISCL)/scltypes.h $(ISCL)/realmat.h
	$(CC) $(CFLAGS)  tstmvnq.cpp

tstdijk.o	: tstdijk.cpp $(ISCL)/libscl.h \
		$(ISCL)/scltypes.h $(ISCL)/realmat.h
	$(CC) $(CFLAGS)  tstdijk.cpp

tstsphere.o	: tstsphere.cpp $(ISCL)/libscl.h \
		$(ISCL)/scltypes.h $(ISCL)/realmat.h
	$(CC) $(CFLAGS)  tstsphere.cpp

tstball.o	: tstball.cpp $(ISCL)/libscl.h \
		$(ISCL)/scltypes.h $(ISCL)/realmat.h
	$(CC) $(CFLAGS)  tstball.cpp

tsthac.o	: tsthac.cpp $(ISCL)/libscl.h \
		$(ISCL)/scltypes.h $(ISCL)/realmat.h
	$(CC) $(CFLAGS)  tsthac.cpp

tstbump.o	: tstbump.cpp $(ISCL)/libscl.h \
		$(ISCL)/scltypes.h $(ISCL)/realmat.h
	$(CC) $(CFLAGS)  tstbump.cpp

tstnck.o	: tstnck.cpp $(ISCL)/libscl.h \
		$(ISCL)/scltypes.h $(ISCL)/realmat.h
	$(CC) $(CFLAGS)  tstnck.cpp

clean	:
	rm -f *.o core core.*

veryclean	:
	rm -f *.o core core.*
	rm -f $(EXE)
