MAKE_DEPEND=yes
include ${SEPINC}/SEP.top
include ProcMakefile1
include ProcMakefile2
include MarmMakefile
#include FigMakefile_AL
#include ProcAlaskafile
include DanaMakefile
#include FigMakefile_seg091
include FigMakefile_sep138
include FigMakefile_sep136
include 3Dkefile

LATOPTS  = style=html
#LATOPTS = option=web 'style=jfc,makeidx,html,amsmath'
#LATOPTS=class=geophysics
OLEVEL=2
UF90FLAGS=-openmp -openmp_report2 -fast
MAINLIBS=-lsep2df90 -lsep3df90 -lsep3d -lsepf90 -lsep -L${LIBDIR}  -lsepgeef90
UF77LIBS = ${BEILIB}
DIPLIBS = -lvplotf90 -lvplot -lsepdipf90 -lsepfilterf90 -lsepvectorf90  
UF90DEFINES = -DSEP_OMP

# WHEREFFTW = /usr/local/FFTW/FFT3_INTEL/lib/libfftw3f.a
# WHEREFFTW = /net/koko/linux_local/FFTW/FFTW2/lib/
#UF90LIBS=${MPILIBS} ${MAINLIBS} -lsepparf90 -lsepgeef90 -lseppar_mpi -lsep2df90 -static-libcxa -lguide -lseppar  -lsuperset -lsupersetf90 -lsuperset #-lsepauxf90 -lsepmathf90 -lsep3df90 -lsep3d -lsepf90 -lsep $(WHEREFFTW)libfftw.a $(WHEREFFTW)librfftw.a #-Bstatic 
#
# 64bit
#
WHEREFFTW = /opt/FFTW/lib/lib
UF90LIBS=${MPILIBS} ${MAINLIBS} ${DIPLIBS} -lsepparf90 -lsepgeef90 -lsep2df90 -lguide -lseppar  -lsuperset -lsupersetf90 -lsuperset -lsepauxf90 -lsepmathf90 -lsep3df90 -lsep3d -lsepf90 -lsep $(WHEREFFTW)fftw3f.a # -lseppar_mpi -static-libcxa

#F90=/opt/intel/fce/10.0.023/bin/ifort

#COLOR=y

#RESULTSER = arm11phwlo arm11phw arm11phz4lo arm11phz4 arm11phzlo arm11phz arm11Tanglo arm11Tlo arm11wanglo arm11Wanglo arm11Wlo #arm11z4anglo \
#arm11z4ang arm2Tanglo arm2Tlo armig11Tang armig11T armig11Wang armig11W armig1Tang armig1T armig2Tang armig2T armig41Tang armig41T \
#armig41Wang armig41W arr11lophz arr11lo arr11phw arr11phz arrec11 arrec41 ars11lophz ars11lo ars11phw ars11phz arsou11 arsou41 mig06ang \
#mig06 mig08 rot06rec rot06sou arm11wang arrec51 arsou51 armig51T armig51Tang armig51W armig51Wang

RESULTSCR = 0001shtp 0001genc4 0001renc4 0001genc8 0001renc8 0002diff_g4 0002diff_r4 0002diff_g8 0002diff_r8 flincl_0 totg_0 totr_0 diffgold_0 diffrand_0 conrand goldperf \

BIN=./bin
PAR=./par
#RESDIR=./fig_new
#FIG=./fig_new
RESDIR=./fig
R = ${RESDIR}
FIG=./fig
DATA=./data
OBJ=./obj
#SRCDIR=./src/areal/expld_refl/optrnd
#SRCDIR=./src/areal/expld_refl
#SRCDIR=./src/areal/3drot
#SRCDIR=./src/areal/3dareal
#SRCDIR=./src/areal/3dwemva
SRCDIR=./src/areal/wemva
#SRCDIR=./src/areal/Fwemva
#SRCDIR=./src/areal/renorm
#SRCDIR=./src/areal/wemva/Dip_sep
#SRCDIR=./src/areal/owmig
#SRCDIR=./src/areal/planew
#SRCDIR=./src/areal/resmig
#SRCDIR=./src/areal/targwe

##########################
#
# Progs
#
owscale: OW_scale.x
	rm -f ${BIN}/OW_scale.x; make OW_scale.x; mv -f OW_scale.x ${BIN}/OW_scale.x

