By providing additional features, Rational's ClearMake offers several advantages over regular makes. These unique features automate some of the mundane tasks associated with building software. Most sophisticated build environments use a variety of hand-crafted scripts and tools to accomplish these tasks.
ClearMake automatically tracks build dependencies in most situations, thereby reducing the need to identify the header files that a particular source file depends upon. ClearMake does this by noting which files (name and version) are read during a particular build operation and by noting the build script (generally a compile line) used to build the resulting object file. ClearMake stores this information in a special file called a "Configuration Record."
Since the Configuration Record for your top-level target (the program that you are building) describes exactly how your program was built, you can reproduce any past build provided you have the Configuration Record for the build. Obviously, if you store the top-level Configuration Records for any binaries that you ship to your customers, you will always know exactly what was delivered to your customers, and can reproduce it if needed.
ClearMake automatically caches copies of build objects on network servers. If the object that you are about to build exactly matches an object in the network cache, ClearMake imports the object from the cache rather than rebuilding it on your workstation. The Configuration Records for the objects on the servers contain enough information to make a correct decision most of the time. This technology, called "winking," can greatly reduce build times by letting you benefit from build operations that someone else has performed. Unfortunately, winking slows down a build if that build exports a large number of objects to the network servers. For this reason, only certain users should be allowed to populate the network caches; this maximizes your winking benefits while minimizing the costs.