#
#	Tests
#
FFLAGS=-O -g -recursive
CFLAGS=-g
LDFLAGS=-lCRAY -lcommon
TESTS=vector matmult vecadd
.f.o : ;	$(FC) ${FFLAGS} -c $*.f
.c.o : ;	$(CC) ${CFLAGS} -c $*.c
.s.o : ;	as $*.s


#	Make and run the tests is the default make action.
run: all
	sh < runtests.sh

#	These programs exercise the libCRAY.a in various ways
all: $(TESTS)
vector : vector.o veccom.o
	$(FC) ${FFLAGS} veccom.o vector.o ${LDFLAGS} -o vector
matmult : matmult.o matcom.o
	$(FC) ${FFLAGS} matcom.o matmult.o ${LDFLAGS} -o matmult
vecadd : vecadd.o vecaddcom.o
	$(FC) ${FFLAGS} vecaddcom.o vecadd.o ${LDFLAGS} -o vecadd
# 	These tests do various strange, bizzare tests
frktest : frktest.o frkcom.o
	$(FC) ${FFLAGS} frkcom.o frktest.o ${LDFLAGS} -o frktest
cltest : cltest.o tskstart.o
	$(FC) ${FFLAGS} cltest.o tskstart.o ${LDFLAGS} -o cltest
iotest : iotest.f
	$(FC) ${FFLAGS} iotest.f -o iotest
cltest.o : cltest.f
frktest.o : frktest.f frkcom.h
frkcom.o : frkcom.f frkcom.h
matmult.o : matmult.f matcom.h
matcom.o : matcom.f matcom.h
vector.o : vector.f vector.h
veccom.o : veccom.f vector.h
vecadd.o : vecadd.f vecadd.h
vecaddcom.o : vecaddcom.f vecadd.h

clean:
	rm -f $(TESTS) frktest cltest iotest *.o trace.* gmon.out core
