On this page
Build systems Nx & Turborepo are nice.
Links Please - High-performance extensible build system for reproducible builds. (Web )sbt - Build tool for Scala, Java, and more. (Tutorial )Tundra - Code build system that tries to be accurate and fast for incremental builds.gg - The Stanford Builder.mmake - Small program which wraps make to provide additional functionality, such as user-friendly help output, remote includes, and eventually more. It otherwise acts as a pass-through to standard make.Build Systems a la Carte - Provides an executable framework for developing and comparing build systems, viewing them as related points in landscape rather than as isolated phenomena. (Paper )checkmake - Experimental linter/analyzer for Makefiles.CMake - Build, test and package software. (Code )Effective Modern CMake CMake Scripts - Selection of useful scripts for use in CMake projects.BLT - Streamlined CMake-based foundation for Building, Linking and Testing large-scale high performance computing (HPC) applications.zld - Faster version of Apple's linker.Automation and Make Meson - Project to create the best possible next-generation build system. (Article ) (HN ) (Docs ) (Web )mbt - Most flexible build orchestration tool for monorepo.Earthly - Run all your builds containerized. (Web ) (HN )Synchronicity - Distributed build system providing cryptographic proofs-of-reproducibility via Byzantine Fault Tolerant (BFT) consensus.Ninja - Small build system with a focus on speed. (ninja: a simple way to do builds ) (Lobsters ) (HN )The Success and Failure of Ninja (2020) (HN )Samurai - Ninja-compatible build tool written in C99 with a focus on simplicity, speed, and portability. (HN )Apple’s Linker & Deterministic Builds (2020) redo - Smaller, easier, more powerful, and more reliable than make. An implementation of djb's redo. (Docs ) (HN )my love letter to redo (2020) (Lobsters )Awesome CMake Build - Tool that generates a compilation database for clang tooling.How to list all the targets on a Makefile (2020) (HN )You don’t need reproducible builds (2020) (Lobsters ) (HN )Strategies for Binary Relocation In Functional Build Systems (2020) (Lobsters )Reproducible Telegram Builds for iOS and Android Faster Builds with Code Signing Hacks (2020) Allowing CMake functions to return(value) (2020) The quest to the perfect Makefile (2018) Build systems with Andrey Mokhov (2020) Amazon's Build System (HN )Pondering Amazon's Manyrepo Build System (2020) (Lobsters )Xmake - Cross-platform build utility based on Lua. (Docs ) (GitHub ) (Xmake and Cplusplus Package Management ) (HN )Merkle trees and build systems Introduction to Makefiles (2020) (HN )engage - Incremental build tool with automatic dependency tracking.remake - Enhanced GNU Make - tracing, error reporting, debugging, profiling and more.Goma - Distributed compiler service for open-source project such as Chromium and Android. It's some kind of replacement of distcc+ccache.musl-cross-make - Fast, simple, but advanced makefile-based approach for producing musl-targeting cross compilers.Reducing flaky builds by 18x (2020) Reproducible Builds Tup - File-based build system. It takes as input a list of file changes and a directed acyclic graph (DAG). (Web )The Problem with Gradle (2021) (HN )distcc - Distributed builds for C, C++ and Objective C.CMake Examples (Web )ninja-rs - Educational implementation of the ninja build system, based on ideas from the Build Systems a la Carte paper.Cutting Build Time in Half with Docker’s Buildx Kubernetes Driver (2021) Persistent Storage and Fast Remote Builds (2021) Robo - Simple YAML-based task runner written in Go.Buck - Fast build system that encourages the creation of small, reusable modules over a variety of platforms and languages. (Web ) (The future of Buck )Mage is My Favorite Make (2021) (Lobsters )Kres - Tool to automate generation of build instructions based on project structure.You can handle The Diamond with CMake (2021) (HN )Turborepo - Blazing fast monorepo build system. (GitHub ) (Turbo v0.4.0 ) (Tweet ) (Code ) (First look at Turborepo (Demo and Q&A with Jared Palmer) ) (Turborepo Boiler Plate ) (Article ) (Tweet ) (turborepo-remote-cache server ) (1.2 release ) (HN )OMake - Build system designed for scalability and portability. (Code )Reproducible Builds: Increasing the Integrity of Software Supply Chains (2021) Comparing the New Generation of Build Tools (2021) Blade Build System - Easy-to-use, fast and modern build system for trunk based development in large scale monorepo codebase.Escaping AutoHell: A Vision for Automated Analysis and Migration of Autotools Build Systems (2016) Using CMake and Managing Dependencies (2021) (HN )Cake - Thin wrapper around make that runs all targets inside a development Docker/Podman container. (HN )Why We Need Build Systems (2021) (Lobsters )Compilation Database Generator - Tool for generating Clang's JSON Compilation Database files for make-based build systems.hlb - Developer-first language to build and test any software efficiently.Gradle - Build tool with a focus on build automation and support for multi-language development. (Web )Using Earthly To Build Replay CMake Part 1 - The Dark Arts (2021) unplugin - Unified plugin system for Vite, Rollup, and Webpack.Build Server Protocol - Protocol for IDEs and build tools to communicate about compile, run, test, debug and more. (Web )Reflecting on the Shake Build System (2021) Python as a build tool (2021) (Lobsters )How to Find Packages With CMake: The Basics (2020) Practical Makefiles, by example (2020) Learning CMake - Simple CMake tutorial project which contains some different scenarios.Forge - General, modular build system.Ekam - Build system which automatically figures out what to build and how to build it purely based on the source code.Button - Low-level back end build system.Nx - Smart, Extensible Build Framework. (Code ) (Example ) (Console ) (Nx Conf Lite 2022 )Premake - Powerfully simple build configuration. (Web ) (Tweet )Pants - Fast, scalable, user-friendly build system for codebases of all sizes. It's currently focused on Python and Shell. (Web )Biomake - make-like utility for managing builds (or analysis workflows) involving multiple dependent files.Leeway - Heavily caching build system for Go, Yarn and Docker projects.scikit-build - Improved build system generator for CPython C/C++/Fortran/Cython extensions.Bob - Build system, a task runner as well as tooling for Git Multi-repos, all bundled into a single binary.My collection of CMake modules buildevents - Helper to generate Honeycomb traces from CI builds.Turtle - Ninja build system clone in Rust.Rattle - Forward build system with speculation and caching.Understanding Gradle – Video Series (Code )Monorepo Explained (Code ) (HN )Reproducible Builds in January 2022 (HN )GitBOM - Automatic and Verifiable Artifact Resolution. (Web Code )n2 - Ninja compatible build system.Three Pillars of Reproducible Builds (2022) (HN )Turborepo Demo (Remote Caching & Deploying to Vercel) (2022) Monorepos done right (HN )How does Google keep build times low? (2021) Tech Notes: n2: revisiting Ninja (2022) Lerna-Lite - Super light version of the original Lerna.EasyBuild - Software build and installation framework that allows you to manage (scientific) software on High Performance Computing (HPC) systems in an efficient way. (Code ) (EasyBuild Configs )Advantages of Monorepos (HN )Bash Cache Buildkite Plugin - Caching plugin that can be invoked from your build script.BuildCache - Advanced compiler accelerator that caches and reuses build results to avoid unnecessary re-compilations, and thereby speeding up the build process.Improve Build Times in Less Time (2022) wharf - Protocol for incrementally transferring software builds over the network using minimal time/bandwidth. (Lobsters )e3 - Python framework to ease the development of portable automated build systems (compilation, dependencies management, binary code packaging, and automated testing).Turbocache - Simple remote cache server for Turborepo. (Code )lbuild - Generic, modular code generator in Python 3.rock - Build system inspired by Build systems à la carte.Zap - Simple, fast, and correct build system for any programming language, that uses Deno and is built in Rust.Remembering Buildtool (2022) Dirsh - Consistent hashing of directories, respects your gitignore.blight - Framework for instrumenting build tools.Improve Build Times in Less Time by Zac Sweers (2022) (Slides )drone-cache - Drone plugin for caching current workspace files between builds to reduce your build times.Beast - Build system built for speed and power. (HN )Vercel Build Output API: Infrastructure-as-Filesystem (2022) (HN )Speeding up PostHog builds with Depot (2022) The Unreasonable Effectiveness of Makefiles (2022) (HN )Knit - Build tool inspired by Make and Plan9 mk.