GNU Make

52 engineers on Hacker News describe using GNU Make first-hand: 15 endorse it, 12 regret it, 3 are mixed.

54%trust
52first-hand users
35in production
endorse 15mixed 3regret 12uses, no opinion

“(`make` is better than I used to give it credit for, though).”

endorse · production · 59nadir · 2026-10-22 · source ↗ · wrong label?

“We use it at work for this. It started when we migrated to Docker more than a decade ago”

endorse · production · 10 yr · klibertp · 2026-01-28 · source ↗ · wrong label?

“every CI setup I've touched is a wrapper around "make build" or similar, with all the smarts living in Git”

endorse · production · kstrauser · 2026-01-14 · source ↗ · wrong label?

“I started openly hating `make` because I re-learned its specifics and quirks several times over the course of 10-ish years”

regret · production · 10 yr · pdimitar · 2024-12-22 · source ↗ · wrong label?

“Cargo is much easier to use than cmake, make, and other custom build scripts we were using before.”

regret · production · thesuperbigfrog · 2024-12-13 · source ↗ · wrong label?

“we'll use GNU Make on every single system... because GNU Make was and is available on anything and everything. Made life very simple back then.”

endorse · production · Tor3 · 2024-12-04 · source ↗ · wrong label?

“Using make is a huge waste of time in 2023 (and forward). Learning the intricacies of make actively blocks you from Getting Things Done.”

regret · personal · gosub100 · 2023-12-26 · source ↗ · wrong label?

“Traditional make can keep all the cores of a CPU 100% busy, so there is no way any other building system can be appreciably faster.”

endorse · personal · 20 yr · adrian_b · 2023-12-26 · source ↗ · wrong label?

“we actually used that on a few projects previously, but found it challenging to use with both our teams”

regret · production · deviantintegral · 2023-07-17 · source ↗ · wrong label?

“I went back to Make and had the whole repo building in an afternoon.”

endorse · production · miiiiiike · 2022-09-13 · source ↗ · wrong label?

“makefiles are great and IMHO underrated. But they have their limits.”

mixed · production · kortex · 2021-12-21 · source ↗ · wrong label?

“Make is one such tool that I initially used by copying other people's Makefiles, tweaking little bits and pieces to suit my needs.”

endorse · personal · akdas · 2019-12-17 · source ↗ · wrong label?

“I've been using Makefiles for Go development basically since I started with the language. It's really effective for me”

endorse · production · finaliteration · 2019-12-08 · source ↗ · wrong label?

“I've been using make to drive test scripts myself recently, although i often regret it because other people editing them often make quite a mess later.”

regret · personal · nn3 · 2018-10-28 · source ↗ · wrong label?

“So keep your Make skills up to date. I've been using it for almost 30 years!”

endorse · personal · 30 yr · intrasight · 2017-12-13 · source ↗ · wrong label?

“We started out using Makefiles (2 or so years ago) then moved everything to Glide and now we use Dep. Makefiles weren't fun to deal with so I advise against that.”

regret · production · 2 yr · smeriwether · 2017-10-16 · source ↗ · wrong label?

“it's more painful for non C/C++ build systems”

regret · production · ejholmes · 2017-08-19 · source ↗ · wrong label?

“We use a giant ball of shell script and Makefiles to cross-compile our dependencies for iOS and Android”

regret · production · s_tec · 2016-12-28 · source ↗ · wrong label?

“Been using Make for decades, I don't see the problem. It works sufficiently well to be in use in a lot of my projects”

endorse · personal · 20 yr · fit2rule · 2015-07-31 · source ↗ · wrong label?

“maintaining makefiles is a serious PITA (and I say that as someone who has used make extensively in their career)”

regret · production · mikekchar · 2015-07-01 · source ↗ · wrong label?

“I use Make. It works just fine.”

endorse · personal · williamcotton · 2014-12-17 · source ↗ · wrong label?

“having worked at a company that used make to build various parts of their web app I can tell you that this get really gross really fast”

regret · production · joshstrange · 2014-12-09 · source ↗ · wrong label?

“Make was the perfect tool for the task at the beginning, but it's getting a little unwieldy”

mixed · production · boffbowsh · 2014-12-09 · source ↗ · wrong label?

“It is working great for dev, but I could never really see how to run the containers in prod. The Makefiles didn't really seem like a prod solution”

mixed · personal · tomgruner · 2014-03-27 · source ↗ · wrong label?

