The Crossplex package of make macros simplifies the creation of embedded systems, and is powerful enough for large organizations to use for developing elaborate product lines. It allows you to organize many different products under a logical structure, making systems of any complexity easy to specify. When you have many different target platforms, each with multiple different software configurations, Crossplex keeps those configurations from stepping on each other, without requiring redundancy in your source tree. Crossplex allows you to use a single dependency tree encompassing both in-house software and third-party packages, and it is particularly suited to build automation. Crossplex makes it easy to shield your build from the host environment, setting all shell variables explicitly, and giving you complete control over the path that is used at any point in the build. This is nice when you want to support building on a variety of development platforms. Crossplex scales to your needs. You can dabble in the unpacking and patching features as you need them, or you can base your entire system from the ground up on the Crossplex framework. Crossplex supports creation and use of glibc and uClibc toolchains.
Grand Unified Builder (GUB) is a mini source-based distribution and packaging system. It cross-compiles several packages with their dependencies and assembles them into a single installation package. It currently supports GNU/Linux, FreeBSD, Mac OS X, and Microsoft Windows installation packages. All packages are fully relocatable and can be installed with user privileges. Plain Python classes are used to describe package build specifics. For reasonably well behaved packages, individual build specifications can stay very simple by extending the generic build specification classes. It was originally developed for turnkey building of all LilyPond binary installers.