News for hackers. Stuff that matters.
Re:Why Not Make? by moring on Thursday November 08, 2018 @10:00AM (#18406645)
What if the objections in the article were solved directly?

> Writing a Large, Correct Makefile is Really Hard > No Sandboxing

Would it be possible to track dependencies on a file level, simply declaring everything that gets read as a dependency? In the end, it is very likely that the generated artifact is different if any of the files touched to build it changes.

So, why not track open() syscalls made by make and its sub-processes? This obviously has some requirements towards the kernel to allow such tracking. It would also report helper files used by the toolchain and maybe even the code (executables and .so files) used by the toolchain, but one may argue that they are actually dependencies -- the artifact must be regenerated if the toolchain gets updated.

> Caches are Not Portable

It should be considered first if rebuilding on each node is really that bad. Next, caches are non-portable by nature if they use different formats, or if dependencies that were used to build the artifacts are actually different on the various nodes. So this sets limits on cache sharing in principle -- but this has nothing to do with make.

> No Language Abstractions are Provided

Not going to argue against that.

> Timestamps, Not Hashes

Is there anything fundamental to make that requires the use of timestamps? Otherwise this sounds more like "nobody has bothered yet to change make to use hashes".

There are no comments on this comment yet.