ROUT1  = types
ROUT2  = rk_modules
ROUT3  = vdp_modules
ROUT4  = rk4
ROUT5  = vdp
ROUT6  = vdpmain


OBJS = $(ROUT1).o \
       $(ROUT2).o \
       $(ROUT3).o \
       $(ROUT4).o \
       $(ROUT5).o \
       $(ROUT6).o 

MODS =	types.f90 \
	rk_modules.f90 \
	vdp_modules.f90 

MAKE =	Makefile	

EXEC =	$(ROUT5)
PACK =	../$(EXEC)

% OPTS =	 -u -g
% OPTS =	 -g -check underflow
% OPTS =	 -g -u -warn argument_checking
OPTS = -g --trace --chk --warn --wo --verbose --f95
LIBS = -lm -lefence

% COMP =	 f90-abs
% COMP =	 f90
COMP =	 f95-lah

EXT  =	 f90

$(EXEC): $(OBJS) $(MODS) $(MAKE)
	$(COMP) $(OPTS) -o $(EXEC) $(OBJS) $(LIBS) 
$(ROUT1).o: $(ROUT1).$(EXT) $(MODS) $(MAKE)
	rm -f $(ROUT1).o
	$(COMP) $(OPTS) -c $(ROUT1).$(EXT)
$(ROUT2).o: $(ROUT2).$(EXT) $(MODS) $(MAKE)
	rm -f $(ROUT2).o
	$(COMP) $(OPTS) -c $(ROUT2).$(EXT)
$(ROUT3).o: $(ROUT3).$(EXT) $(MODS) $(MAKE)
	rm -f $(ROUT3).o
	$(COMP) $(OPTS) -c $(ROUT3).$(EXT)
$(ROUT4).o: $(ROUT4).$(EXT) $(MODS) $(MAKE)
	rm -f $(ROUT4).o
	$(COMP) $(OPTS) -c $(ROUT4).$(EXT)
$(ROUT5).o: $(ROUT5).$(EXT) $(MODS) $(MAKE)
	rm -f $(ROUT5).o
	$(COMP) $(OPTS) -c $(ROUT5).$(EXT)
$(ROUT6).o: $(ROUT6).$(EXT) $(MODS) $(MAKE)
	rm -f $(ROUT6).o
	$(COMP) $(OPTS) -c $(ROUT6).$(EXT)

clean :
	rm -f *.o
	rm -f *.mod

cleanall :
	rm -f *.o
	rm -f *.mod
	rm -f *.out
	rm -f $(EXEC)

cleanback :
	rm -f *~

pack :
	rm -f $(PACK).tgz
	tar -cf $(PACK).tar *.f90
	tar -uf $(PACK).tar *.in
	tar -uf $(PACK).tar *.gpl
	tar -uf $(PACK).tar Makefile
	gzip $(PACK).tar
	mv $(PACK).tar.gz $(PACK).tgz
	tar -tvzf $(PACK).tgz

run :	$(EXEC)
	./$(EXEC)

plot :
	gnuplot -persist $(EXEC).gpl






