v2212: New and improved usability

Improved make and compilation


Multiple maintenance updates have been applied to the build system, including:

  • removal of make rules for discontinued architectures;
  • removal of fast-math and unsafe-math-optimizations for Fujitsu ARM; and
  • additional wmake -debug controls

Improved compilation support for openmp

The use of openmp can now also be globally enabled/disabled by a corresponding entry in the WM_COMPILE_CONTROL variable:

WM_COMPILE_CONTROL="+openmp" # with openmp enabled

WM_COMPILE_CONTROL="~openmp" # with openmp disabled

If both are specified, the ~openmp disabling has priority. For a single use, corresponding wmake options can be used instead:

wmake -openmp # with openmp enabled

wmake -no-openmp # with openmp disabled

which helps when compiling with or without openmp support.

Support ccache wrapping

The ccache compiler cache can be used to speedup recompilation. It can be easily selected by adding to the WM_COMPILE_CONTROL, e.g.


The same mechanism can also be harnessed to add in code instrumentation. For this case, the longer form is specified in the WM_COMPILE_CONTROL, e.g.

WM_COMPILE_CONTROL="ccache='/path/my-tooling --option'"

Additional wmake controls

The full list of controls can be obtained using:

wmake -help-full

Of particular interest is compilation with full debug checking, e.g. out-of-bounds, no optimisation

wmake -debug-O0

These options can be combined with all the usual options, e.g. to compile using 12 cores:

wmake -debug-O0 -j 12