
# GFortran flags
F95FLAGS = -Wall -fcheck=all -g -fbacktrace -ffpe-trap=invalid,zero,overflow -O0
F77FLAGS = -Wall -fcheck=all -g -fbacktrace -ffpe-trap=invalid,zero,overflow -O0

# F95
#     F95FLAGS = -Wall
#     F77FLAGS = -Wall

# NAG flags
#     F95FLAGS = -g -gline -g90 -u -nan -C=all -C=undefined -C=dangling
#     F77FLAGS = -g -gline -g90 -u -nan -C=all -C=undefined -C=dangling

F95LINKFLAGS = $(F95FLAGS)

# Set Fortran compiler
F95 = gfortran

# F95 = f95

vpath %.f95 Src Drivers
vpath %.f Src Drivers

%.o: %.f95
	$(F95) $(F95FLAGS) -o $@ -c $<

%.o: %.f
	$(F95) $(F77FLAGS) -o $@ -c $<

executables = simple-test curve-test trimesh-test
all: $(executables)

simple-test: bacolri.o bacolri-aux.o d1mach_i1mach.o bacolri95.o driver95-simple.o burg1.o
	$(F95) $(F95LINKFLAGS) $^ -o $@

curve-test: bacolri.o bacolri-aux.o d1mach_i1mach.o bacolri95.o driver95-curve.o rcdsys.o
	$(F95) $(F95LINKFLAGS) $^ -o $@

trimesh-test: bacolri.o bacolri-aux.o d1mach_i1mach.o bacolri95.o driver95-trimesh.o burg2.o
	$(F95) $(F95LINKFLAGS) $^ -o $@

trimesh-test.o: bacolri95.o
simple-test.o: bacolri95.o
curve-test.o: bacolri95.o

.PHONY: clean
clean: 
	# remove all files generated by the compiler
	# these are compiler dependent
	rm -f *.o *.d *.g90 *.mod
	# remove all executables
	rm -f $(executables)

