4.2.1. Options bundles

The makefile hierarchy includes files that implement the Option groups bundles referred to in the User Guide. Specifically, these bundles are defined in:

config/compilers/{gcc,ifort,ifc,nvhpc,...}/Makefile
config/compilers/{gcc,ifort,ifc,nvhpc,...}/debug.mkf
...
config/compilers/{gcc,ifort,ifc,nvhpc,...}/optimized.mkf

The OPTS=devel bundles are chosen as a compromise between compile time and performance; they generally give close to optimal performance, so are suitable for shorter runs and for development.

To get the best performance, compile with make OPTS=optimized, which typically gives a gain of a few percent in performance, at the cost of increased compilation time.

If the code crashes, try recompiling with make OPTS=full_debug or make OPTS=debug. The first provides comprehensive debug settings, while impacting performance significantly, while the 2nd avoids the particular options that impact performance the most.

To quickly check for syntax issues, use make OPTS=quick -j.

A make clean is generally only needed in connection with changing compiler version, e.g. as result of explicitly choosing a non-default module, or if the actual compiler default version changes.