tcbuilder (also known as 'bb') is a Bash-based build system that generates automated Makefiles from user-defined bash variables. The current version is 1.0.4, released with an irregular cadence. It is designed for projects that already use Bash and Make, offering a lightweight alternative to full-featured build systems. Key differentiators include its simple variable-based configuration, no external dependencies beyond Bash and Make, and the ability to handle multi-group builds with per-source flags. It requires Node.js >= 20 for the npm package but the core build generator is purely bash scripts.
npm install tcbuilderVerified import paths — ran on the pinned version, not inferred.
Demonstrates creating a build variables file with shebang, defining groups and sources, generating a Makefile, and running make.
Use unique group names like 'app', 'lib', etc.
Set ..._build_dir to a non-empty path.
Adjust the first line according to your installation method.
Use group-specific '..._final_executable' to avoid ambiguity.
Run the build variables file (e.g., ./build.vars.sh > Makefile) before executing make.
Install bb as a git submodule into the ./bb/ directory or adjust the shebang to /usr/bin/bb if globally installed.
Ensure group names are unique and do not use 'all' or 'default'.