# GNU Make

76 Hacker News commenters recommended GNU Make and 42 criticized it, November 2025 to November 2026. It was recommended in 12 of 13 months.

**Verdict:** Ubiquitous, simple build and script runner, widely recommended for small projects and for avoiding extra dependencies; main caveat is it struggles as projects grow large.

## Why people recommend it

- Stable, ubiquitous, rarely needs changes (5 comments): "Make is ubiquitous, cross-platform, the targets are essentially snippets of shell with some additional features/syntax added on top" ([source](https://news.ycombinator.com/item?id=46795439)) "I have written once a set of GNU Makefiles, according to its manual, around 1998, and I have never had to change them since then" ([source](https://news.ycombinator.com/item?id=47328391)) "once the Makefile is written I'm not going to be constantly adding and removing packages on a frequent basis" ([source](https://news.ycombinator.com/item?id=45962642))
- Lighter than CMake, no extra dependency (4 comments): "you can use a makefile and distribution-provided dependencies, or vendored dependencies, and you don't need cmake" ([source](https://news.ycombinator.com/item?id=46047130)) "It's true for any C/C++ project which bothers to write 10 lines of GNU `make` code." ([source](https://news.ycombinator.com/item?id=45940263)) "it is portable already and does not add yet another host dependency on everybody" ([source](https://news.ycombinator.com/item?id=49920124))
- Glue for scripts and tooling (4 comments): "IMHO, Make makes a decent glue system at smaller organizations lacking a compiler/build/tooling team." ([source](https://news.ycombinator.com/item?id=46305660)) "I just finished writing a nicely recursive set of gMake for cloud a pipeline" ([source](https://news.ycombinator.com/item?id=46239849)) "treat the FPGA tools as command line tools that are invoked by running make" ([source](https://news.ycombinator.com/item?id=46361293))
- Same build and test commands everywhere (3 comments): "I recommend just putting a Makefile in the repo and have that have CI targets" ([source](https://news.ycombinator.com/item?id=46616611)) "It's wonderful to have the same build, test, release commands in all projects" ([source](https://news.ycombinator.com/item?id=47576928)) "it's sure nice to just be able to type `make` and see a pdf pop out" ([source](https://news.ycombinator.com/item?id=49348293))

## What people warn about

- Struggles as projects grow large (2 comments): "For toy projects good old Make is fine...but at some point a project gets large enough that you need something more powerful" ([source](https://news.ycombinator.com/item?id=47708040)) "it's great for smaller ones, but for the huge ones, there are much better runners available" ([source](https://news.ycombinator.com/item?id=49914812))
- Unfamiliar, unorthodox syntax (2 comments): "Make suffers from unfamiliar and somewhat unorthodox syntax, and inconsistent language design." ([source](https://news.ycombinator.com/item?id=48450025)) "Make suffers from unfamiliar and somewhat unorthodox syntax, and inconsistent language design" ([source](https://news.ycombinator.com/item?id=48451527))
- Breaks down at complex edge cases (3 comments): "make and CMake work perfect right up until they don't and the last 2% cost you 98% of the time." ([source](https://news.ycombinator.com/item?id=46249432)) "make and CMake work perfect right up until they don't and the last 2% cost you 98% of the time" ([source](https://news.ycombinator.com/item?id=46244766)) "fighting cmake/make/autoconf/configure/automake build spaghetti is not my idea of a good time" ([source](https://news.ycombinator.com/item?id=46414743))
- Timestamp-based freshness checks are outdated (2 comments): "We'd have been a lot further along if tools like make had ever adopted hashes for freshness checking rather than timestamps" ([source](https://news.ycombinator.com/item?id=45983501)) "Make is timestamp based. That is a thoroughly out-of-date approach only suitable for a single computer." ([source](https://news.ycombinator.com/item?id=47167588))

## Alternatives hackers recommend

- [Bazel](https://hackerapproved.com/p/bazel.md): 79 recommend
- [CMake](https://hackerapproved.com/p/cmake.md): 58 recommend
- [Apache Maven](https://hackerapproved.com/p/maven.md): 44 recommend
- [Ninja build system](https://hackerapproved.com/p/ninja.md): 37 recommend
- [Gradle](https://hackerapproved.com/p/gradle.md): 26 recommend

## Cite as

Hacker Approved, "GNU Make", https://hackerapproved.com/p/gnu-make/ (counts from 1,795,640 Hacker News comments, November 2025 to November 2026).
