News for hackers. Stuff that matters.
Re:Knit: Making a Better Make by kensai on Saturday April 08, 2023 @07:23AM (#35492294)
Nice project. Is it ready for prime time? Btw, are there any other alternatives to be compared with it and Make?
Re:Knit: Making a Better Make by lantry on Saturday April 08, 2023 @07:41AM (#35492363)
I've seen a few, but the only one I can remember off the top of my head is just[0].

[0]: https://github.com/casey/just

Re:Knit: Making a Better Make by masklinn on Saturday April 08, 2023 @08:18AM (#35492529)
It should be noted that just specifically does something make was not designed for but is often conscripted into: it’s not a build tool, it’s a command runner.

So when you run a command it runs the dependencies then the commands, in full, every time.

I very much prefer that usually, because either the underlying tooling handles checking if all’s right or there is no such checking to do and it would be a problem.

But if you expect just to build your C project and handle not touching stuff which doesn’t need to be, you’ll be disappointed.

Re:Knit: Making a Better Make by ekidd on Saturday April 08, 2023 @07:57AM (#35492432)
Yup! Two well-established alternatives are "rake", in the Ruby community, and "just" in the Rust community.

Rake is fully programmable in Ruby. Just is a bit less flexible, but it doesn't require learning Ruby, and it's quite pleasant to use.

https://ruby.github.io/rake/

Re:Knit: Making a Better Make by lloeki on Saturday April 08, 2023 @09:52AM (#35493101)
Also, many people using rake already are often biased by how Rails uses it, but it's much more than that, and can easily be used as a make replacement, complete with freshness checks and rules.

There was an article specifically avout that on the interwebs but I can't find it anymore. These ones cover some bits as well, although they're a tad heavier on using Ruby code.

https://martinfowler.com/articles/rake.html

http://www.throwtheswitch.org/build/rake

Re:Knit: Making a Better Make by sontek on Saturday April 08, 2023 @07:52AM (#35492405)
I use just and it is amazing.
Re:Knit: Making a Better Make by summarity on Saturday April 08, 2023 @07:45AM (#35492377)
The dependency resolution is core to https://gittup.org/tup/ which had been adopted a bit at the time it came out but since faded back into obscurity.
Re:Knit: Making a Better Make by NeutralForest on Saturday April 08, 2023 @08:31AM (#35492600)
This looks cool, how have I never seen it mentioned before
Re:Knit: Making a Better Make by usual_science on Saturday April 08, 2023 @12:18PM (#35494777)
There is build2

https://build2.org/

Re:Knit: Making a Better Make by raja_mukherji on Saturday April 08, 2023 @01:51PM (#35495831)
I've also written my own alternative to make called Rabs (https://github.com/wrapl/rabs) which uses an imperative language to specify the dependency graph as well as the build instructions. It's designed for really fast incremental builds.