“Makefiles make me feel the same way, but here I have little choice. You can structure them well but they remain essentially undebuggable bits of hell”

regret · production · kabdib · 2013-12-29 · source ↗ · wrong label?

“Been using just standard makefiles for literally 20 years.”

endorse · production · 20 yr · csmuk · 2013-12-10 · source ↗ · wrong label?

“I know a little bit of Makefiles now (I love it, and use it across all my languages now for various automation tooling)”

endorse · personal · girvo · 2013-12-08 · source ↗ · wrong label?

“After make based builds caused too much problems for us, we first moved to WAF”

regret · production · dirtyaura · 2012-07-16 · source ↗ · wrong label?

“Its easier to parallelize gmake than Visual Studio, which also explains the better Linux build time.”

endorse · production · shin_lao · 2011-12-19 · source ↗ · wrong label?

“I've been using the same one for the last 15 years... make has never let me down.”

endorse · personal · 15 yr · gaius · 2010-10-16 · source ↗ · wrong label?

“Vanilla docker/buildkit works just fine as we use it in Stagex with just makefiles and Containerfiles”

neutral · production · lrvick · 2025-12-19 · source ↗ · wrong label?

“CI is makefiles. Push to ECR/S3 by human. Deployment is makefiles.”

neutral · production · crinkly · 2025-07-23 · source ↗ · wrong label?

“No more Zapier/Make integrations—everything connects natively.”

neutral · production · johngai · 2025-06-04 · source ↗ · wrong label?

“I moved away from makefiles long ago and I don't regret it”

neutral · personal · pdimitar · 2024-10-14 · source ↗ · wrong label?

“We run ./configure so we can run make, not so we can spend time determining why running autoconf results in the functionality we're expecting to use getting stubbed out.”

neutral · production · samatman · 2024-06-13 · source ↗ · wrong label?

“We still have some holdouts that do environment setup with a make file”

neutral · production · baby_souffle · 2023-12-05 · source ↗ · wrong label?

“My editor tells me when I'm doing something stupid with Make whitespace.”

neutral · personal · ok123456 · 2023-09-28 · source ↗ · wrong label?

“another terminal to run Make in (or whatever, using Rust for work now”

neutral · personal · toast0 · 2022-12-15 · source ↗ · wrong label?

“our tasks are simply defined in a Makefile.”

neutral · production · majodev · 2021-03-25 · source ↗ · wrong label?

“Our CI/CD runs make which builds the code, generates .nomad files and runs them”

neutral · production · zie · 2020-10-23 · source ↗ · wrong label?

“The makefile references a dozen helper scripts though that are also checked into the repo”

neutral · production · sethammons · 2020-08-06 · source ↗ · wrong label?

“for the projects that I would build for both Linux and FreeBSD, I always name the Makefile for GNU Make as GNUmakefile”

neutral · personal · codetrotter · 2019-12-17 · source ↗ · wrong label?

“abbr -a m make”

neutral · personal · ludwigvan · 2018-12-30 · source ↗ · wrong label?

“We have a Go service that is deployed directly to EC2 with a Makefile from its source repo.”

neutral · production · karmakaze · 2018-12-30 · source ↗ · wrong label?

“we started with a terraform/make implementation of hightower's hardway”

neutral · production · sleepybrett · 2018-05-08 · source ↗ · wrong label?

“teach them how to ding make targets inside of their docker containers”

neutral · production · jonthepirate · 2017-12-26 · source ↗ · wrong label?

“Enter make, to make sure that all of these get rebuilt in the correct order”

neutral · production · mauvehaus · 2017-07-24 · source ↗ · wrong label?

“I use vim as an editor, and gnumake to build”

neutral · production · hermitdev · 2016-12-06 · source ↗ · wrong label?

“If I need to automate something, I use a GNU Makefile, or Python.”

neutral · personal · to3m · 2016-11-29 · source ↗ · wrong label?

“GCC ARM Embedded toolchain, OpenOCD + gdb for debugging and vim, make as 'IDE'. What a relief.”

neutral · production · ijager · 2014-04-27 · source ↗ · wrong label?

“I've been using apgdiff with a makefile for my migrations, and it works really well.”

neutral · personal · sheraz · 2012-11-23 · source ↗ · wrong label?

“A somewhat complete list of tools we use in our startup:”

neutral · production · Maro · 2010-10-13 · source ↗ · wrong label?