$$$#define CMFC /cmsrc/cmf-1.2a/cmf1.2 -v -release 1_2a
#define SAW gsaw
#define SPP spp
#define FIGDIR Fig
#define DEBUG
###define CMFCOPTS -cmprofile -slicewise
/*
        I am  testing Dave's new c-fortran.h

*/
#define SEPLIB  /r3/dave/testsep/SUN4/lib/libsep.a

#define CMLIB -v -lcmssl -lcmtiming 
#define XCMLIB -lcmfortgraph_slice -lcmsr -lX11

#define BINDIR /r3/martin/bin/MTYPE

/* save front end space does not work yet*/
####define SPPOPTS  -DDONT_KEEP_SEIS_ONFE

#include <SEP.defs>


#define OBJS Ultimod.o sub.o timestep.o del.o getstress.o record.o dsrc.o update2.o expdamp.o fdcoeff.o initcommon.o bcstress.o bcdisp.o fdcoeffone.o conv1done.o updateone.o ssrc.o shearsrc.o


Ulti Ultimod&:  OBJS
	CMFC  LDOPTS OBJS XCMLIB CMLIB SEPLIB SYSLIB -o BINDIR/Ultimod

Ultimod.o: Ultimod.f
	FC -c -g -db Ultimod.f

#define OBJSSPLIT Ultimod.o sub.o timestep.split.o del.split.o del.o conv1dc.split.o conv1dc.o record.o dsrc.o update2.o expdamp.o fdcoeff.o initcommon.o bcstress.o bcdisp.o fdcoeffone.o updateone.o ssrc.o shearsrc.o

Ultimod.split&: OBJSSPLIT
	CMFC LDOPTS OBJSSPLIT XCMLIB CMLIB SEPLIB SYSLIB -o BINDIR/Ultimod.split



/*
Ultimod.fcm: SRCDIR/Ultimod.rs		if exist SRCDIR/Ultimod.rs
	spp <SRCDIR/Ultimod.rs >Ultimod.spp
	SAW Ultimod.spp | sed "s,implicit undefined (a-z),implicit none,g" | RATFOR | FPP -Dsource="'"FULLSRC/Ultimod.rs"'" MACH ICAT(SRCDIR)  FIXNULL > Ultimod.fcm
	-rm Ultimod.spp

Ultimod.o: Ultimod.fcm
	CMFC -c -g -cmdebug Ultimod.fcm

*/

sepmodlib.a:  OBJS
	ARCHIVE sepmodlib.a OBJS

/*
#define OBJS Ultimod.o sub.o timestep.o conv1dc.o del.o getstress.o record.o dsrc.o update2.o expdamp.o fdcoeff.o initcommon.o bcstress.o bcdisp.o fdcoeffone.o conv1done.o
*/




#define OBJSDEMO Ultimod.o sub.demo.o timestep.demo.o conv1dc.o del.o getstress.o dsrc.o update2.o expdamp.o fdcoeff.o  initcommon.o bcstress.o bcdisp.o

Ultimod.demo&:  OBJSDEMO
	CMFC  LDOPTS  OBJSDEMO XCMLIB CMLIB SEPLIB SYSLIB -o BINDIR/Ultimod.demo

#define OBJSSPLIT Ultimod.o sub.o timestepsplit.o conv1dcsplit.o delsplit.o getstress.o record.o dsrc.o update2.o expdamp.o

Split Ultisplit&:   OBJSSPLIT
	CMFC  LDOPTS  OBJSSPLIT XCMLIB CMLIB SEPLIB SYSLIB -o BINDIR/Ultisplit


fig1-3.h&: showder
	showder alpha=0.01 >junk
	Byte gainpanel=every <junk >fig1-3.h

FIGDIR/fig1.v fig1.v&: fig1-3.h
	Window <fig1-3.h n3=1 |Ta2vplot out=FIGDIR/fig1.v title="Gaussian blob">/dev/null

FIGDIR/fig2 fig2.v&: fig1-3.h
	Window <fig1-3.h f3=1 n3=1 |Ta2vplot out=FIGDIR/fig2.v title="exact derivative">/dev/null

FIGDIR/fig3.v fig3.v&: fig1-3.h
	Window <fig1-3.h f3=2 n3=1 |Ta2vplot out=FIGDIR/fig3.v title="conv. derviative">/dev/null

