Many thanks to editorDavid who greatly improved this and to slashdot for posting.
I knew when I submitted this that I'd get a lot of negative comments.
As someone who has spent a large part of his career working on tools to improve programming environments, I have been hounded by Enrinyes for doing such things. There are two furies: "You shouldn't use" and "Why are you wasting your time on."
A long, long time ago, before DevOps and when Systems Administrators were in great demand, I encountered the "You shouldn't use" fury when I asked about some different behavior of the Python debugger. A high-ranking chat poster told me that I shouldn't do any debugging. In all of his years of Python coding as a contractor he had never needed a debugger.
He lived in another world: he mostly wrote code and apparently didn't have to deal with anyone else's code.
The world I lived in was as a Systems Administrator in the trenches. We had lots of buggy code that we didn't write, and there was no documentation and no tests. Yet we were expected to make sure it ran okay. In this world, if you couldn't catch the applications programmer's fault, it was your own.
I don't want to get into a flame war over build systems. I use different build systems, too, depending on the context. In fact, the --tasks option in remake comes directly from rake . The most recent version added
an option to scan parent directories when a Makefile is found in the current directory. That too comes from ideas in other programming environments.
If you are starting a project, use whatever you think best, whether GNU Make or not. As the title pegs this specifically to GNU/Linux Kernel builds, rather than waste your time here with the small stuff, take this up with the GNU/Linux Kernel builders. I think, though, that there are a number of people for whatever reason who will have to build the GNU/Linux Kernel and may run into a problem. For them, since remake aims to be compatible with GNU Nake (it just has additional options which are invalid in GNU Make), it might help them understand
what's going on or help them debug a problem.