# ================================================================
# John Kerl
# 1998
# ================================================================

# ----------------------------------------------------------------
F77=g77 -g
CC= gcc -g
LFLAGS=-L. -lmatrix -lludecomp -lintegral -lm

PROGS= dax lutest factor ssaqtest dsaqtest
LIBS= libmatrix.a libludecomp.a libintegral.a

# ----------------------------------------------------------------
all: ${LIBS} ${PROGS}

libs: ${LIBS}

progs: ${PROGS}

# ----------------------------------------------------------------
dax: dax.o libraries
	${F77} dax.o ${LFLAGS} -o $@  

lutest: lutest.o libmatrix.a libludecomp.a
	${F77} lutest.o ${LFLAGS} -o $@  

factor: factor.o libmatrix.a libludecomp.a
	${F77} factor.o ${LFLAGS} -o $@  

ssaqtest: ssaqtest.o libintegral.a
	${F77} ssaqtest.o -o $@  ${LFLAGS}

dsaqtest: dsaqtest.o libintegral.a
	${F77} dsaqtest.o -o $@ ${LFLAGS}

# ----------------------------------------------------------------
dax.o: dax.f
	${F77} -c dax.f

lutest.o: lutest.f
	${F77} -c lutest.f

factor.o: factor.f
	${F77} -c factor.f

ssaqtest.o: ssaqtest.f
	${F77} -c ssaqtest.f 

dsaqtest.o: dsaqtest.f
	${F77} -c dsaqtest.f

# ----------------------------------------------------------------
libraries: libludecomp.a libmatrix.a libintegral.a

libludecomp.a: ludecomp.o backsub.o
	ar rv libludecomp.a ludecomp.o
	ar rv libludecomp.a backsub.o
	ranlib libludecomp.a

libmatrix.a: matrixio.o matrixarith.o
	ar rv libmatrix.a matrixio.o
	ar rv libmatrix.a matrixarith.o
	ranlib libmatrix.a

libintegral.a: integral.o
	ar rv libintegral.a integral.o
	ranlib libintegral.a

# ----------------------------------------------------------------
ludecomp.o: ludecomp.f
	${F77} -c ludecomp.f

backsub.o: backsub.f
	${F77} -c backsub.f

matrixio.o: matrixio.f
	${F77} -c matrixio.f -o matrixio.o

matrixarith.o: matrixarith.f
	${F77} -c matrixarith.f -o matrixarith.o

integral.o: integral.c
	${CC} -c integral.c -o integral.o

# ----------------------------------------------------------------
noprogs:
	rm -f ${PROGS}

clean:
	rm -f ${PROGS} ${LIBS} *.o *.s *.trace core
oclean:
	rm -f *.o
backup: *.f *.c Makefile
	rm -f backup/src-files.Z
	cat *.f *.c Makefile > backup/src-files
	compress backup/src-files

tar:
	tar zcf kf.tgz \
		backsub.f     \
		dax.f         \
		dsaqtest.f    \
		factor.f      \
		format.f90    \
		hello.f       \
		hello.f90     \
		integral.c    \
		ludecomp.f    \
		lutest.f      \
		macheps.f90   \
		Makefile      \
		matrixarith.f \
		matrixio.f    \
		series.f90    \
		ssaqtest.f    \
		systemsolve.f

# ----------------------------------------------------------------
