# 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 # -I . : Include the curent directory (Mandatory) # # --ninja : Allow the utilisation of ninja. (Mandatory) # --align=32 : Align all provided arrays on a 32-byte boundary # # [COMMON] FC : gfortran -ffree-line-length-none -I . -g LAPACK_LIB : -llapack -lrefblas -ltmglib IRPF90 : irpf90 IRPF90_FLAGS : --ninja --align=32 --assert # Global options ################ # # 1 : Activate # 0 : Deactivate # [OPTION] MODE : DEBUG ; [ OPT | PROFILE | DEBUG ] : Chooses the section below CACHE : 1 ; Enable cache_compile.py OPENMP : 1 ; Append OpenMP flags # Optimization flags #################### # # -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 # Debugging flags ################# # # -fcheck=all : Checks uninitialized variables, array subscripts, etc... # -g : Extra debugging information # [DEBUG] FCFLAGS : -Ofast -fcheck=all -g -Waliasing -Wampersand -Wconversion -Wsurprising -Wintrinsics-std -Wno-tabs -Wintrinsic-shadow -Wline-truncation -Wreal-q-constant # OpenMP flags ################# # [OPENMP] FC : -fopenmp IRPF90_FLAGS : --openmp