BSMake 1.0.0
dotnet tool install --global BSMake --version 1.0.0
dotnet new tool-manifest
dotnet tool install --local BSMake --version 1.0.0
#tool dotnet:?package=BSMake&version=1.0.0
nuke :add-package BSMake --version 1.0.0
BurnSystems.Make (bsmake) Build Tool
Overview
BurnSystems Make (CLI name: bsmake) is a build tool designed to integrate project configuration and artifact generation into existing .NET solutions. It extends the capabilities of MSBuild by allowing developers to execute complex, non-standard build steps—such as running code generators, pre-compilation tasks, or specific build agents—directly within the standard build lifecycle.
Our primary goal is to enable developer teams to manage larger, multi-component projects where manual tools or dynamic processes are required before standard compilation can occur.
Key Features & Use Cases
- Integrated Build Lifecycle:
bsmakeseamlessly integrates with MSBuild by running custom logic before building the solution or project. - Incremental Builds: The tool minimizes unnecessary work by checking the modification times of source files and generated artifacts, only executing expensive steps (like building an internal agent) when necessary.
- Cross-Platform Support: Designed to operate effectively in both Windows and Linux environments.
Further information is available in Design Specification.
Getting Started
Installation (As a .NET Tool)
The most straightforward way to use BurnSystems Make is by installing it as a global .NET CLI tool:
dotnet tool install -g BSMake
Usage Commands
The core functionality revolves around simple, standardized verbs:
- Build: Performs the complete build cycle for the current scope (solution or project).
bsmake build
- Clean: Cleans up all generated artifacts and intermediary files from the local directory.
bsmake clean
Context-Specific Execution Details
The behavior of bsmake depends on where it is called:
Solution Context (Calling in a Directory containing .sln/.slnx)
When executing bsmake build in a solution root, the tool performs a multi-step orchestration process:
- Checks and builds any necessary "Build Agents" (e.g., external executables).
- Calls
dotnet buildon the entire solution file, allowing MSBuild to manage dependency order across all projects.
Project Context (Calling within a single project directory)
When executing bsmake build inside a specific project folder:
- Checks and builds any necessary "Build Agents" (e.g., external executables).
It is assumed that bsmake is called by MSBuild on project-level before targetting 'CoreCompile'. This can be achieved by adding the following target in .csproj or Directory.Build.targets file (more information in Design Specification).
<Target Name="RunBSMake" BeforeTargets="CoreCompile">
<Exec Command="bsmake build $(MSBuildProjectDirectory)" />
</Target>
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 124 | 7/25/2026 |