{"slug": "make", "name": "Make", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "Classic build automation tool that runs rules defined in Makefiles to build software.", "recommenders": 8, "commenters": 12, "warners": 2, "score": 5.981, "rising": 0.04, "first": "2025-11-25", "latest": "2026-10-22", "why": "HN commenters like Make for its simplicity and decades-long reliability, and use it beyond C builds for dotfiles, code generation and project commands.", "why_is_quote": false, "has_verdict": true, "sentiment": {"recommend": 8, "neutral": 2, "compare": 0, "warn": 2}, "spark": [1, 0, 0, 0, 0, 3, 0, 2, 0, 0, 1, 1], "listed": true, "loved": ["Simple and durable", "Versatile uses"], "caveat": "Ergonomics", "short_quote": "once you've understood [1] and [2], it's pretty hard to justify cmake over make + manual vendoring.", "icon": true, "domain": "gnu.org", "github_repo": null, "official_url": "https://www.gnu.org/software/make/", "pricing": "open source", "aliases": ["Make", "make"], "verdict": [{"text": "HN commenters like Make for its simplicity and decades-long reliability,", "cites": [{"id": 761972401, "item_id": 47623275, "url": "https://news.ycombinator.com/item?id=47623275", "by": "theowaway213456", "date": "2026-04-02", "stance": "recommend", "quote": "I love the simplicity and power of good old Make.", "excerpt": "Five years ago, I would've loved this. I love the simplicity and power of good old Make. And I obsess over my workstation's configuration. I used to have a massive bash script I would use to reprovision my workstation after every clean upgrade of Ubuntu. But these days, I just tell codex to install things for me. I basically use it as a universal package manager. It's more reliable honestly than trying to keep up to ", "context": "", "use_case": "build tool", "switched_from": "", "story": "Show HN: Home Maker: Declare Your Dev Tools in a Makefile"}, {"id": 798637728, "item_id": 49914858, "url": "https://news.ycombinator.com/item?id=49914858", "by": "PeterWhittaker", "date": "2026-09-30", "stance": "recommend", "quote": "Still a big fan of make all these decades later.", "excerpt": "Yeah, no: We use recursive make extensively with a mix of \"just normal makefiles\" and autoconf schtuff, and it all works fine and reliably. It's like any programming: Understand your tools, understand your requirements, understand your design and implementation (code carefully), test, review the design and implementation, test, repeat as necessary. Still a big fan of make all these decades later. One day I may reach ", "context": "", "use_case": "recursive builds", "switched_from": "", "story": "Recursive `make` and `-j`"}, {"id": 777423840, "item_id": 48588990, "url": "https://news.ycombinator.com/item?id=48588990", "by": "guhcampos", "date": "2026-06-18", "stance": "recommend", "quote": "eventually settled into good old Make.", "excerpt": "I used stow for a long time, then tried Ansible, but eventually settled into good old Make. `make dotfiles` just creates a bunch of symlinks, takes 5 minutes, all good and happy. Everything is modular, declarative, simple. Never looked back.", "context": "", "use_case": "dotfile symlinks", "switched_from": "Ansible", "story": "Migrating from GNU Stow to Chezmoi"}]}, {"text": " and use it beyond C builds for dotfiles, code generation and project commands.", "cites": [{"id": 803087584, "item_id": 50192974, "url": "https://news.ycombinator.com/item?id=50192974", "by": "59nadir", "date": "2026-10-22", "stance": "recommend", "quote": "`make` is better than I used to give it credit for, though", "excerpt": "I have been porting our Odin code to C(23) lately because it's better than anything else I've found in terms of language simplicity + tooling quality. 75% of our new code right now is C and in my estimation that'll be 100% in about a month, and we'll likely be done porting ~150 kLoC into a similarly sized C code base. Even disregarding tooling I'm actually happier writing C than (even) Odin because it's really just a", "context": "ports a ~150 kLoC codebase to C", "use_case": "C build system", "switched_from": "", "story": "Rust Style Guide"}, {"id": 777423840, "item_id": 48588990, "url": "https://news.ycombinator.com/item?id=48588990", "by": "guhcampos", "date": "2026-06-18", "stance": "recommend", "quote": "eventually settled into good old Make.", "excerpt": "I used stow for a long time, then tried Ansible, but eventually settled into good old Make. `make dotfiles` just creates a bunch of symlinks, takes 5 minutes, all good and happy. Everything is modular, declarative, simple. Never looked back.", "context": "", "use_case": "dotfile symlinks", "switched_from": "Ansible", "story": "Migrating from GNU Stow to Chezmoi"}, {"id": 775360369, "item_id": 48460023, "url": "https://news.ycombinator.com/item?id=48460023", "by": "zombot", "date": "2026-06-09", "stance": "recommend", "quote": "my app projects all use a Makefile", "excerpt": "I use Dune only for my local libraries, because the install step fits perfectly. But my app projects all use a Makefile, including apps with a table-driven parser (Menhir), where the OCaml `.ml` source has to be generated first. You have to know `make` well enough to do that, but it's definitely possible.", "context": "", "use_case": "building OCaml apps", "switched_from": "", "story": "OCaml Onboarding: Introduction to the Dune build system"}, {"id": 787075856, "item_id": 49192241, "url": "https://news.ycombinator.com/item?id=49192241", "by": "evolve-maz", "date": "2026-08-05", "stance": "neutral", "quote": "I use this pattern for my makefiles.", "excerpt": "I use this pattern for my makefiles. First item is for \"help\", and it dynamically scrapes all the other commands (assuming format <command>: ## <description>). So if I do 'make help' it'll list all the commands in the makefile without much extra work from me. .PHONY: help help: ## Show this help message @grep -E '^[a-zA-Z_-]+:.?## .$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = \":.*?## \"}; {printf \"\\033[36m%-20s\\033[0m %s\\n", "context": "", "use_case": "task runner with help target", "switched_from": "", "story": "Use Task Runners for Common Coding Tasks"}]}, {"text": " The most common complaint is clunky ergonomics compared with Just or mise,", "cites": [{"id": 786592098, "item_id": 49162006, "url": "https://news.ycombinator.com/item?id=49162006", "by": "kstrauser", "date": "2026-08-03", "stance": "warn", "quote": "I vastly prefer either of them to make for the kinds of languages I mostly use.", "excerpt": "I was on the \"just use makefiles\" boat way too long, except it was Just at the time that was calling for my attention. At first glance, they look similar. Make's already there, so what's the big deal? And then I use Just for a week and become a diehard fan. Yeah, it's similar to make, except optimized for developer ergonomics instead of feature completeness. What if... the tool actually supported and encouraged you i", "context": "", "use_case": "task runner", "switched_from": "", "story": "Use Task Runners for Common Coding Tasks"}, {"id": 761989025, "item_id": 47624314, "url": "https://news.ycombinator.com/item?id=47624314", "by": "axegon_", "date": "2026-04-03", "stance": "warn", "quote": "Make on Windows sucks royally.", "excerpt": "I used to do that but there are a few catches. As much as I brush off people who use any OS other than Linux, there is a time when you will have to do something on another operating system. A lesson I learned the hard way: Make on Windows sucks royally. While I agree with the general idea and I also tend to be conservative about new technologies (even more so with all the slop-coding lately), just[1] is now a very ma", "context": "", "use_case": "task runner", "switched_from": "", "story": "Show HN: Home Maker: Declare Your Dev Tools in a Makefile"}]}, {"text": " along with a poor experience on Windows.", "cites": [{"id": 761989025, "item_id": 47624314, "url": "https://news.ycombinator.com/item?id=47624314", "by": "axegon_", "date": "2026-04-03", "stance": "warn", "quote": "Make on Windows sucks royally.", "excerpt": "I used to do that but there are a few catches. As much as I brush off people who use any OS other than Linux, there is a time when you will have to do something on another operating system. A lesson I learned the hard way: Make on Windows sucks royally. While I agree with the general idea and I also tend to be conservative about new technologies (even more so with all the slop-coding lately), just[1] is now a very ma", "context": "", "use_case": "task runner", "switched_from": "", "story": "Show HN: Home Maker: Declare Your Dev Tools in a Makefile"}]}], "praise": [{"label": "Simple and durable", "summary": "Commenters value Make as a simple, reliable tool they have stuck with for years.", "quotes": [{"id": 761972401, "item_id": 47623275, "url": "https://news.ycombinator.com/item?id=47623275", "by": "theowaway213456", "date": "2026-04-02", "stance": "recommend", "quote": "I love the simplicity and power of good old Make.", "excerpt": "Five years ago, I would've loved this. I love the simplicity and power of good old Make. And I obsess over my workstation's configuration. I used to have a massive bash script I would use to reprovision my workstation after every clean upgrade of Ubuntu. But these days, I just tell codex to install things for me. I basically use it as a universal package manager. It's more reliable honestly than trying to keep up to ", "context": "", "use_case": "build tool", "switched_from": "", "story": "Show HN: Home Maker: Declare Your Dev Tools in a Makefile"}, {"id": 798637728, "item_id": 49914858, "url": "https://news.ycombinator.com/item?id=49914858", "by": "PeterWhittaker", "date": "2026-09-30", "stance": "recommend", "quote": "Still a big fan of make all these decades later.", "excerpt": "Yeah, no: We use recursive make extensively with a mix of \"just normal makefiles\" and autoconf schtuff, and it all works fine and reliably. It's like any programming: Understand your tools, understand your requirements, understand your design and implementation (code carefully), test, review the design and implementation, test, repeat as necessary. Still a big fan of make all these decades later. One day I may reach ", "context": "", "use_case": "recursive builds", "switched_from": "", "story": "Recursive `make` and `-j`"}, {"id": 777423840, "item_id": 48588990, "url": "https://news.ycombinator.com/item?id=48588990", "by": "guhcampos", "date": "2026-06-18", "stance": "recommend", "quote": "eventually settled into good old Make.", "excerpt": "I used stow for a long time, then tried Ansible, but eventually settled into good old Make. `make dotfiles` just creates a bunch of symlinks, takes 5 minutes, all good and happy. Everything is modular, declarative, simple. Never looked back.", "context": "", "use_case": "dotfile symlinks", "switched_from": "Ansible", "story": "Migrating from GNU Stow to Chezmoi"}]}, {"label": "Versatile uses", "summary": "It handles non-build jobs like dotfile symlinks, generated sources and self-documenting help targets.", "quotes": [{"id": 777423840, "item_id": 48588990, "url": "https://news.ycombinator.com/item?id=48588990", "by": "guhcampos", "date": "2026-06-18", "stance": "recommend", "quote": "eventually settled into good old Make.", "excerpt": "I used stow for a long time, then tried Ansible, but eventually settled into good old Make. `make dotfiles` just creates a bunch of symlinks, takes 5 minutes, all good and happy. Everything is modular, declarative, simple. Never looked back.", "context": "", "use_case": "dotfile symlinks", "switched_from": "Ansible", "story": "Migrating from GNU Stow to Chezmoi"}, {"id": 775360369, "item_id": 48460023, "url": "https://news.ycombinator.com/item?id=48460023", "by": "zombot", "date": "2026-06-09", "stance": "recommend", "quote": "my app projects all use a Makefile", "excerpt": "I use Dune only for my local libraries, because the install step fits perfectly. But my app projects all use a Makefile, including apps with a table-driven parser (Menhir), where the OCaml `.ml` source has to be generated first. You have to know `make` well enough to do that, but it's definitely possible.", "context": "", "use_case": "building OCaml apps", "switched_from": "", "story": "OCaml Onboarding: Introduction to the Dune build system"}, {"id": 787075856, "item_id": 49192241, "url": "https://news.ycombinator.com/item?id=49192241", "by": "evolve-maz", "date": "2026-08-05", "stance": "neutral", "quote": "I use this pattern for my makefiles.", "excerpt": "I use this pattern for my makefiles. First item is for \"help\", and it dynamically scrapes all the other commands (assuming format <command>: ## <description>). So if I do 'make help' it'll list all the commands in the makefile without much extra work from me. .PHONY: help help: ## Show this help message @grep -E '^[a-zA-Z_-]+:.?## .$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = \":.*?## \"}; {printf \"\\033[36m%-20s\\033[0m %s\\n", "context": "", "use_case": "task runner with help target", "switched_from": "", "story": "Use Task Runners for Common Coding Tasks"}]}, {"label": "Enthusiastic fans", "summary": "Users from beginners to long-time C developers say they love Make or have come to appreciate it.", "quotes": [{"id": 762004240, "item_id": 47625265, "url": "https://news.ycombinator.com/item?id=47625265", "by": "gigatexal", "date": "2026-04-03", "stance": "recommend", "quote": "I love make.", "excerpt": "I love this for two reasons. 1) it's using make. I love make. I am a noob and only use it on its surface but I'm a huge fan. and 2) kinda related to 1) I learned a ton about make from this very project. Kudos to you!", "context": "self-described noob", "use_case": "build tool", "switched_from": "", "story": "Show HN: Home Maker: Declare Your Dev Tools in a Makefile"}, {"id": 803087584, "item_id": 50192974, "url": "https://news.ycombinator.com/item?id=50192974", "by": "59nadir", "date": "2026-10-22", "stance": "recommend", "quote": "`make` is better than I used to give it credit for, though", "excerpt": "I have been porting our Odin code to C(23) lately because it's better than anything else I've found in terms of language simplicity + tooling quality. 75% of our new code right now is C and in my estimation that'll be 100% in about a month, and we'll likely be done porting ~150 kLoC into a similarly sized C code base. Even disregarding tooling I'm actually happier writing C than (even) Odin because it's really just a", "context": "ports a ~150 kLoC codebase to C", "use_case": "C build system", "switched_from": "", "story": "Rust Style Guide"}, {"id": 798637728, "item_id": 49914858, "url": "https://news.ycombinator.com/item?id=49914858", "by": "PeterWhittaker", "date": "2026-09-30", "stance": "recommend", "quote": "Still a big fan of make all these decades later.", "excerpt": "Yeah, no: We use recursive make extensively with a mix of \"just normal makefiles\" and autoconf schtuff, and it all works fine and reliably. It's like any programming: Understand your tools, understand your requirements, understand your design and implementation (code carefully), test, review the design and implementation, test, repeat as necessary. Still a big fan of make all these decades later. One day I may reach ", "context": "", "use_case": "recursive builds", "switched_from": "", "story": "Recursive `make` and `-j`"}]}, {"label": "Over CMake", "summary": "One commenter argues Make plus manual vendoring is hard to beat compared with CMake.", "quotes": [{"id": 736755952, "item_id": 46047247, "url": "https://news.ycombinator.com/item?id=46047247", "by": "hedora", "date": "2025-11-25", "stance": "recommend", "quote": "once you've understood [1] and [2], it's pretty hard to justify cmake over make + manual vendoring.", "excerpt": "People that don't understand make are destined to recreate it poorly, and there's no better example than cmake, imho. Here's my arc through C/C++ build systems: - make (copy pasted examples) - RTFM [1] - recursive make for all sorts of non-build purposes - this is as good as hadoop up to about 16 machines - autotools - cmake - read \"recursive make considered harmful\" [2] - make + templates Anyway, once you've underst", "context": "", "use_case": "C/C++ builds", "switched_from": "CMake", "story": "APT Rust requirement raises questions"}]}, {"label": "Task runner", "summary": "Some prefer Make over newer tools like mise for repo task automation.", "quotes": [{"id": 766523537, "item_id": 47907721, "url": "https://news.ycombinator.com/item?id=47907721", "by": "slau", "date": "2026-04-25", "stance": "recommend", "quote": "I typically prefer to use Make for this kind of stuff", "excerpt": "My team at work uses Mise for nearly all repos, regardless of stack (Python backends, React frontings, data science repos). I typically prefer to use Make for this kind of stuff, but they were already using Mise when I joined. It\u2019s been a fairly pleasant experience overall. I think sometimes it tries to do too much, but it works okay-ish. The only thing I would recommend to stay away from is the encrypted secrets stu", "context": "", "use_case": "repo task running", "switched_from": "", "story": "Mise-En-Place"}]}], "caveats": [{"label": "Ergonomics", "summary": "Some switched to Just or mise because they make developers fight the tool less.", "quotes": [{"id": 786592098, "item_id": 49162006, "url": "https://news.ycombinator.com/item?id=49162006", "by": "kstrauser", "date": "2026-08-03", "stance": "warn", "quote": "I vastly prefer either of them to make for the kinds of languages I mostly use.", "excerpt": "I was on the \"just use makefiles\" boat way too long, except it was Just at the time that was calling for my attention. At first glance, they look similar. Make's already there, so what's the big deal? And then I use Just for a week and become a diehard fan. Yeah, it's similar to make, except optimized for developer ergonomics instead of feature completeness. What if... the tool actually supported and encouraged you i", "context": "", "use_case": "task runner", "switched_from": "", "story": "Use Task Runners for Common Coding Tasks"}, {"id": 761989025, "item_id": 47624314, "url": "https://news.ycombinator.com/item?id=47624314", "by": "axegon_", "date": "2026-04-03", "stance": "warn", "quote": "Make on Windows sucks royally.", "excerpt": "I used to do that but there are a few catches. As much as I brush off people who use any OS other than Linux, there is a time when you will have to do something on another operating system. A lesson I learned the hard way: Make on Windows sucks royally. While I agree with the general idea and I also tend to be conservative about new technologies (even more so with all the slop-coding lately), just[1] is now a very ma", "context": "", "use_case": "task runner", "switched_from": "", "story": "Show HN: Home Maker: Declare Your Dev Tools in a Makefile"}]}, {"label": "Windows support", "summary": "Make on Windows is described as a painful experience.", "quotes": [{"id": 761989025, "item_id": 47624314, "url": "https://news.ycombinator.com/item?id=47624314", "by": "axegon_", "date": "2026-04-03", "stance": "warn", "quote": "Make on Windows sucks royally.", "excerpt": "I used to do that but there are a few catches. As much as I brush off people who use any OS other than Linux, there is a time when you will have to do something on another operating system. A lesson I learned the hard way: Make on Windows sucks royally. While I agree with the general idea and I also tend to be conservative about new technologies (even more so with all the slop-coding lately), just[1] is now a very ma", "context": "", "use_case": "task runner", "switched_from": "", "story": "Show HN: Home Maker: Declare Your Dev Tools in a Makefile"}]}, {"label": "Learning curve", "summary": "Advanced uses require knowing Make well, and misunderstanding it leads to poor workarounds.", "quotes": [{"id": 775360369, "item_id": 48460023, "url": "https://news.ycombinator.com/item?id=48460023", "by": "zombot", "date": "2026-06-09", "stance": "recommend", "quote": "my app projects all use a Makefile", "excerpt": "I use Dune only for my local libraries, because the install step fits perfectly. But my app projects all use a Makefile, including apps with a table-driven parser (Menhir), where the OCaml `.ml` source has to be generated first. You have to know `make` well enough to do that, but it's definitely possible.", "context": "", "use_case": "building OCaml apps", "switched_from": "", "story": "OCaml Onboarding: Introduction to the Dune build system"}, {"id": 736755952, "item_id": 46047247, "url": "https://news.ycombinator.com/item?id=46047247", "by": "hedora", "date": "2025-11-25", "stance": "recommend", "quote": "once you've understood [1] and [2], it's pretty hard to justify cmake over make + manual vendoring.", "excerpt": "People that don't understand make are destined to recreate it poorly, and there's no better example than cmake, imho. Here's my arc through C/C++ build systems: - make (copy pasted examples) - RTFM [1] - recursive make for all sorts of non-build purposes - this is as good as hadoop up to about 16 machines - autotools - cmake - read \"recursive make considered harmful\" [2] - make + templates Anyway, once you've underst", "context": "", "use_case": "C/C++ builds", "switched_from": "CMake", "story": "APT Rust requirement raises questions"}, {"id": 798637728, "item_id": 49914858, "url": "https://news.ycombinator.com/item?id=49914858", "by": "PeterWhittaker", "date": "2026-09-30", "stance": "recommend", "quote": "Still a big fan of make all these decades later.", "excerpt": "Yeah, no: We use recursive make extensively with a mix of \"just normal makefiles\" and autoconf schtuff, and it all works fine and reliably. It's like any programming: Understand your tools, understand your requirements, understand your design and implementation (code carefully), test, review the design and implementation, test, repeat as necessary. Still a big fan of make all these decades later. One day I may reach ", "context": "", "use_case": "recursive builds", "switched_from": "", "story": "Recursive `make` and `-j`"}]}], "who": [{"by": "59nadir", "context": "ports a ~150 kLoC codebase to C", "url": "https://news.ycombinator.com/item?id=50192974", "date": "2026-10-22"}, {"by": "HMETechnologies", "context": "hiring at a media company", "url": "https://news.ycombinator.com/item?id=48059654", "date": "2026-05-08"}, {"by": "gigatexal", "context": "self-described noob", "url": "https://news.ycombinator.com/item?id=47625265", "date": "2026-04-03"}], "tags": ["for C/C++ projects", "as a task runner", "for dotfiles", "for OCaml apps"], "use_cases": ["task runner", "build tool", "c build system", "recursive builds", "task runner with help target", "dotfile symlinks"], "compared": [{"slug": "just", "name": "just", "co": 5, "switched_from": 0, "switched_to": 3}, {"slug": "ansible", "name": "Ansible", "co": 1, "switched_from": 1, "switched_to": 0}, {"slug": "mise", "name": "mise", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=47560959", "title": "Show HN: Home Maker: Declare Your Dev Tools in a Makefile", "mentions": 3}, {"url": "https://news.ycombinator.com/item?id=49158287", "title": "Use Task Runners for Common Coding Tasks", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=50186010", "title": "Rust Style Guide", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49912094", "title": "Recursive `make` and `-j`", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48588413", "title": "Migrating from GNU Stow to Chezmoi", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48402137", "title": "OCaml Onboarding: Introduction to the Dune build system", "mentions": 1}], "sentiment_by_month": {"2025-11": {"recommend": 1}, "2025-12": {}, "2026-01": {}, "2026-02": {}, "2026-03": {}, "2026-04": {"recommend": 3, "warn": 1}, "2026-05": {"neutral": 1}, "2026-06": {"recommend": 2}, "2026-07": {}, "2026-08": {"warn": 1, "neutral": 1}, "2026-09": {"recommend": 1}, "2026-10": {"recommend": 1}}, "quotes": [{"id": 803087584, "item_id": 50192974, "url": "https://news.ycombinator.com/item?id=50192974", "by": "59nadir", "date": "2026-10-22", "stance": "recommend", "quote": "`make` is better than I used to give it credit for, though", "excerpt": "I have been porting our Odin code to C(23) lately because it's better than anything else I've found in terms of language simplicity + tooling quality. 75% of our new code right now is C and in my estimation that'll be 100% in about a month, and we'll likely be done porting ~150 kLoC into a similarly sized C code base. Even disregarding tooling I'm actually happier writing C than (even) Odin because it's really just a", "context": "ports a ~150 kLoC codebase to C", "use_case": "C build system", "switched_from": "", "story": "Rust Style Guide"}, {"id": 798637728, "item_id": 49914858, "url": "https://news.ycombinator.com/item?id=49914858", "by": "PeterWhittaker", "date": "2026-09-30", "stance": "recommend", "quote": "Still a big fan of make all these decades later.", "excerpt": "Yeah, no: We use recursive make extensively with a mix of \"just normal makefiles\" and autoconf schtuff, and it all works fine and reliably. It's like any programming: Understand your tools, understand your requirements, understand your design and implementation (code carefully), test, review the design and implementation, test, repeat as necessary. Still a big fan of make all these decades later. One day I may reach ", "context": "", "use_case": "recursive builds", "switched_from": "", "story": "Recursive `make` and `-j`"}, {"id": 787075856, "item_id": 49192241, "url": "https://news.ycombinator.com/item?id=49192241", "by": "evolve-maz", "date": "2026-08-05", "stance": "neutral", "quote": "I use this pattern for my makefiles.", "excerpt": "I use this pattern for my makefiles. First item is for \"help\", and it dynamically scrapes all the other commands (assuming format <command>: ## <description>). So if I do 'make help' it'll list all the commands in the makefile without much extra work from me. .PHONY: help help: ## Show this help message @grep -E '^[a-zA-Z_-]+:.?## .$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = \":.*?## \"}; {printf \"\\033[36m%-20s\\033[0m %s\\n", "context": "", "use_case": "task runner with help target", "switched_from": "", "story": "Use Task Runners for Common Coding Tasks"}, {"id": 786592098, "item_id": 49162006, "url": "https://news.ycombinator.com/item?id=49162006", "by": "kstrauser", "date": "2026-08-03", "stance": "warn", "quote": "I vastly prefer either of them to make for the kinds of languages I mostly use.", "excerpt": "I was on the \"just use makefiles\" boat way too long, except it was Just at the time that was calling for my attention. At first glance, they look similar. Make's already there, so what's the big deal? And then I use Just for a week and become a diehard fan. Yeah, it's similar to make, except optimized for developer ergonomics instead of feature completeness. What if... the tool actually supported and encouraged you i", "context": "", "use_case": "task runner", "switched_from": "", "story": "Use Task Runners for Common Coding Tasks"}, {"id": 777423840, "item_id": 48588990, "url": "https://news.ycombinator.com/item?id=48588990", "by": "guhcampos", "date": "2026-06-18", "stance": "recommend", "quote": "eventually settled into good old Make.", "excerpt": "I used stow for a long time, then tried Ansible, but eventually settled into good old Make. `make dotfiles` just creates a bunch of symlinks, takes 5 minutes, all good and happy. Everything is modular, declarative, simple. Never looked back.", "context": "", "use_case": "dotfile symlinks", "switched_from": "Ansible", "story": "Migrating from GNU Stow to Chezmoi"}, {"id": 775360369, "item_id": 48460023, "url": "https://news.ycombinator.com/item?id=48460023", "by": "zombot", "date": "2026-06-09", "stance": "recommend", "quote": "my app projects all use a Makefile", "excerpt": "I use Dune only for my local libraries, because the install step fits perfectly. But my app projects all use a Makefile, including apps with a table-driven parser (Menhir), where the OCaml `.ml` source has to be generated first. You have to know `make` well enough to do that, but it's definitely possible.", "context": "", "use_case": "building OCaml apps", "switched_from": "", "story": "OCaml Onboarding: Introduction to the Dune build system"}, {"id": 768954466, "item_id": 48059654, "url": "https://news.ycombinator.com/item?id=48059654", "by": "HMETechnologies", "date": "2026-05-08", "stance": "neutral", "quote": "Build automations (Make, Zapier, n8n)", "excerpt": "HME Technologies | AI Operations Lead | REMOTE | Full-Time | $40k-$75k base + Bonus HME Technologies (https://hmetech.com/) is a small, profitable media and affiliate marketing company. We build audiences, sell sponsorships, and run a growing portfolio of content properties across YouTube and emerging platforms. We're operator-run, AI-native, and looking for our first AI Operations Lead to work directly with the co-f", "context": "hiring at a media company", "use_case": "building automations", "switched_from": "", "story": "Ask HN: Who is hiring? (May 2026)"}, {"id": 766523537, "item_id": 47907721, "url": "https://news.ycombinator.com/item?id=47907721", "by": "slau", "date": "2026-04-25", "stance": "recommend", "quote": "I typically prefer to use Make for this kind of stuff", "excerpt": "My team at work uses Mise for nearly all repos, regardless of stack (Python backends, React frontings, data science repos). I typically prefer to use Make for this kind of stuff, but they were already using Mise when I joined. It\u2019s been a fairly pleasant experience overall. I think sometimes it tries to do too much, but it works okay-ish. The only thing I would recommend to stay away from is the encrypted secrets stu", "context": "", "use_case": "repo task running", "switched_from": "", "story": "Mise-En-Place"}, {"id": 762004240, "item_id": 47625265, "url": "https://news.ycombinator.com/item?id=47625265", "by": "gigatexal", "date": "2026-04-03", "stance": "recommend", "quote": "I love make.", "excerpt": "I love this for two reasons. 1) it's using make. I love make. I am a noob and only use it on its surface but I'm a huge fan. and 2) kinda related to 1) I learned a ton about make from this very project. Kudos to you!", "context": "self-described noob", "use_case": "build tool", "switched_from": "", "story": "Show HN: Home Maker: Declare Your Dev Tools in a Makefile"}, {"id": 761989025, "item_id": 47624314, "url": "https://news.ycombinator.com/item?id=47624314", "by": "axegon_", "date": "2026-04-03", "stance": "warn", "quote": "Make on Windows sucks royally.", "excerpt": "I used to do that but there are a few catches. As much as I brush off people who use any OS other than Linux, there is a time when you will have to do something on another operating system. A lesson I learned the hard way: Make on Windows sucks royally. While I agree with the general idea and I also tend to be conservative about new technologies (even more so with all the slop-coding lately), just[1] is now a very ma", "context": "", "use_case": "task runner", "switched_from": "", "story": "Show HN: Home Maker: Declare Your Dev Tools in a Makefile"}, {"id": 761972401, "item_id": 47623275, "url": "https://news.ycombinator.com/item?id=47623275", "by": "theowaway213456", "date": "2026-04-02", "stance": "recommend", "quote": "I love the simplicity and power of good old Make.", "excerpt": "Five years ago, I would've loved this. I love the simplicity and power of good old Make. And I obsess over my workstation's configuration. I used to have a massive bash script I would use to reprovision my workstation after every clean upgrade of Ubuntu. But these days, I just tell codex to install things for me. I basically use it as a universal package manager. It's more reliable honestly than trying to keep up to ", "context": "", "use_case": "build tool", "switched_from": "", "story": "Show HN: Home Maker: Declare Your Dev Tools in a Makefile"}, {"id": 736755952, "item_id": 46047247, "url": "https://news.ycombinator.com/item?id=46047247", "by": "hedora", "date": "2025-11-25", "stance": "recommend", "quote": "once you've understood [1] and [2], it's pretty hard to justify cmake over make + manual vendoring.", "excerpt": "People that don't understand make are destined to recreate it poorly, and there's no better example than cmake, imho. Here's my arc through C/C++ build systems: - make (copy pasted examples) - RTFM [1] - recursive make for all sorts of non-build purposes - this is as good as hadoop up to about 16 machines - autotools - cmake - read \"recursive make considered harmful\" [2] - make + templates Anyway, once you've underst", "context": "", "use_case": "C/C++ builds", "switched_from": "CMake", "story": "APT Rust requirement raises questions"}]}