FFLAGS = -O -bytereclen

#FC  = f90
#F77 = f90

krak = ../Kraken
misc = ../misc

install: others kraken.out krakenc.out bounce.out field.out field3d.out \
	plotssp.out plotmode.out plotgrn.out plotirc.out plotxy.out \
	plottri.out plottlr.out  plottld.out plotrth.out plotgrp.out \
	fieldmo.out modasc.out modbin.out covar.out
	@echo "KRAKEN built"
	@echo "*************"
	@echo " "

clean:
	-rm -f *.o
	-rm -f *.out
	-rm -f *.log

others:
	(cd $(misc); make)

# ****** kraken ******

KRAKENOBJS = 	kraken.o  \
		zsecx.o   \
		zbrentx.o \
		kuping.o  \
		bcimp.o   \
		pekrt.o   \
		sinvitd.o \
		$(misc)/readin.o  \
		$(misc)/sdrd.o    \
		$(misc)/twersk.o  \
		$(misc)/munk.o \
		$(misc)/subtab.o  \
		$(misc)/errout.o  \
		$(misc)/sorti.o   \
		$(misc)/mergev.o   \
		$(misc)/weight.o  \
		$(misc)/splinec.o \
		$(misc)/time.o    \
		$(misc)/xerror.o


kraken.out:	$(KRAKENOBJS)
	$(FC) -o kraken.out $(KRAKENOBJS)

kraken.o:	kraken.f common.f
bcimp.o:	bcimp.f  common.f

# ****** krakenc ******

KRAKENCOBJS =	krakenc.o \
		zseccx.o   \
		sinvitz.o  \
		bcimpc.o\
		kuping.o\
		pekrt.o \
		ran.o \
		$(misc)/readin.o\
		$(misc)/sdrd.o  \
		$(misc)/twersk.o\
		$(misc)/refco.o \
		$(misc)/ircint.o\
		$(misc)/munk.o    \
		$(misc)/subtab.o\
		$(misc)/errout.o   \
		$(misc)/sorti.o    \
		$(misc)/mergev.o    \
		$(misc)/weight.o   \
		$(misc)/splinec.o  \
		$(misc)/time.o\
		$(misc)/polyz.o    \
		$(misc)/xerror.o

krakenc.out:	$(KRAKENCOBJS)	
		$(FC) -o krakenc.out $(KRAKENCOBJS)

krakenc.o:	krakenc.f comc.f

bcimpc.o:	bcimpc.f  comc.f

# ****** bounce ******

BOUNCEOBJS =	bounce.o  \
		bcimpc.o     \
		kuping.o     \
		pekrt.o      \
		$(misc)/readin.o     \
		$(misc)/twersk.o     \
		$(misc)/refco.o      \
		$(misc)/ircint.o     \
		$(misc)/munk.o       \
		$(misc)/subtab.o     \
		$(misc)/errout.o   \
		$(misc)/splinec.o  \
		$(misc)/time.o	\
		$(misc)/polyz.o       \
		$(misc)/xerror.o

bounce.out:	$(BOUNCEOBJS)
	$(FC) -o bounce.out $(BOUNCEOBJS)

bounce.o:	bounce.f comc.f


# ****** field ******

FIELDOBJS =	field.o   \
		getmod.o  \
		pekrt.o   \
		eval.o    \
		evalad.o  \
		evalcm.o  \
		$(misc)/header.o  \
		$(misc)/ranges.o  \
		$(misc)/sdrd.o    \
		$(misc)/subtab.o  \
		$(misc)/weight.o  \
		$(misc)/sorti.o   \
		$(misc)/errout.o

field.out:	$(FIELDOBJS)
	$(FC) -o field.out $(FIELDOBJS)

# ****** field3d ******

FIELD3DOBJS =	field3d.o \
		evalpdq.o  \
		eval3d.o  \
		evalgb.o  \
		getmod.o  \
		pekrt.o\
		$(misc)/header.o  \
		$(misc)/sdrd.o\
		$(misc)/subtab.o  \
		$(misc)/sorti.o\
		$(misc)/weight.o  \
		$(misc)/errout.o

field3d.out:	$(FIELD3DOBJS)
		$(FC) -o field3d.out $(FIELD3DOBJS)

# ****** fieldmo ******