owthor: OW_edithor.x
	rm -f ${BIN}/OW_edithor.x; make OW_edithor.x; mv -f OW_edithor.x ${BIN}/OW_edithor.x

owt2d: OW_t2d.x
	rm -f ${BIN}/OW_t2d.x; make OW_t2d.x; mv -f OW_t2d.x ${BIN}/OW_t2d.x

owscale1: OW_scale1.x
	rm -f ${BIN}/OW_scale1.x; make OW_scale1.x; mv -f OW_scale1.x ${BIN}/OW_scale1.x

conjgdir:conjgdir.x
	rm -f ${BIN}/conjgdir.x; make conjgdir.x; mv -f conjgdir.x ${BIN}/conjgdir.x

dotspl:dotspl.x
	rm -f ${BIN}/dotspl.x; make dotspl.x; mv -f dotspl.x ${BIN}/dotspl.x

steep: steepest.x
	rm -f ${BIN}/steepest.x; make steepest.x; mv -f steepest.x ${BIN}/steepest.x

steepls: steepest_ls.x
	rm -f ${BIN}/steepest_ls.x; make steepest_ls.x; mv -f steepest_ls.x ${BIN}/steepest_ls.x

steepls1: steepest_ls1.x
	rm -f ${BIN}/steepest_ls1.x; make steepest_ls1.x; mv -f steepest_ls1.x ${BIN}/steepest_ls1.x

curve: curve.x
	rm -f ${BIN}/curve.x; make curve.x; mv -f curve.x ${BIN}/curve.x

owren01: OW_renorm01.x
	rm -f ${BIN}/OW_renorm01.x; make OW_renorm01.x; mv -f OW_renorm01.x ${BIN}/OW_renorm01.x
	
test: WI.main.x
	make WI.main.x
	
owren02: OW_renorm02.x
	rm -f ${BIN}/OW_renorm02.x; make OW_renorm02.x; mv -f OW_renorm02.x ${BIN}/OW_renorm02.x
	
owren03: OW_renorm03.x
	rm -f ${BIN}/OW_renorm03.x; make OW_renorm03.x; mv -f OW_renorm03.x ${BIN}/OW_renorm03.x
	
owren04: OW_renorm04.x
	rm -f ${BIN}/OW_renorm04.x; make OW_renorm04.x; mv -f OW_renorm04.x ${BIN}/OW_renorm04.x
	
owren05: OW_renorm05.x
	rm -f ${BIN}/OW_renorm05.x; make OW_renorm05.x; mv -f OW_renorm05.x ${BIN}/OW_renorm05.x
	
ow2600: OW_editvel_pik.x
	rm -f ${BIN}/OW_editvel_pik.x; make OW_editvel_pik.x; mv -f OW_editvel_pik.x ${BIN}/OW_editvel_pik.x

owdip: # Dip.x
	rm -f ${BIN}/Dip.x; make Dip.x; mv -f Dip.x ${BIN}/Dip.x

owkill: # Dip.x
	rm -f ${BIN}/killwave.x; make killwave.x; mv -f killwave.x ${BIN}/killwave.x

of2a:off2ang_sd.x
	rm -f ${BIN}/off2ang_sd.x;rm -f off2ang_sd.x;make off2ang_sd.x
	mv -f off2ang_sd.x ${BIN}/off2ang_sd.x

owsqv:OW_sqrvel.x
	rm -f ${BIN}/OW_sqrvel.x;rm -f OW_sqrvel.x;make OW_sqrvel.x
	mv -f OW_sqrvel.x ${BIN}/OW_sqrvel.x

owstd:OW_stdev.x
	rm -f ${BIN}/OW_stdev.x;rm -f OW_stdev.x;make OW_stdev.x
	mv -f OW_stdev.x ${BIN}/OW_stdev.x

owtgt:OW_targmig2d.x
	rm -f ${BIN}/OW_targmig2d.x;rm -f OW_targmig2d.x;ifort OW_targmig2d.x
	mv -f OW_targmig2d.x ${BIN}/OW_targmig2d.x
#	mv -f *.o ${OBJ}/.
#	mv -f *.mod ${OBJ}/.

owres:OW_resmig.x
	rm -f ${BIN}/OW_resmig.x;rm -f OW_resmig.x;make OW_resmig.x
	mv -f OW_resmig.x ${BIN}/OW_resmig.x

