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

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

    F95FLAGS = -Wall -fcheck=all -g -fbacktrace -ffpe-trap=invalid,zero,overflow
    F77FLAGS = -Wall -fcheck=all -g -fbacktrace -ffpe-trap=invalid,zero,overflow

    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)

F95 = gfortran
F95 = nagfor

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

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

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

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

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

trimesh-test.o: bacoli95.o
simple-test.o: bacoli95.o
curve-test.o: bacoli95.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)

