Hacker News new | past | comments | ask | show | jobs | submit login

> Then you specify that the source files depend on the makefile.

Then you gratuitously rebuild everything whenever the Makefile changes, even if you only changed a comment.

Also this scheme is incorrect if the Makefile was written to allow command-line overrides of variables like CFLAGS, as many Makefiles do.

But these are just details. The larger point is this. The language of Bazel is defined such that builds are automatically correct and reproducible.

While it's true that Make has some facilities like "call" that support some amount of abstraction, it is up to you to ensure the correctness. If you get it wrong, your builds are back to being non-reproducible.

It's like the difference between programming in a memory safe vs a memory unsafe language. Sure, every thing you can do in the memory safe language can be done in the unsafe language. But the unsafe language has far more footguns and requires more diligence from the programmer to get reasonable results.




And now we are in agreement :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: