Re:Show HN: Beast – A Build System
by aidenn0 on Monday July 04, 2022 @10:57PM
(#31983837)
I suspect they are benchmarking recursive make vs recursive beast; the very first example in the readme suggests recursion
[ Parent
| on HN ]
Re:Show HN: Beast – A Build System
by dale_glass on Tuesday July 05, 2022 @05:52AM
(#31986291)
Good point. I have to say I'm wary of that, recursive make is not a good idea, and the problem can't be fixed by building a better make, because the issue is that it breaks up the dependency graph and creates build problems.
Eg, if you have src/lib, and src/bin, and the src/bin project depends on the src/lib library, then in self-contained, recursively invoked makefiles (or anything else), you won't get a correct behavior when a header in the library changes.
Other make replacements have solved this by making the dependency graph independent of the file structure. Hopefully beast does this too
Re:Show HN: Beast – A Build System
by dale_glass on Tuesday July 05, 2022 @01:34PM
(#31991206)
What do you mean? make has no particular requirements regarding the file structure. You can write a single giant Makefile covering a directory tree with thousands of source files in various directories.
I meant independent of the (make-replacement)file structure. As long as the dependency graph isn't restricted to a single build file, then most of the inherent issues with recursive make are avoided.