FIELDMOOBJS =	fieldmo.o   \
		getmod.o  \
		pekrt.o   \
		evalmo.o    \
		$(misc)/header.o  \
		$(misc)/sdrd.o    \
		$(misc)/subtab.o  \
		$(misc)/weight.o  \
		$(misc)/sorti.o   \
		$(misc)/errout.o

fieldmo.out:	$(FIELDMOOBJS)
	$(FC) -o fieldmo.out $(FIELDMOOBJS)

modasc.out: modasc.o
	$(FC) -o modasc.out modasc.o

modbin.out: modbin.o
	$(FC) -o modbin.out modbin.o


# ****** covar ******

COVAROBJS =	covar.o \
	getmod.o pekrt.o \
	$(misc)/rdhead.o $(misc)/neigh.o \
	$(misc)/weight.o $(misc)/errout.o ran.o

covar.out: $(COVAROBJS)
	$(FC) -o covar.out $(COVAROBJS)

# ****** plotssp ******

PLOTSSPOBJS =	plotssp.o \
		$(misc)/readin.o    \
		$(misc)/munk.o      \
		$(misc)/subtab.o    \
		$(misc)/sorti.o   \
		$(misc)/errout.o  \
		$(misc)/splinec.o

plotssp.out:	$(PLOTSSPOBJS)
		$(FC) -o plotssp.out $(PLOTSSPOBJS)

# ****** plotmode ******

PLOTMODEOBJS =	plotmode.o \
	getmod.o  \
	pekrt.o   \
	$(misc)/subtab.o  \
	$(misc)/errout.o  \
	$(misc)/weight.o

plotmode.out: $(PLOTMODEOBJS)
	$(FC) -o plotmode.out $(PLOTMODEOBJS)

# ****** plotgrn ******

PLOTGRNOBJS =	plotgrn.o \
	getmod.o  \
	pekrt.o   \
	$(misc)/errout.o  \
	$(misc)/weight.o

plotgrn.out:  $(PLOTGRNOBJS)
	$(FC) -o plotgrn.out $(PLOTGRNOBJS)

# ****** plottlr ******

PLOTTLROBJS =	plottlr.o  \
	getmod.o   \
	pekrt.o    \
	eval.o     \
	evalad.o   \
	evalcm.o   \
	$(misc)/subtab.o   \
	$(misc)/errout.o  \
	$(misc)/weight.o  \
	$(misc)/smooth.o

plottlr.out: $(PLOTTLROBJS)
	$(FC) -o plottlr.out $(PLOTTLROBJS)

# ****** plottld ******

PLOTTLDOBJS =	plottld.o  \
	eval.o    \
	getmod.o  \
	pekrt.o   \
	$(misc)/subtab.o  \
	$(misc)/errout.o  \
	$(misc)/weight.o

plottld.out: $(PLOTTLDOBJS)
	$(FC) -o plottld.out $(PLOTTLDOBJS)

# ****** plotrth ******

plotrth.out: plotrth.o  \
	pekrt.o  \
	$(misc)/weight.o
	$(FC) -o plotrth.out plotrth.o  \
	pekrt.o  \
	$(misc)/weight.o

# ****** plotirc ******

PLOTIRCOBJS =	plotirc.o  \
	getmod.o  \
	pekrt.o  \
	$(misc)/errout.o  \
	$(misc)/weight.o

plotirc.out:  $(PLOTIRCOBJS)
	$(FC) -o plotirc.out $(PLOTIRCOBJS)


# ****** plotrayxy ******

plotxy.out: plotxy.o
	$(FC) -o plotxy.out plotxy.o


# ****** plottri ******

plottri.out: plottri.o  \
	$(misc)/sdrd.o       \
	$(misc)/subtab.o     \
	$(misc)/sorti.o  \
	$(misc)/errout.o
	$(FC) -o plottri.out plottri.o  \
	$(misc)/sdrd.o       \
	$(misc)/subtab.o     \
	$(misc)/sorti.o  \
	$(misc)/errout.o

# ****** plotgrp ******

plotgrp.out:	plotgrp.o \
	$(krak)/getmod.o  \
	$(krak)/pekrt.o   \
	$(misc)/subtab.o  \
	$(misc)/errout.o  \
	$(misc)/weight.o
	$(FC) -o plotgrp.out plotgrp.o \
	$(krak)/getmod.o  \
	$(krak)/pekrt.o   \
	$(misc)/subtab.o  \
	$(misc)/errout.o  \
	$(misc)/weight.o


