include $(SEPINC)/SEP.top

LIBDIR = -L${SEP}/lib
UCPPLIBS = -lsep3d -lsep -lsepaux

UF90LIBS =-lsepgeef90 -lsep2df90 -lvplotf90 -lvplot -lsepauxf90
UF90INCLUDES = ${LIBDIR}

SRCDIR = Src/
RESULTSER =
RESDIR = Fig/
R = $(RESDIR)
BINDIR=./

dn = >/dev/null
grey = Grey $(dn)

ER:
	make oct-2d
	make oct-3d
	make 2d-merge
	make 2d-topbase
	make 2d-env-orig
	make 2d-env-new
	make 2d-merge-new
	make 3d-origseg
	make oct-3d-picks
	make 3d-env-orig
	make 3d-env-new
	make 3d-newseg
	make o3d-far
	make o3d-env-orig-far
	make o3d-env-new-far
	make 3d-origseg-far
	make 3d-newseg-far

oct-2d:
	make Fig/oct-2d.v

oct-3d: o3d.T
	Sep_cube o3d.T run_history=3d-position.txt

2d-merge: o2d-merge.H
	Sep_cube o2d.H o2d-merge.H run_history=2d-merge.txt

2d-topbase: 
	Sep_cube o2d.H # Open picks file 'topbase-picks.txt'

2d-env-orig: o2d-env.H
	Sep_cube $< run_history=2d-env.txt

2d-env-new: o2d-envedit.H
	Sep_cube $< run_history=2d-env.txt

2d-merge-new: o2d-merge2.H
	 Sep_cube o2d.H o2d-merge2.H run_history=2d-merge-new.txt

3d-origseg: o3d.T o3d-merge.H
	Sep_cube o3d.T o3d-merge.H run_history=3d-merge.txt

oct-3d-picks: o3d.T 
	Sep_cube o3d.T run_history=3d-position.txt # Open picks file 3d-all-picks.txt

3d-env-orig: o3d-env.H
	Sep_cube $< run_history=3d-env.txt

3d-env-new: o3d-envedit.H
	Sep_cube $< run_history=3d-env.txt

3d-newseg: o3d-merge2.H o3d.T
	Sep_cube o3d.T o3d-merge2.H run_history=3d-merge-new.txt

o3d-far: o3d.T
	Sep_cube o3d.T run_history=3d-far-position.txt

o3d-env-orig-far: o3d-env.H
	Sep_cube $< run_history=3d-env-far.txt

o3d-env-new-far: o3d-envedit.H
	Sep_cube $< run_history=3d-env-far.txt

3d-origseg-far: o3d.T o3d-merge.H
	Sep_cube o3d.T o3d-merge.H run_history=3d-merge-far.txt

3d-newseg-far: o3d.T o3d-merge2.H
	Sep_cube o3d.T o3d-merge2.H run_history=3d-merge-far.txt

o2d.H:
	cp ~adam/Report/SEP143/adam1/o2d.H .

o3d.H:
	cp ~adam/Report/SEP143/adam1/o3d.H .


Fig/oct-2d.v: o2d.H
	< $< Grey title=' ' label1='Depth (ft)' label2='X (m)' out=$@ > /dev/null

o3d.T: o3d.H
	< $< Grey eout=1 > $@


segment_3d.x: Src/segment_3d.cpp Src/segment-image_3d.h Src/segment-graph.h Src/disjoint-set.h
	icc -g -O3 -I. -ISrc -I${SEPINC} -o $@ Src/segment_3d.cpp -lm -L${SEP}/lib -lsep3d -lsep -lsepaux

%-env.H: %.H
	< $*.H Envelope | Scale > $@

o2d-seg.H: o2d-env.H segment_3d.x
	< $< segment_3d.x max_dist=4 min_size=2500 > $@

o2d-merge.H: o2d-seg.H 2d-picks.H 2d-wb-picks.H Merge_segments.x
	< $< Merge_segments.x picks=2d-picks.H sval=50 > m1.H
	< m1.H Merge_segments.x picks=2d-wb-picks.H sval=.05 > $@
	Rm m1.H

o2d-envedit.H: o2d-env.H topbase-picks.H Int_input.x
	< $< Int_input.x picks=topbase-picks.H > $@

o2d-seg2.H: o2d-envedit.H segment_3d.x
	 < o2d-envedit.H segment_3d.x max_dist=4 min_size=2500 > o2d-seg2.H

o2d-merge2.H: o2d-seg2.H 2d-picks.H 2d-wb-picks.H Merge_segments.x
	< $< Merge_segments.x picks=2d-picks.H sval=50 > m1.H
	< m1.H Merge_segments.x picks=2d-wb-picks.H sval=.05 > $@
	Rm m1.H

o3d-seg.H: o3d-env.H segment_3d.x
	< $< segment_3d.x max_dist=2 min_size=15000 > $@

o3d-merge.H: o3d-seg.H 3d-reg-picks.H 3d-wb-picks.H Merge_segments.x
	< $< Merge_segments.x picks=3d-reg-picks.H sval=50 > m1.H
	< m1.H Merge_segments.x picks=3d-wb-picks.H sval=.05 > $@
	Rm m1.H

o3d-envedit.H: o3d-env.H 3d-all-picks.H Int_input_3d.x
	< $< Int_input_3d.x picks=3d-all-picks.H > $@

o3d-seg2.H: o3d-envedit.H segment_3d.x
	< $< segment_3d.x max_dist=2 min_size=12000 > $@

o3d-merge2.H: o3d-seg2.H Merge_segments.x 3d-reg-picks.H 3d-wb-picks.H
	< $< Merge_segments.x picks=3d-reg-picks.H sval=50 > m1.H
	< m1.H Merge_segments.x picks=3d-wb-picks.H sval=.05 > $@
	Rm m1.H


	

%picks.H: %picks.txt
	/usr/bin/perl picks2h.pl < $*picks.txt $*picks.H 
	Dd esize=4 < $*picks.H > $*picks.HH
	Window f1=1 n1=3 < $*picks.HH > $@

clean: jclean
	Rm *picks.H*
	rm -f *.o *.x
	mv o2d.H o2d
	mv o3d.H o3d
	Rm *.H
	Rm o3d.T
	mv o2d o2d.H
	mv o3d o3d.H

include $(SEPINC)/SEP.bottom
