F90 = mpiifort
CC  = mpiicc

OPTLEVEL ?= O2
ifeq "$(OPTLEVEL)" "DEBUG"
OPT= -O0 -g
else
OPT= -$(OPTLEVEL)
endif


EXEC1 =interpol_MPIAUTO_$(OPTLEVEL)

OPT = -O2
CFLAGS = -c  
LINK = interpol


##############################################################################
#links interne libraries


VINTEL         = /opt/softs/libraries/ICC_2018.5.274
NETCDF         = ${VINTEL}/netcdf_par-4.7.1
NETCDF_FORTRAN = ${VINTEL}/netcdf_par-4.7.1
HDF            = ${VINTEL}/phdf5-1.10.5


INTELFLAGS=-L/opt/softs/intel/2018.04/compilers_and_libraries_2018.5.274/linux/compiler/lib/intel64 -L/opt/softs/intel/2018.04/compilers_and_libraries_2018.5.274/linux/mkl/lib/intel64 -Wl,-rpath,/opt/softs/intel/2018.04/compilers_and_libraries_2018.5.274/linux/compiler/lib/intel64 -Wl,-rpath,/opt/softs/intel/2018.04/compilers_and_libraries_2018.5.274/linux/mkl/lib/intel64 -lintlc -lifport -limf -lifcoremt -lsvml -lirng


LDFLAGS=-I${NETCDF_FORTRAN}/include -Wl,-rpath,${NETCDF_FORTRAN}/lib:${NETCDF}/lib:${HDF}/lib -L${NETCDF_FORTRAN}/lib -lnetcdff -L${NETCDF}/lib -lnetcdf -L${HDF}/lib -lhdf5_hl -lhdf5 -fopenmp -Wl,-warn-once -ldl -lrt ${INTELFLAGS}


SOURCES = interpolate_safran.f90 modd_interpol_safran.f90 modn_interpol_safran.f90

all:  $(EXEC1)

#modd_interpol_safran.o : modd_interpol_safran.f90
#	$(F90) $(CFLAGS) $(OPT) $< -o $@ $(LDFLAGS)
#interpolate_safran.o : interpolate_safran.f90
#	$(F90) $(CFLAGS) $(OPT) $< -o $@ $(LDFLAGS)

$(EXEC1): $(subst .f90,.o,$(SOURCES)) #interpolate_safran.o
	$(F90) $(OPT) $^ -o $@ $(LDFLAGS)
	ln -fs $(EXEC1) $(LINK)

clean:
	rm -f *.o *.mod *.MOD
	rm -f *~

mrproper: clean
	rm -f $(EXEC1)

%.o : %.f90
	$(F90) $(CFLAGS) $(OPT) $< -o $@ $(LDFLAGS)
	@touch $@


interpolate_safran.o : modn_interpol_safran.o
modn_interpol_safran.o : modd_interpol_safran.o
