#!/bin/sh -x

include ../../Config/FTN_Compiler
FTN=$(FTC) $(FOPT)

OBJ= \
m_Parameters.o \
m_Arrays.o \
m_Eigen_TriDiagonal_Symmetric.o \
m_Get_Vertical_Modes.o \
Vertical_Modes.o

PROG=../bin/Vertical_Modes.bin

all:	 $(PROG)

m_Parameters.o: m_Parameters.f90
	-rm m_Parameters.o m_parameters.mod
	$(FTN) -c -o m_Parameters.o m_Parameters.f90

m_Arrays.o: m_Arrays.f90
	-rm m_Arrays.o m_arrays.mod
	$(FTN) -c -o m_Arrays.o m_Arrays.f90

m_Eigen_TriDiagonal_Symmetric.o: m_Eigen_TriDiagonal_Symmetric.f90
	-rm m_Eigen_TriDiagonal_Symmetric.o m_eigen_tridiagonal_symmetric.mod
	$(FTN) -c -o m_Eigen_TriDiagonal_Symmetric.o m_Eigen_TriDiagonal_Symmetric.f90

m_Get_Vertical_Modes.o: m_Get_Vertical_Modes.f90
	-rm m_Get_Vertical_Modes.o m_get_vertical_modes.mod
	$(FTN) -c -o m_Get_Vertical_Modes.o m_Get_Vertical_Modes.f90

$(PROG): $(OBJ)
	-rm $(PROG)
	$(FTN) -o $(PROG) $(OBJ)

.SUFFIXES : .f90 .o
.f90.o:
	$(FTN) -c -o $*.o $<

clean:
	-rm *.o
	-rm *.mod
	-rm $(PROG)
#
m_Arrays.o: m_parameters.mod
m_Eigen_TriDiagonal_Symmetric.o: m_parameters.mod
m_Get_Vertical_Modes.o: m_parameters.mod m_arrays.mod m_eigen_tridiagonal_symmetric.mod
Vertical_Modes.o: m_parameters.mod m_arrays.mod m_get_vertical_modes.mod
