vinniefalco / Amalgamate

A tool for creating an amalgamation from C and C++ sources
Other
427 stars 75 forks source link

Amalgamate

A cross platform command line tool for producing an amalgamation of C or C++ sources.

What is an amalgamation?

An amalgamation is an alternate way to distribute a library's source code using only a few files (as low as one or two). This tool produces an amalgamation by inlining included files to create one or more large source or header files.

How is this useful?

For libraries which are mature (i.e. do not change often) the amalgamated distribution format is often both easier to integrate, and update. The amalgmation is added as an additional source file to an existing project rather than needing to be built separately by build tools. Here are some examples of source code libraries that have been amalgamated:

License

Copyright (C) 2012 Vinnie Falco
Amalgamate is provided under the terms of the MIT license.
Amalgamate uses portions of JUCE, licensed separately.