owrms:OW_vrms.x
	rm -f ${BIN}/OW_vrms.x;rm -f OW_vrms.x;make OW_vrms.x
	mv -f OW_vrms.x ${BIN}/OW_vrms.x

owar:OW_arealsht.x
	rm -f ${BIN}/OW_arealsht.x;rm -f OW_arealsht.x;make OW_arealsht.x
	mv -f OW_arealsht.x ${BIN}/OW_arealsht.x
#	mv -f *.o ${OBJ}/.
#	mv -f *.mod ${OBJ}/expld_refl/.

ow3dedvpik:OW_3deditvel_pik.x
	rm -f ${BIN}/OW_3deditvel_pik.x;rm -f OW_3deditvel_pik.x;make OW_3deditvel_pik.x
	mv -f OW_3deditvel_pik.x ${BIN}/OW_3deditvel_pik.x

ow3dedvmu:OW_3deditvel_mut.x
	rm -f ${BIN}/OW_3deditvel_mut.x;rm -f OW_3deditvel_mut.x;make OW_3deditvel_mut.x
	mv -f OW_3deditvel_mut.x ${BIN}/OW_3deditvel_mut.x

ow3dar:OW3d_arealsht.x
	rm -f ${BIN}/OW3d_arealsht.x;rm -f OW3d_arealsht.x;make OW3d_arealsht.x
	mv -f OW3d_arealsht.x ${BIN}/OW3d_arealsht.x
#	mv -f *.o ${OBJ}/.
#	mv -f *.mod ${OBJ}/expld_refl/.

owr:OW_reflect.x
	rm -f ${BIN}/OW_reflect.x;rm -f OW_reflect.x;make OW_reflect.x
	mv -f OW_reflect.x ${BIN}/OW_reflect.x

owedv:OW_editvel.x
	rm -f ${BIN}/OW_editvel.x;rm -f OW_editvel.x;make OW_editvel.x
	mv -f OW_editvel.x ${BIN}/OW_editvel.x

owpsimp:OW_psimped.x
	rm -f ${BIN}/OW_psimped.x;rm -f OW_psimped.x;make OW_psimped.x
	mv -f OW_psimped.x ${BIN}/OW_psimped.x

owfftst:OW_fftst.x
	rm -f ${BIN}/OW_fftst.x;rm -f OW_fftst.x;make OW_fftst.x
	mv -f OW_fftst.x ${BIN}/OW_fftst.x

owplane:OWplane_areal.x
	rm -f ${BIN}/OWplane_areal.x;rm -f OWplane_areal.x;make OWplane_areal.x
	mv -f OWplane_areal.x ${BIN}/OWplane_areal.x

owrho:OW_rhopanel.x
	rm -f ${BIN}/OW_rhopanel.x;rm -f OW_rhopanel.x;make OW_rhopanel.x
	mv -f OW_rhopanel.x ${BIN}/OW_rhopanel.x

tstrnd:tstrnd.x
	rm -f ${BIN}/tstrnd.x;rm -f tstrnd.x;make tstrnd.x
	mv -f tstrnd.x ${BIN}/tstrnd.x

owedvmu:OW_editvel_mut.x
	rm -f ${BIN}/OW_editvel_mut.x;rm -f OW_editvel_mut.x;make OW_editvel_mut.x
	mv -f OW_editvel_mut.x ${BIN}/OW_editvel_mut.x

owt2o:OW_time2offset.x
	rm -f ${BIN}/OW_time2offset.x;rm -f OW_time2offset.x;make OW_time2offset.x
	mv -f OW_time2offset.x ${BIN}/OW_time2offset.x

owspl:OW_spline.x
	rm -f ${BIN}/OW_spline.x;rm -f OW_spline.x;make OW_spline.x
	mv -f OW_spline.x ${BIN}/OW_spline.x

owmar:OWmig2d_areal.x
	rm -f ${BIN}/OWmig2d_areal.x;rm -f OWmig2d_areal.x;make OWmig2d_areal.x
	mv -f OWmig2d_areal.x ${BIN}/OWmig2d_areal.x
#	mv -f *.o ${OBJ}/.
#	mv -f *.mod ${OBJ}/.

