Encourage explicit shell interpreter definitions in makefiles
Similar to Docker linters, stank could help systems language developers prepare a more robust build system configuration. We could warn when a makefile does not explicitly declare which shell interpreter to use. Furthermore, we could encourage one with all the set -eEuo pipefail; IFS=$'\n\t' fixings.
Note: This has the short term effect of breaking some makefiles in Windows environments, though enough make-based projects already require cygwin/WLS that we might as well assume a cygwin/WLS environment. For the most part, we are simply foregrounding this compatibility issue to catch errors earlier.
This situation is why I am personally trying to move away from make and shell-based build systems in my projects, and adopt more lib-based cross-platform build tools like mage, tinyrick, gradle, and so on: Developers should hardly ever shell out, as that tends to break builds on different platforms.