#!/bin/sh -x

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

OBJ= \
m_Parameters.o \
m_Arrays.o \
m_Eigen_Real_Matrix.o \
m_Orthogonality.o \
m_Vectorial_Hough_Functions.o \
Hough_Functions.o

PROG=../bin/Hough_Functions.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_Real_Matrix.o: m_Eigen_Real_Matrix.f90
	-rm m_Eigen_Real_Matrix.o m_eigen_real_matrix.mod
	$(FTN) -c -o m_Eigen_Real_Matrix.o m_Eigen_Real_Matrix.f90

m_Orthogonality.o: m_Orthogonality.f90
	-rm m_Orthogonality.o m_orthogonality.mod
	$(FTN) -c -o m_Orthogonality.o m_Orthogonality.f90

m_Vectorial_Hough_Functions.o: m_Vectorial_Hough_Functions.f90
	-rm m_Vectorial_Hough_Functions.o m_vectorial_hough_functions.mod
	$(FTN) -c -o m_Vectorial_Hough_Functions.o m_Vectorial_Hough_Functions.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_Real_Matrix.o: m_parameters.mod
m_Orthogonality.o: m_parameters.mod m_arrays.mod
m_Vectorial_Hough_Functions.o: m_parameters.mod m_arrays.mod m_eigen_real_matrix.mod
Hough_Functions.o: m_parameters.mod m_arrays.mod m_orthogonality.mod m_vectorial_hough_functions.mod
