SORT=Lib/heapsort.o 
LIB=${SORT} Lib/aux256.o
SOURCE=cdw3.o init3.o loop.o refine.o ${LIB}
SOURCEM=cdw-mon.o init3.o loop-mon.o refine.o ${LIB}
SOURCEV=cdwcurrent.o init3.o loop-vel.o ${LIB}
SOURCEG=cdw3.o init3.o loop2.o refine.o ${LIB}
SOURCEEXP=cdw3.o init3.o loop-exp.o refine.o ${LIB}
ORIG=cdw3.f init3.f loop.f refine.f ${LIB}
S2=cdw3.f init3.o smalloop.o ${LIB}

cdw-mon:	${SOURCEM}
	fortran -nc -Ogv -DAS -o cdw-mon ${SOURCEM} -r8

cdw-mon.o: cdw-mon.f
	fortran -nc -Ogv -DAS -c cdw-mon.f -r8

loop-mon.o: loop-mon.f
	fortran -nc -Ogv -DAS -c loop-mon.f -r8

cdwcurrent:	${SOURCEV}
	fortran -nc -Ogv -DAS -o cdwcurrent ${SOURCEV} -r8

cdwcurrent.o: cdwcurrent.f
	fortran -nc -Ogv -DAS -c cdwcurrent.f -r8

loop-vel.o: loop-vel.f
	fortran -nc -Ogv -DAS -c loop-vel.f -r8

exp:	${SOURCEEXP}
	fortran -nc -Ogv -DAS -o exp ${SOURCEEXP} -r8

pcdw:	${SOURCE}
	fortran -nc -Ogv -DAS -o pcdw ${SOURCE} -r8

grad:	grad.o histogram.o ${LIB}
	fortran -nc -Ogv -DAS -o grad grad.o histogram.o ${LIB}

grad.o:	grad.f
	fortran -nc -Ogv -DAS -c grad.f

histogram.o:	histogram.f
	fortran -nc -Ogv -DAS -c histogram.f

thr:	threshold.f thrdriver.f
	fortran -nc -Ogv -DAS -o thrdriver threshold.f thrdriver.f ${LIB}

debug:	${ORIG}
	fortran -nc -g -o cdw3 ${ORIG} -r8

cdw3:	${SOURCE}
	fortran -nc -Ogv -DAS -o cdw4 ${SOURCE} -r8

gcdw4:	${SOURCEG}
	fortran -nc -Ogv -DAS -o gcdw4 ${SOURCEG} -r8 -lqk

cdw3.o:	cdw3.f
	fortran -nc -Ogv -DAS -c cdw3.f -r8

init3.o:	init3.f 
	fortran -c init3.f -r8

loop.o:	loop.f
	fortran  -nc -Ogv -DAS -c loop.f -r8

loop2.o:	loop2.f
	fortran  -nc -c loop2.f

loop-exp.o:	loop-exp.o
	fortran -nc -Ogv -DAS -c loop-exp.f -r8

refine.o: refine.f
	fortran -nc -Ogv -DAS -c refine.f -r8

opt:	${ORIG}
	fortran -Ogvc -DAS -o cdw3 ${ORIG} -r8

scdw3:	${S2}
	fortran -nc -Ogv -DAS -o scdw3 ${S2} -r8

aux.o:	aux.f
	fortran -c aux.f -r8

smalloop.o:	smalloop.f
	fortran  -nc -Ogv -DAS -c smalloop.f -r8

fact: fact.f
	fortran -recursive -o fact fact.f
