The reason it changed between 1.8 and no more in 1.14 or 2.0 was that, to avoid other problems, we included a bourne-compatible shell with make. So the fix proposed by jLn_38 is correct (include mkdir) but it’s not enough...
In fact you should adapt sligtly your makefile for it to work. There is two options there:
- Adapt your test to use the shell built-in test feature:
if [ ! -d build ]; then mkdir build; fi
- Take advantage of the fact the mkdir is now a unix-like mkdir, which support the
-poptions, that allows you to just omit the test:
mkdir -p build
Suppressing sh.exe from the plugin may fix your issue, but you will then have problems with, for example, projects generated by CubeMX; moreover, keeping the shell will allow you to use advanced makefile techniques.
In the future System Workbench for Linux may well require the shell to be able to compile correctly, so it’s probably better you correct your makefiles.
Hope this clarifies things,