Smart Make Art (Smart Build CLI)

Smart Make Art (smart) is a next-generation command-line utility and build system engineered in Go. Inspired by GNU make, Smart is explicitly designed to solve the architectural bottlenecks of compiling massive, hierarchical codebases (e.g., LLVM, Bitcoin Core, or complex embedded Linux toolchains) through strict modularity, data-typed macros, and multi-dialect build recipes.


1🚧 Project Status: Active Beta

πŸ’‘ smart is actively evolving. While the core JIT evaluation engine and syntax parser are fully functional, public APIs and recipe dialects are subject to change. We invite early adopters, performance engineers, and open-source contributors to help shape the v1.0 release.


2⚑ Why Smart?

Building complex, multi-component systems with traditional automation tools often results in "build hell." Legacy Makefile implementations force engineers to juggle a single, easily polluted global namespace.

smart flips this paradigm by enforcing strict modular isolation. Symbols, variables, and rules are safely contained within local project scopes, relying on explicit dependency declarations via use directive.

2.1Core Architecture Highlights

  1. True Modularity: Zero global namespace collisions. Child modules independently handle their isolated targets and are explicitly used by parent build definitions.
  2. Data-Typed Macros: Unlike GNU Make's raw string expansion, Smart evaluates variables with native data types, delivering predictable, type-safe scripting.
  3. Multi-Dialect Recipes: Write build execution logic natively in shell, python, or generate assets dynamically using plain text templating dialectsβ€”all within the same build file.
  4. Deterministic Graph Resolution: A high-performance dependency graph evaluator designed to mathematically eliminate race conditions in highly concurrent builds.
  5. Source Level Debug Trace: When error occured, the error output traces the source location where raised it.

3πŸ“– Architecture & Origin Story

Interested in the 15-year engineering journey behind Smart? Read our technical essay on how we evolved from reverse-engineering Android's (AOSP) Makefile bottlenecks and prototyping in Perl6/PIR to designing a custom JIT virtual machine in Go:

πŸ‘‰ From AOSP Makefiles to a Custom JIT VM: The 15-Year Evolution of Smart Build Engine


4πŸš€ Quick Start & Installation

Install the smart binary directly via Go (requires Go 1.22+):

$ go install http://github.com/extbit/smart/cmd/smart@latest
$ smart -help

To explore full construction syntax, scope rules, and recipe dialects, read the Official Smart Construction Guide.


5πŸ› οΈ Commercial Support & Custom Engineering

While smart is 100% open-source under the BSD 3-Clause License, ExtBit LLC provides dedicated engineering services and custom plugin development for enterprise build systems.

If your organization requires specialized pipelines, we engineer proprietary modules tailored exactly to your stack:

  • Proprietary Toolchain Adapters: Custom multi-dialect execution drivers for proprietary C/C++ compilers, FPGA toolchains, and hardware SDKs.
  • Distributed Build Caching: Advanced artifact caching mechanisms to eliminate redundant compilation steps across fleet CI/CD runners.
  • Legacy Makefile Migration: Complete, guaranteed refactoring of complex GNU Make / CMake infrastructure into modular, maintainable Smart projects.

5.1Engagement Options


6πŸ’¬ Community & Feedback

Got questions, bug reports, or feature ideas for smart? Join the conversation:


← View All ExtBit Products | View Engineering Services β†’