For detailed information on using, building, and modifying Weld, please visit:
http://www.agottem.com/weld

Weld is a build system for GNU make.  It is an implementation of a non-recursive make system.  Weld
is intended for C and C++ projects, however, could be easily extended to other languages.  Weld is
designed to work on Linux or FreeBSD using GCC and Windows using MinGW.

To start using Weld, first create a directory to host all the source for your project.  A typical
project is expected to be composed of many libraries and binaries with a single top level makefile.
An example layout may be something like:

    my_project/
        makefile

        libs/
            gui/
                graph/
                    def.mk
                    source/...
                    include/...
                button/
                    def.mk
                    source/...
                    include/...
            data/
                compute/
                    compute.mk
                    source/...
                    include/...
        bins/
            my_app/
                def.mk
                source/...

The above example lays out a project with a handful of libs and a binary.  To build, simply type
make at the top-level.  Weld will do a simple find for any files name "def.mk".  Each "def.mk" is
then included and a complete dependency tree is constructed.  This means make knows how every build
artifact is related and what order things need to be built in.  If make's "-j" option is used you'll
perform a build with optimal parallelization.

Additionally, because the full dependency tree is known, incremental builds will only ever build
precisely what is needed.  If dependencies haven't changed, no time will be wasted needlessly
rebuilding components.

In addition to Weld generating a complete dependency tree for you, it'll also define useful targets.
For instance, "make libcompute.a" will build just the compute library and any dependencies.  "make
my_app" will build just my_app and any dependencies.  "make clean" will clean the project.

For details on specifying def.mk files, see the "c.def.mk.template" or "resource.def.mk.template"
files.  For insight into the weld command line, see the "command_line.txt" file.
