#define BINDIR ../../Bin/MTYPE
#define TUBEARGS -geometry 700x700
#define USRLIBS cgmeth.o cgstep.o conjnull.o matmul.o adjnull.o
#include <SEP.defs>
#define PROGLIST VelinvA VeltranI VeltranA

all&: [[ sub -i X BINDIR/X PROGLIST ]]

BINDIR/VeltranI: VeltranI.o velsimpI.o sembsimpI.o boxtrunc.o USRLIBS
	FC LDOPTS VeltranI.o velsimpI.o sembsimpI.o boxtrunc.o USRLIBS SEPLIB SYSLIB -o BINDIR/VeltranI

BINDIR/VeltranA: VeltranA.o velsimpA.o sembsimpA.o boxtrunc.o USRLIBS
	FC LDOPTS  VeltranA.o velsimpA.o sembsimpA.o boxtrunc.o USRLIBS SEPLIB SYSLIB -o BINDIR/VeltranA

BINDIR/VelinvI: VelinvI.o velsimpI.o sembsimpI.o boxtrunc.o USRLIBS
	FC LDOPTS  VelinvI.o velsimpI.o sembsimpI.o boxtrunc.o USRLIBS SEPLIB SYSLIB -o BINDIR/VelinvI

BINDIR/VelinvA: VelinvA.o velsimpA.o sembsimpA.o boxtrunc.o USRLIBS
	FC LDOPTS  VelinvA.o velsimpA.o sembsimpA.o boxtrunc.o USRLIBS SEPLIB SYSLIB -o BINDIR/VelinvA


test&: data.H  recover.H velinv.H
	

recover.H&:
	BINDIR/VelinvA conj=1 <data.H >recover.H ns=40 vmin=1.0 vmax=6. vel=0 type=0

velin.H: if not exist velin.H
	Spike n1=100 d1=.01 n2=20 d2=.05 k1=10,40,55,80 k2=16,12,8,2 nsp=4 label1=Time label2=Slowness > velin.H

$ modeling
data.H: velin.H 
	BINDIR/VeltranA <velin.H nx=20 x0=0. dx=.025  conj=0 >data.H

$ inverse
velinv.H: velout.H BINDIR/Velan
        BINDIR/VeltranA <velout.H os=0 ds=.05 ns=20 adj=0 inv=1 niter=10 >velinv.H

$ adjoint + modeling
veladjmod.H: veladj.H BINDIR/Velan
        BINDIR/VeltranA < veladj.H nx=20 x0=0. dx=.025 adj=0 > veladjmod.H

$ inverse + modeling
velinvmod.H: velinv.H BINDIR/Velan
        BINDIR/VeltranA < velinv.H nx=20 x0=0. dx=.025 adj=0 > velinvmod.H

clean&:  jclean
	-RM_CMD *.H

#include <SEP.obj.rules>
#include <SEP.prog.rules>
#include <SEP.idoc.rules> 
