Settings

Theme

Ask HN: Any Good Make Alternatives?

3 points by Datenstrom 4 years ago · 16 comments · 1 min read


I'm starting a new greenfield personal project which is a great time to try something new. Are there any new Make alternatives that I should try for building a multi-language, monorepo project that also has a number of Linux system dependencies?

For some context the languages will definitely be Python and Julia, with possibly Rust, C/C++, and CUDA. I'll likely be using poetry or conda for managing Python and there are also a good number of system dependencies that will need to be installed on a Linux box.

bediger4000 4 years ago

Why have all the previous Make alternatives failed to get traction?

I mean, ant, gradle, maven, imake, there's probably others... all have had their moment as the "It Girl" of builds, and then seemed to wither away. What's up with that?

  • icedchai 4 years ago

    Maven is widely used with Java projects. It was never a general purpose make alternative.

  • duped 4 years ago

    CMake + ninja is more popular in new projects ime due to the sheer speed improvement over make.

ChrisRackauckas 4 years ago

For Julia the reproducibility is rather straightforward. You just stick a Project.toml/Manifest.toml in there and you'll always get the same package versions. Keeping the non-Julia dependencies together will be the hard part though.

leephillips 4 years ago

Why do you seek an alternative to Make? It does the job, brilliantly. I’m not a fan of the syntax, however, especially the need for tabs. Is that your main concern?

  • DatenstromOP 4 years ago

    No real concerns it would work perfectly, just this project isn't anything really important so trying something new is low risk. I do just enjoy trying new tools people develop in general too even if they aren't battle tested enough to use in production, I'm also that way about at least test driving new languages.

    There have been quite a few newer versions of CLI tools recently a few of which have some good quality of life and/or performance improvements so was just wondering if there were any new takes on Make or build systems.

    But yeah, I am also not a fan of the syntax and tabs although vim makes using tabs pretty transparent for me.

    • leephillips 4 years ago

      I agree about not sticking stubbornly to the classics if better versions are available. I’ve switched from grep to ripgrep, and recently switched from bash to zsh (it’s so much better). I’d be interested in a Make replacement with a better syntax, but it would actually have to be better, or at least as good.

bradwood 4 years ago

https://github.com/casey/just

pid-1 4 years ago

I've been using VSCode + .devcontainer with great success.

I've also tried Nix recently, but couldn't grok it.

  • DatenstromOP 4 years ago

    .devcontainer looks interesting that is a new take, I'm pretty stuck on my heavily modified vim though.

    I played around with Nix a lot a few years ago but dropped it when I started needing to do non-trivial things often for packages that weren't available. It was just too much but I love their philosophy. Wish they wouldn't have used a DSL.

muxneo 4 years ago

I guess ninja could be a good alternative

  • rektide 4 years ago

    ninja++. Meson is the other one that also seems ragingly popular & well loved.

    • muxneo 4 years ago

      Yes. I see meson being used quite a lot. For people who do not like Makefile's steep learning curve cmake could help

yuppie_scum 4 years ago

Dockerfile

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection