.PHONEY: all clean distclean

TARGETS := solver solver_modified surface_waves surface_waves_modified farfield farfield_modified reflection

FC := gfortran
FFLAGS := -march=native -O3 -ffast-math -fopenmp

CC := gcc
CFLAGS := -Wall -W -Wno-strict-overflow -std=gnu99 -march=native -O3 -ffast-math -fopenmp

LD := gcc
LDFLAGS := -march=native -O3 -ffast-math -fopenmp
LDLIBS := -llapack -lm

all: ${TARGETS}

clean:
	rm -f *.o

distclean: clean
	rm -f ${TARGETS}

farfield.o: solve_for_surface_waves.h
farfield_modified.o: solve_for_surface_waves.h
solver_modified.o: solve_for_surface_waves.h
solver.o: solve_for_surface_waves.h
reflection.o: solve_for_surface_waves.h
surface_waves.o: solve_for_surface_waves.h
surface_waves_modified.o: solve_for_surface_waves.h
solve_for_surface_waves.o: solve_for_surface_waves.h

farfield: farfield.o solve_for_surface_waves.o zbsubs.o zbsubs_machcon.o
farfield_modified: farfield_modified.o solve_for_surface_waves.o zbsubs.o zbsubs_machcon.o
solver_modified: solver_modified.o solve_for_surface_waves.o zbsubs.o zbsubs_machcon.o
solver: solver.o solve_for_surface_waves.o zbsubs.o zbsubs_machcon.o
reflection: reflection.o solve_for_surface_waves.o zbsubs.o zbsubs_machcon.o
surface_waves: surface_waves.o solve_for_surface_waves.o
surface_waves_modified: surface_waves_modified.o solve_for_surface_waves.o


