CLI: dont require mac users to install additional versions of coreutilities
The tools/unitctl should work just fine with whatever make, sed, awk that OSX ships with.
What about adding an auto target (like the rest of Unit's makefiles) for unitctl since those work fine on macOS?
Alternatively, since the unitctl Makefiles make heavy use of GNU Make 4.x features, we could detect if gmake is present in the path, use it transparently if present, and if not be minimally helpful and suggest:
brew install make gnu-sed grep coreutils
At the end of the day the main thing the Makefiles do is invoke cargo build and all that needs is a Rust compiler. Maybe there's a hacky way to define that build target above the Make version checks?
The Maven dependency for openapi-generator is another thing to look out for.
Alternatively, as discussed with @avahahn, explore replacing everything with a custom build.rs script to manage the OpenAPI dependencies.
What about adding an auto target (like the rest of Unit's makefiles) for unitctl since those work fine on macOS?
The auto/ stuff is driven via ./configure and is really just for configuring unit...
The key is to stick to POSIX