# Common flags ############## # # -ffree-line-length-none : Needed for IRPF90 which produces long lines # -lblas -llapack : Link with libblas and liblapack libraries provided by the system # # --align=32 : Align all provided arrays on a 32-byte boundary # [COMMON] FC : gfortran -ffree-line-length-none LAPACK_LIB : -lblas -llapack IRPF90 : irpf90 IRPF90_FLAGS : --align=32 # Global options ################ # # 1 : Activate # 0 : Deactivate # [OPTION] MODE : OPT ; [ OPT | PROFILE | DEBUG ] : Chooses the section below CACHE : 1 ; Enable cache_compile.py OPENMP : 1 ; Append OpenMP flags # Optimization flags #################### # # -march=native : Compile a binary optimized for the current architecture # -Ofast : Disregard strict standards compliance. Enables all -O3 optimizations. # It also enables optimizations that are not valid # for all standard-compliant programs. It turns on # -ffast-math and the Fortran-specific # -fno-protect-parens and -fstack-arrays. [OPT] FCFLAGS : -Ofast -march=native # Profiling flags ################# # [PROFILE] FC : -p -g FCFLAGS : -Ofast -march=native # Debugging flags ################# # # -fcheck=all : Checks uninitialized variables, array subscripts, etc... # -g : Extra debugging information # [DEBUG] FCFLAGS : -fcheck=all -g # OpenMP flags ################# # [OPENMP] FC : -fopenmp IRPF90_FLAGS : --openmp