Can someone please explain to me (who hasn't written anything that requires complex build systems) why we need build systems more complex than make? I understand that make does automation, so what do those other systems bring to the table?
If it is just being able to automatically locate libraries, I don't think that should be part of the build system, but something the user supplies through options, or through the package manager. Maybe one could have some sort of "counter-make" which knows all the settings and paths on the user side and then calls make with the corresponding options. Like typing
counter-make bin
would then call make
make bin --LDPATH ~/.local/share/bin/my-shitty-libs
or something like that.