Member-only story
Looking for a Makefile alternative
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…