enablemake
Enablemake is a software project that extends GNU Make by incorporating feature flags into the build process. It enables conditional compilation and configuration without editing source files, by centralizing feature definitions in a manifest and propagating them through the build system.
Originating in the open-source community in the 2010s, Enablemake was designed to address the complexity of
Design and architecture: the core concept is a manifest file (EnableMakefile or enablemake.yaml) that declares features,
Features and usage: features are defined with defaults and optional dependencies. Activating a feature may add
Workflow and ecosystem: Enablemake provides wrappers or top-level commands to initialize projects, enable or disable features,
Limitations and reception: adding a layer of indirection can complicate debugging and increase initial setup time.
See also: feature flag, build system, GNU Make, configuration management, CMake.