#
FC = ifort

 FFLAGS = -O3
#FFLAGS = -g $(DBGFLAGS)

DBGFLAGS = -debug full -traceback
DBGFLAGS += -check bounds -check format -check output_conversion -check pointers -check uninit
DBGFLAGS += -fpe-all=0 # this traps all floating point exceptions

.SUFFIXES: .o .F .F90 .f .f90

%.o: %.f90
	$(FC) $(FFLAGS) -c  -o $@ $<
%.o: %.f
	$(FC) $(FFLAGS) -c  -o $@ $<
#
# Sources (in order of dependency):
#
SOURCES = cglow.f90 glowbasic.f90 glow.f90 bands.f90 conduct.f90 egrid.f90 ephoto.f90 etrans.f90 exsect.f fieldm.f gchem.f90 geomag.f90 maxt.f90 mzgrid.f90 qback.f90 rcolum.f90 rout.f90 snoem.f90 snoemint.f90 solzen.f90 ssflux.f90 iri90.f nrlmsise00.f

OBJS := $(addsuffix .o, $(basename $(SOURCES)))
EXEC = glow.exe

$(EXEC): $(OBJS)
	$(FC) -o $@ $(OBJS)

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

