Nowadays there is a "non-recursive make considered harmful" paper.

Of course there is!  Let's complete the circle by linking to it,
because it links to this project (among many others).
This commit is contained in:
Avery Pennarun 2018-09-18 13:23:28 -04:00
commit cb05a7bd98

View file

@ -783,8 +783,8 @@ partial picture of what's going on; moreover, each one has to
stat() a lot of the same files over again, leading to slowness. That's stat() a lot of the same files over again, leading to slowness. That's
the thesis of the "considered harmful" paper. the thesis of the "considered harmful" paper.
Nobody has written a paper about it, but *non-recursive* It turns out that [non-recursive make should also be considered harmful](https://www.microsoft.com/en-us/research/wp-content/uploads/2016/03/hadrian.pdf).
make should also be considered harmful! The problem is Makefiles aren't The problem is Makefiles aren't
very "hygienic" or "modular"; if you're not running make recursively, then very "hygienic" or "modular"; if you're not running make recursively, then
your one copy of make has to know *everything* about *everything* in your your one copy of make has to know *everything* about *everything* in your
entire project. Every variable in make is global, so every variable defined entire project. Every variable in make is global, so every variable defined