--- trunk/Compilers/gfortran.mk 2012/04/20 14:58:43 61 +++ trunk/Compilation/Compiler_options/gfortran_debug.mk 2014/04/01 17:27:47 94 @@ -1,26 +1,32 @@ # These are compiler dependent macros, meant to be included in the # makefile for LMDZE. -FC = gfortran - netcdf_inc_dir = /usr/include netcdf_lib_dir = -numer_rec_95_dir = /user/guez_local/lib/Numer_Rec_95_b -nr_util_dir = /user/guez_local/lib/NR_util_j -netcdf95_dir = /user/guez_local/lib/NetCDF95_gfortran +numer_rec_95_dir = /user/guez_local/lib/Numer_Rec_95_gfortran_debug +nr_util_dir = /user/guez_local/lib/NR_util_gfortran_debug +netcdf95_dir = /user/guez_local/lib/NetCDF95_gfortran_debug jumble_dir = /user/guez_local/lib/Jumble_debug # Include flags: -inc_flags = $(addprefix -I, ${netcdf_inc_dir} ${numer_rec_95_dir} ${netcdf95_dir} ${nr_util_dir} ${jumble_dir}) +FFLAGS = $(addprefix -I, ${netcdf_inc_dir} ${numer_rec_95_dir} ${netcdf95_dir} ${nr_util_dir} ${jumble_dir}) + +# Fortran language options: +FFLAGS += -ffree-form -std=f95 -# Other flags which do not affect run time performance: -lang_flags = -ffree-form -frange-check -std=f95 -pedantic-errors -Wall -Wunderflow -Wextra +# Error and warning options: +FFLAGS += -fmax-errors=1 -pedantic-errors -Wall -Wcharacter-truncation -Wunderflow -Wunreachable-code -# Flags which affect run time performance: -perf_flags = -fbacktrace -ffpe-trap=invalid,zero,overflow -fbounds-check -g3 -O0 -fstack-protector-all +# Debugging options: +FFLAGS += -ffpe-trap=invalid,zero,overflow -fbacktrace -fdump-core -g -FFLAGS = ${inc_flags} ${perf_flags} -F90FLAGS = ${inc_flags} ${lang_flags} ${perf_flags} +# Code generation options: +FFLAGS += -fcheck=bounds -fcheck=do -fcheck=mem -fcheck=pointer -fcheck=recursion -finit-real=SNAN + +# Optimization options: +FFLAGS += -O0 LDLIBS = $(addprefix -L, ${netcdf_lib_dir} ${numer_rec_95_dir} ${netcdf95_dir} ${nr_util_dir} ${jumble_dir}) -ljumble -lnetcdf95 -lnetcdff -lnetcdf -lnumer_rec_95 -lnr_util + +version_flag = --version