WhyTools Build Environment

One annoying part of writing and maintaining a large-scale software project with dozens of classes, source files, C++ templates and other resources is to maintain a makefile that automates the rebuilding process and cuts down turnaround times during development by only recompiling those sources that have been changed, or that depend on sources that have been changed. Many other demands on the software creation process, such as maintaining differently built versions of object files at the same time, production of debug and release versions, management of external software packages that are to be linked into a project, support for development under different operating systems or compiler environments, etc., can turn the seemingly simple task of creating and maintaining a proper makefile into a nightmare. While very simple makefiles might waste time due to unnecessary compilation, not perfectly maintained complex makefiles might be dangerous by not updating object files on a source code change and thus introducing spurious errors into a project (the infamous "make clean" problem).

Project Goals

The main goals in developing WhyTools were to create a build environment with a mostly templatized makefile, such that most intelligence and wizardry is stored in a central project-independent place, and that project-specific makefiles are as short and simple as possible without sacrificing efficiency during the development process. The WhyTools environment offers the following functionality:

Why WhyTools?

Why not WhyTools?

Project Status

The current version of the WhyTools build environment can be downloaded from the download page. The following list of missing features will be addressed in the future, as time allows:

Pages In This Section

Tutorial
A brief (and somewhat hyperbolic) tutorial on why you absolutely need the WhyTools build environment, and how to get it up and running in no time.
Documentation
Detailed documentation of the settings that might need to be adjusted to install the WhyTools build environment on a user's account, and a list of parameters that can be adjusted for individual projects.
Download
Download page for all files necessary to install and use the WhyTools build environment.