ow3dmar:OWmig3d_areal.x
	rm -f ${BIN}/OWmig3d_areal.x;rm -f OWmig3d_areal.x;make OWmig3d_areal.x
	mv -f OWmig3d_areal.x ${BIN}/OWmig3d_areal.x

owind:OW_windowing.x
	rm -f ${BIN}/OW_windowing.x;rm -f OW_windowing.x;make OW_windowing.x
	mv -f OW_windowing.x ${BIN}/OW_windowing.x
#	mv -f *.o ${OBJ}/.
#	mv -f *.mod ${OBJ}/.

ow3dop:OW3dwemva_opers.x
	rm -f ${BIN}/OW3dwemva_opers.x;rm -f OW3dwemva_opers.x;make OW3dwemva_opers.x
	mv -f OW3dwemva_opers.x ${BIN}/OW3dwemva_opers.x
#	mv -f *.o ${OBJ}/.
#	mv -f *.mod ${OBJ}/.

owmkcig:OW_makecig.x
	rm -f ${BIN}/OW_makecig.x;rm -f OW_makecig.x;make OW_makecig.x
	mv -f OW_makecig.x ${BIN}/OW_makecig.x

owslnt:OW_3dslant.x
	rm -f ${BIN}/OW_3dslant.x;rm -f OW_3dslant.x;make OW_3dslant.x
	mv -f OW_3dslant.x ${BIN}/OW_3dslant.x
#	mv -f *.o ${OBJ}/.
#	mv -f *.mod ${OBJ}/expld_refl/.

owslnt25d:OW_3dslant_2d.x
	rm -f ${BIN}/OW_3dslant_2d.x;rm -f OW_3dslant_2d.x;make OW_3dslant_2d.x
	mv -f OW_3dslant_2d.x ${BIN}/OW_3dslant_2d.x

owslnt1:OW1_3dslant.x
	rm -f ${BIN}/OW1_3dslant.x;rm -f OW1_3dslant.x;make OW1_3dslant.x
	mv -f OW1_3dslant.x ${BIN}/OW1_3dslant.x
#	mv -f *.o ${OBJ}/.
#	mv -f *.mod ${OBJ}/expld_refl/.

owmut:OW_mutmud.x
	rm -f ${BIN}/OW_mutmud.x;rm -f OW_mutmud.x;make OW_mutmud.x
	mv -f OW_mutmud.x ${BIN}/OW_mutmud.x
#	mv -f *.o ${OBJ}/.
#	mv -f *.mod ${OBJ}/expld_refl/.

owapik:OW_autopick.x
	rm -f ${BIN}/OW_autopick.x;rm -f OW_autopick.x;make OW_autopick.x
	mv -f OW_autopick.x ${BIN}/OW_autopick.x
#	mv -f *.o ${OBJ}/.
#	mv -f *.mod ${OBJ}/expld_refl/.

owapik1:OW_autopick1.x # computes vmed(z) from vint(z)
	rm -f ${BIN}/OW_autopick1.x;rm -f OW_autopick1.x;make OW_autopick1.x
	mv -f OW_autopick1.x ${BIN}/OW_autopick1.x
#	mv -f *.o ${OBJ}/.
#	mv -f *.mod ${OBJ}/expld_refl/.

owbfgs:OW_lbfgsc_areal.x
	rm -f ${BIN}/OW_lbfgsc_areal.x;rm -f OW_lbfgsc_areal.x;make OW_lbfgsc_areal.x
	mv -f OW_lbfgsc_areal.x ${BIN}/OW_lbfgsc_areal.x

owbfgssc:OW_lbfgsc_scat2.x
	rm -f ${BIN}/OW_lbfgsc_scat2.x;rm -f OW_lbfgsc_scat2.x;make OW_lbfgsc_scat2.x
	mv -f OW_lbfgsc_scat2.x ${BIN}/OW_lbfgsc_scat2.x

owlnsrch:OW_lnsrch.x
	rm -f ${BIN}/OW_lnsrch.x;rm -f OW_lnsrch.x;make OW_lnsrch.x
	mv -f OW_lnsrch.x ${BIN}/OW_lnsrch.x

owcgwemva:OW_cgwemva_areal.x
	rm -f ${BIN}/OW_cgwemva_areal.x;rm -f OW_cgwemva_areal.x;make OW_cgwemva_areal.x
	mv -f OW_cgwemva_areal.x ${BIN}/OW_cgwemva_areal.x

