Member-only story

Looking for a Makefile alternative

Mattia Maldini
10 min readApr 9, 2019

Today I want to showcase a tool that I wish I had discovered years ago: SCons. Knowing that it has been around for more than a decade, I’m honestly furious I never heard about it sooner than a few months ago, but since I did a lot of my work became simpler by a order of magnitude.

Although my experience consists mostly of small academic implementations and research, from time to time I got my hands on a bigger project. In those cases I inevitably had to consider how to manage and build it, often with less than ideal results.

Sometimes the road is already paved for you, as there is a very strong community standard or otherwise predefined tool to use. This is the case for:

  • Android applications in Java (with Ant or Maven)
  • Qt applications (QMake)
  • Flutter applications (managed by Flutter itself)
  • Rust programs (with built in Cargo)
  • Elm web apps (compiled by the Elm tool)
  • Espressif embedded projects (previously built with a custom Makefile environment, now transitioning to CMake)
  • Microchip embedded projects (using their horrible ad-hoc Makefile generator)

Things get more complicated when working in a less specific or more free environment: a generic C library or command line tool, an embedded project for ARM devices, some cross-language or cross-framework project requiring multiple commands to set up, or anything that includes non…

--

--

Mattia Maldini
Mattia Maldini

Written by Mattia Maldini

Computer Science Master from Alma Mater Studiorum, Bologna; interested in a wide range of topics, from functional programming to embedded systems.

Responses (3)