Learn Makefiles

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Kargo - Stop Scripting Promotions. Start Shipping with Kargo
Kargo automates promotion across dev, staging, and prod with approval gates and verification. Open source, built by the team behind Argo CD. Download now.
akuity.io
sponsored
AppSignal knows why the f*#k it crashed.
Stop vibe-debugging. Every exception, every backtrace, grouped so you see patterns, not noise.
www.appsignal.com
sponsored
  1. Task

    A fast, cross-platform build tool inspired by Make, designed for modern workflows.

    I'm the creator and one of the maintainers of an alternative to Make: Task.

    It has existed for 8+ years and still evolving. Give it a try if you're looking for something fresh, and don't exitate to ask any questions.

    * https://taskfile.dev/

  2. Kargo

    Stop Scripting Promotions. Start Shipping with Kargo. Kargo automates promotion across dev, staging, and prod with approval gates and verification. Open source, built by the team behind Argo CD. Download now.

    Kargo logo
  3. just

    🤖 Just a command runner

    This is excellent modern replacement for part where Makefiles get messy: https://github.com/casey/just

  4. Cake

    :cake: Cake (C# Make) is a cross platform build automation system.

  5. Rake

    A make-like build utility for Ruby.

  6. meson

    The Meson Build System

    Than checked Autotools and shared the head. At the very same time Meson[1] appeared and the thing with Builds is solved :)

    [1] https://mesonbuild.com

  7. tup

    Tup is a file-based build system.

    Does anyone have experience with tup?

    https://gittup.org/tup/

    It is a build system that automatically determines dependencies based on file system access, so it can work with any kind of compiler/tool.

  8. scons

    SCons - a software construction tool

  9. AppSignal

    AppSignal knows why the f*#k it crashed. Stop vibe-debugging. Every exception, every backtrace, grouped so you see patterns, not noise.

    AppSignal logo
  10. makefile-demo

    If you need compatibility with the ancient version of `make` shipped by default on OS X, not that it is missing a lot of functions and features, some subtly.

    Most other problems are either obvious typos or due to violating best-practice style, so I won't go into them.

    Note also that `load` is actually more portable than `guile`, but make sure you use the correct compiler in case you're cross-compiling the main project.

    ***

    Really you should just read Paul's Rules of Makefiles [1], then the GNU make manual [2]. Some of the other manuals related to GNU build tools are also relevant even if you aren't using the particular tool. I also have a demo project [3] if you just want something that works and isn't complicated.

    [1]: https://make.mad-scientist.net/papers/rules-of-makefiles/

    [2]: https://www.gnu.org/software/make/manual/

    [3]: https://github.com/o11c/makefile-demo

  11. ninja

    a small build system with a focus on speed

    Correct me if I'm wrong, but I think this limitation wrt Makefiles is entirely a choice by CMake, or at least a lack of volunteers. Ninja itself doesn't have any support for C++ modules (see https://github.com/ninja-build/ninja/issues/2457). In fact, Ninja has fewer features in that regard than plain make as Ninja requires all dependencies to be statically defined.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Advice for running adhoc Python scripts in Lambda

    1 project | /r/aws | 17 Sep 2021
  • Nose ID: I Taught an AI to Recognize Dogs by Their Nose-Print

    2 projects | dev.to | 17 Aug 2026
  • Vite: The Build Tool for the Web

    1 project | news.ycombinator.com | 14 Aug 2026
  • Scarab Diagnostic Suite Field Test #004: Build Artifact Truth Boundary in Vite

    1 project | dev.to | 31 May 2026
  • Contrarian View: React Server Components 2026 Are a Step Back for Interactive Apps – Use Svelte 5.0 and Vite 6.0 Instead

    1 project | dev.to | 1 May 2026

Did you know that Python is
the 1st most popular programming language
based on number of references?