owbfgsadj:OW_lbfgsc_adj.x
	rm -f ${BIN}/OW_lbfgsc_adj.x;rm -f OW_lbfgsc_adj.x;make OW_lbfgsc_adj.x
	mv -f OW_lbfgsc_adj.x ${BIN}/OW_lbfgsc_adj.x

owtstdso:OW_tstdso.x
	rm -f ${BIN}/OW_tstdso.x;rm -f OW_tstdso.x;make OW_tstdso.x
	mv -f OW_tstdso.x ${BIN}/OW_tstdso.x

owdso:OW_dso.x
	rm -f ${BIN}/OW_dso.x;rm -f OW_dso.x;make OW_dso.x
	mv -f OW_dso.x ${BIN}/OW_dso.x

dso:dso.x
	rm -f ${BIN}/dso.x;rm -f dso.x;make dso.x
	mv -f dso.x ${BIN}/dso.x

owgradi:OW_gradiente.x
	rm -f ${BIN}/OW_gradiente.x;rm -f OW_gradiente.x;make OW_gradiente.x
	mv -f OW_gradiente.x ${BIN}/OW_gradiente.x

owvmut: OW_editvel_mut.x
	rm -f ${BIN}/OW_editvel_mut.x;rm -f OW_editvel_mut.x;make OW_editvel_mut.x
	mv -f OW_editvel_mut.x ${BIN}/OW_editvel_mut.x

owtred: OW_trcedit.x
	rm -f ${BIN}/OW_trcedit.x;rm -f OW_trcedit.x;make OW_trcedit.x
	mv -f OW_trcedit.x ${BIN}/OW_trcedit.x

owof2a: OW_off2ang.x
	rm -f ${BIN}/OW_off2ang.x;rm -f OW_off2ang.x;make OW_off2ang.x
	mv -f OW_off2ang.x ${BIN}/OW_off2ang.x

piksrt: piksrt.x
	rm -f ${BIN}/piksrt.x;rm -f piksrt.x;make piksrt.x
	mv -f piksrt.x ${BIN}/piksrt.x

dpt: dptest.x
	rm -f ${BIN}/dptest.x;rm -f dptest.x;make dptest.x
	mv -f dptest.x ${BIN}/dptest.x

rnph: rnph.x
	rm -f ${BIN}/rnph.x;rm -f rnph.x;make rnph.x
	mv -f rnph.x ${BIN}/rnph.x

siman: simann.x
	rm -f ${BIN}/simann.x;rm -f simann.x;make simann.x
	mv -f simann.x ${BIN}/simann.x

owsimrmo: OW_simann_rmo.x
	rm -f ${BIN}/OW_simann_rmo.x;rm -f OW_simann_rmo.x;make OW_simann_rmo.x
	mv -f OW_simann_rmo.x ${BIN}/OW_simann_rmo.x

owbrurmo: OW_brute_rmo.x
	rm -f ${BIN}/OW_brute_rmo.x;rm -f OW_brute_rmo.x;make OW_brute_rmo.x
	mv -f OW_brute_rmo.x ${BIN}/OW_brute_rmo.x

simansp: simann_sp.x
	rm -f ${BIN}/simann_sp.x;rm -f simann_sp.x;make simann_sp.x
	mv -f simann_sp.x ${BIN}/simann_sp.x

genetico: genetico.x
	rm -f ${BIN}/genetico.x;rm -f genetico.x;make genetico.x
	mv -f genetico.x ${BIN}/genetico.x

testcai:testcai.x
	rm -f ${BIN}/testcai.x;rm -f testcai.x;make testcai.x
	mv -f testcai.x ${BIN}/testcai.x

owhg:OW_hgain.x
	rm -f ${BIN}/OW_hgain.x;rm -f OW_hgain.x;make OW_hgain.x
	mv -f OW_hgain.x ${BIN}/OW_hgain.x

##############
#
# Testing rnph
#
rrr:
	./bin/rnph.x 1

##########################################

regclean_%:
	@-touch $*; Rm $*; touch $*; \rm $*

clean : texclean 
	@-touch j.o j.mod j.x *.fix.f90; \rm *.o *.mod *.x *.fix.f90

include ${SEPINC}/SEP.bottom
