More Features and Benefits
- Built-in Tool Probe
- Automatically probes build tools and configures build rules.
- Portable Makefiles
- Run Makefiles across platforms/compilers without change.
- Consequence of high level assertions, feature-based tool
probe, built-in tool knowledge.
- Hierarchical Rule Management
- Makefile -> Project rules -> baserules
- Flexible rule distribution from multiple rule repositories.
- Fine-grained rule project and subsystem specific rule and variable
overrides.
- Minimizes redundant rule specification and enhances portability.
- Metarules; Metarule Closure
- Infer prerequisites and action by pattern.
- Target Attributes
- Ability to associate arbitrary attributes to targets and then
operate on targets accordingly.
- Attributes may associate to targets based upon target pattern.
- Persistent.
- Example: during scan, detect files containing specified token or
that are empty and tag targets with attribute for later special
processing.
- Attributes can drive pattern-directed rules on equal footing with
file names/file suffixes.
- Optimized Shell Interface
- Uses single persistent shell -- eliminates fork/exec overhead
and allows more natural action block syntax and semantics.
- Generalizes naturally to distributed network shell execution
leading to distributed builds.
- Source in Multiple Directories
- Uses .SOURCE.suffix special atoms to define what directories
to search for files ending with .suffix and .SOURCE for all
files (with transparent viewpathing.)
- State Variables
- Can have explicit and implicit dependencies on state variables.
- Can represent #define values such that changing a value will
only recompile code using that #define.
- Can represent compiler name and/or compiler flags so changing
compilers or flags can trigger recompilation.
- Dependency Based Java Support
- Automatic dependency generation.
- Incremental dependency update.
- Dependency cycles and implicit targets.
- Batched compilations for improved performance.
- Concurrent and distributed build.
- Incremental global build.
- Incremental safe inside package local build.
- Simplified user interface.
- Full viewpathing support.
- Jar file creation.
- Support for C++
- Handles compiler-specific header processing and template
generation procedures.
- Rule Based Concurrency Control
- The .SEMAPHORE special atom provides rule based concurrency
control.
- Makefiles up to 10x Shorter
-
- Code Instrumentation Support
- Support for the following intrumentation tools: Purify, Quantify,
PureCoverage, Codewizard, Insure++, Sentinel.
Last Update: Wednesday,20-Dec-06 13:22:02 CST
|