A simple and convenient build-and-run system for C and C++
![](https://www.deeplearningdaily.com/wp-content/uploads/2021/12/a-simple-and-convenient-build-and-run-system-for-c-and-c_61b673d1b8259-375x210.jpeg)
Smake is a simple and convenient build-and-run system for C and C++ projects.
Why make another build system?
CMake and GNU Make are great build systems. However, as the project gets larger, and as there are increasingly many types of builds (e.g. a builds for debugging), it becomes tedious to add duplicate code.
Smake solves this problem with its target-mode-build hierarchy. In this system,
every project has a set of targets, and each target has a set of build modes. When
smake is run on a target with a specific build mode, it will run the build
corresponding to that mode.
Each mode also has a post-build script that can be run. For most builds, this