
.SUFFIXES:

.SUFFIXES: .o .f90 .F90

RM = /bin/rm -f

FC = gfortran
#FFLAGS = -DDEBUG_PHSOLVERS
FFLAGS =
OPTIONDEFS =



MODULE_OBJS_ATGEN = mod_precision.o mod_chemconst.o mod_phsolvers.o
MODULE_OBJS_ATGENLOG = mod_precision.o mod_chemconst.o mod_phsolvers_logging.o
MODULE_OBJS_ATCARB = mod_precision.o mod_chemconst.o mod_phsolvers.o mod_chemspeciation.o

MODULE_OBJS_CHECK = mod_precision.o mod_chemconst.o

default: $(MODULE_OBJS)

at_general2: $(MODULE_OBJS_ATGEN) driver_at_general2.o
	$(FC) $(OPTIONDEFS) $(FFLAGS) $(MODULE_OBJS_ATGEN) driver_at_general2.o -o $@

at_carbonate: $(MODULE_OBJS_ATCARB) driver_at_carbonate.o
	$(FC) $(OPTIONDEFS) $(FFLAGS) $(MODULE_OBJS_ATCARB) driver_at_carbonate.o -o $@

at_logging: $(MODULE_OBJS_ATGENLOG) driver_at_logging.o
	$(FC) $(OPTIONDEFS) $(FFLAGS) $(MODULE_OBJS_ATGENLOG) driver_at_logging.o -o $@

checkconsts: $(MODULE_OBJS_CHECK) main_check.o
	$(FC) $(OPTIONDEFS) $(FFLAGS) $(MODULE_OBJS_CHECK) main_check.o -o $@

.f90.o:;
	$(FC) $(OPTIONDEFS) -c $(FFLAGS) $*.f90 -o $*.o

.F90.o:;
	$(FC) $(OPTIONDEFS) -c $(FFLAGS) $*.F90 -o $*.o

clean:
	$(RM) *.o *.mod

cleanexes:
	$(RM) at_carbonate at_logging checkconsts at_general2

tidy: clean
	$(RM) *.res checkconsts.log

