|
|
|
|
|
by jart
1865 days ago
|
|
> I never understood how anyone can be fine with dynamic build dependencies? There's 132,059 lines of Makefile code that's generated to o/$(MODE)/depend e.g. o//libc/stubs/gcov.o: \
libc/stubs/gcov.S \
libc/macros.internal.h \
libc/macros.internal.inc \
libc/macros-cpp.internal.inc \
ape/relocations.h
That much code can't be written by hand, and if you don't write that, then your build targets won't be invalidated correctly. You'll end up with a non-deterministic unreliable build, which is much worse than generating some unfancy make that causes the make process to bootstrap itself. Goal is to get those hex perfect reproducible binaries with minimal toil.Also, when you write build configs, do you depend on system-provided tools and libraries? Such as some .so file or the python interpreter? The cosmopolitan mono repo doesn't do that. It currently only requires the make, sh, zip, mv, rm, touch and gzip commands. I'd ideally like to make it more hermetic but so far that hasn't been an issue, since the above tools are so stable. |
|