# Makefile de GRISLI sur R2D2 # FT options de compilation # LK options de link # Rappel de quelques options interessantes #------------------------------------------- # faire imperativement attention a l'arithmetique # -fpe0 s'arrete sur les floating point exception (sauf underflow) # -CB Performs run-time checking on array subscript and character substring expressions # -g pour debug # -pg pour le profiling # -traceback permet de connaitre la ligne qui plante # faire man ifort pour plus d'infos # le directory dans lequel sont les compilateurs et MKL # DIRLOCAL=/usr/local variable d'environnement a definir dans .bash_profile # la version d'Aurelien, mais il faut changer le netcdf DIRLOCAL=/site NETCDFHOME=/site/netcdf HDF5_HOME=/site/hdf5 # librairies NCDF_INC = $(NETCDFHOME)/include NCDF_LIB = -L$(NETCDFHOME)/lib -lnetcdf -L/site/hdf5/lib -lhdf5 -lhdf5_hl HDF5_INC = $(HDF5_HOME)/include HDF5_LIB=-L$(HDF5_HOME)/lib -lhdf5 -lz MKL_LIB = -L/site/intel/mkl/10.0.4.023/lib/em64t -lmkl_lapack -lmkl_intel -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_intel_thread_lp64 -lmkl_core -liomp5 -lpthread export $MKL_LIB IFORT = ifort source = /etc/profile.d/compileenv.sh #aurel, a voir ARITHM = -O2 -fp-model precise -heap-arrays -vec_report0 #ARITHM = -O2 -check bounds #-fp-model precise -heap-arrays -g # aurel japon #ARITHM = -fp-model precise -warn all -CU -CA # options pour une meilleure arithmetique (normalement reproductible) #ARITHM = -03 # trop brutal ne pas utiliser FT = $(IFORT) $(ARITHM) -c -fpe0 -I$(NCDF_INC) # -traceback # -CB -g #-pg # -g # -pg -ipo LK = $(IFORT) $(ARITHM) -i_dynamic -fpe0 # -traceback # -CB -g #-pg #-g # -pg F_NETCDF = $(IFORT) $(ARITHM) -c -fpe1 -I$(NCDF_INC) # -traceback # -CB -g #-pg -ipo # -g