Repository navigation
cmate v1.1 – Stable Release
We are pleased to announce the first stable release of cmate, a streamlined tool for generating Makefiles from TOML-based configuration files. This version marks the end of the alpha/beta phase and brings a number of structural improvements and new features for better usability and maintainability.
🚀 Highlights in v1.1
🛠 Major Refactor
- Comprehensive internal refactoring for better maintainability and consistency.
- Improved cross-platform stability, with enhanced support for both Linux and Windows (10+ recommended).
🔧 New --build Flag
- Added support for the
--build(-b) flag to generate and build the Makefile in a single step. - Simplifies typical workflows and enables faster iteration during development.
🔄 Separated Compiler and Linker Flags
-
Cmate.tomlconfiguration now distinguishes between:flags: for compile-time options (e.g.,-Wall,-std=c99,-g)linkflags: for link-time options (e.g.,-O2,-static,-flto)
-
Ensures that optimization and linker-specific flags are applied at the correct stage.
🧩 Improved Default Configuration
- Updated
--initto generate a more descriptive and documentedCmate.toml. - Easier to understand and customize, even for new users.
🔍 Additional Notes
- No longer requires
git submodules. - ANSI escape sequences are enabled by default; Windows 10+ is required for full terminal support.
- Dependency on
tomlc99remains, but is now handled internally.
📦 Building from Source
git clone https://github.com/rock-db/cmate
cd cmate
make💡 Quick Start
-
Initialize a new project:
cmate --init
-
Edit the generated
Cmate.tomlfile to describe your project. -
Build it:
cmate --build
📥 Download
Binaries available for:
- Linux (x86_64)
- Windows (x86_64)
For more information, refer to the README or open an issue if you encounter any problems.
Thank you for using cmate!