ROUT1  = types
ROUT2  = poly_module
ROUT3  = real_poly_module
ROUT4  = polytest


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

MODS =	types.f90 \
	poly_module.f90 \
        real_poly_module.f90

MAKE =	Makefile	

EXEC =	$(ROUT4)

OPTS =	 -u -g -ieee=full -C=all -w=all -v
% 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

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)

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 $(EXEC).tgz
	tar -cf $(EXEC).tar *.f90
	tar -uf $(EXEC).tar Makefile
	gzip $(EXEC).tar
	mv $(EXEC).tar.gz $(EXEC).tgz
	tar -tvzf $(EXEC).tgz

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







