Hacker News new | ask | show | jobs
by boris 3123 days ago
>... wrap make to make it easier to make ...

I think there is a deep truth in (unintended?) pun: those who don't understand make are bound to reinvent it, poorly.

1 comments

I feel like I "get" make, but when you have autotools in front of it you end up with stuff like [0], and Makefiles kicking off other Makefiles.

It's not the worst thing to ever grace the planet by a long shot, but I think it suffers from the same problem that bash scripts have. Everything is string-ly typed and you can only build up a thing to a certain level of complexity easily.

There's of course a lot of requirements in systems software, of course. And a lot of difficulty stems more from the C ecosystem's difficulties with packaging (where are the C equivalents to "environments" you find in Python/Ruby so you don't have to pass every lib in explicitly?)

I think there's some useful opportunities somewhere here.

[0]: https://github.com/postgres/postgres/blob/master/src/Makefil...

> Everything is string-ly typed and you can only build up a thing to a certain level of complexity easily.

Yes, make was designed for the 1970 world, where all you care about is building simple utilities on Unix. There was no today's complexity (out of tree builds, cross-compilation, etc) nor "alien" platforms like Windows where people have spaces in their paths.

What we need is to redesign make to handle today's requierements. And this is what we are trying to do with build2.