FIGDIR/fig1.A fig1.A&: fig1-3.h
        Window <fig1-3.h f3=1 >FIGDIR/fig1.A



testsource&: testsource.o dsrc.o
	CMFC LDOPTS testsource.o dsrc.o  -o testsource

teststiff&: teststiff.o conv1dc.o del.o derivate2.o conv1dc2.o
	CMFC LDOPTS teststiff.o derivate2.o conv1dc2.o conv1dc.o del.o -o teststiff

showder&: showder.o conv1dc.o
	CMFC LDOPTS showder.o conv1dc.o SEPLIB SYSLIB -o showder


testder3&: testder3.o derivate2.o conv1dc2.o
	CMFC LDOPTS testder3.o derivate2.o conv1dc2.o -o testder3

testder2&: testder2.o derivate2.o conv1dc2.o
	CMFC LDOPTS testder2.o derivate2.o conv1dc2.o -o testder2

testder&: testder.o derivate.o conv1dc.o del.o derivate2.o conv1dc2.o
	CMFC LDOPTS testder.o derivate.o conv1dc.o del.o derivate2.o conv1dc2.o -o testder

der&: der.o derivate2.o conv1dc2.o
	CMFC LDOPTS der.o derivate2.o conv1dc2.o -o der

testit&: testit.o
	CMFC LDOPTS testit.o  -o testit

testme&: testme.o conv1dc.o
	CMFC LDOPTS testme.o conv1dc.o  -o testme

test&:
	!pushd Data ; cake modiso;popd

testsplit&:
	!pushd Data ; cake modisosplit;popd


Geninput: Geninput.o
	FC LDOPTS Geninput.o SEPLIB SYSLIB -o BINDIR/Geninput




clean&:
	-RM_CMD *.x *.o  a.out core

veryclean&:
	-RM_CMD *.x *.o  a.out core *.fcm *.f


derfft.fcm:  SRCDIR/derfft.rcm            if exist SRCDIR/derfft.rcm
        spp < SRCDIR/derfft.rcm | RATFOR -6"&" -C | FPP -DCinclude="       include" -DSOURCE="'"FULLSRC/derfft.rcm"'" -Dsource="'"FULLSRC/derfft.rcm"'"   > derfft.fcm

#ifndef SPPOPTS
#define SPPOPTS
#endif
%.fcm:  SRCDIR/%.rcm            if exist SRCDIR/%.rcm
        SPP SPPOPTS < SRCDIR/%.rcm | RATFOR -6"&" -C | FPP -DSOURCE="'"FULLSRC/%.rcm"'" -Dsource="'"FULLSRC/%.rcm"'"   > %.fcm

%.f: SRCDIR/%.rs		if exist SRCDIR/%.rs
	SPP SPPOPTS <SRCDIR/%.rs >%.spp
	SAW %.spp | RATFOR | FPP -Dsource="'"FULLSRC/%.rs"'" MACH ICAT(SRCDIR)  FIXNULL > %.f
	-rm %.spp



/*
Test.fcm: SRCDIR/Test.rs		if exist SRCDIR/Test.rs
	spp <SRCDIR/Test.rs >Test.spp
	SAW Test.spp | RATFOR | FPP -Dsource="'"FULLSRC/Test.rs"'" MACH ICAT(SRCDIR)  FIXNULL > Test.fcm
	-rm Test.spp

Test.o: Test.fcm
	CMFC -c -g -cmdebug Test.fcm
*/

/*
test.x: test.o testa.o testdn.o
	CMFC LDOPTS -cmdebug -cmprofile test.o testa.o testdn.o CMLIB XCMLIB SEPLIB SYSLIB -o test.x

#define OBJS sub.test.o timestep.o del.o getstress.o record.o dsrc.o update2.o expdamp.o fdcoeff.o initcommon.o bcstress.o bcdisp.o fdcoeffone.o conv1done.o updateone.o ssrc.o 

Test.x: Test.o testa.o OBJS
	CMFC LDOPTS -cmdebug -cmprofile Test.o testa.o OBJS CMLIB XCMLIB SEPLIB SYSLIB -o Test.x
*/


diffcoeff:
	echo "0.0006975 -0.00957 0.0797 -1.196" > coef.ascii
        echo "1.196 -0.0797 0.00957 -0.0006975" >>coef.ascii
	atoF <coef.ascii >coef.h
	Graph <coef.h |Tube

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