ROUT1  = types
ROUT2  = poly_modules
ROUT3  = polytest

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

MODS =	types.f90 \
	poly_modules.f90 

MAKE =	Makefile	

EXEC =	$(ROUT3)
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)

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

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

cleanback :
	rm -f *~
	rm -f *#

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

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







