All Projects → rindeal → Amalgamate

rindeal / Amalgamate

Licence: other
A tool for creating an amalgamation from C and C++ sources. Forked from https://github.com/vinniefalco/Amalgamate.

Programming Languages

C++
36643 projects - #6 most used programming language
Roff
2310 projects
Makefile
30231 projects
c
50402 projects - #5 most used programming language
Batchfile
5799 projects

Projects that are alternatives of or similar to Amalgamate

JucyFluttering
A simple iOS &Android example for how to integrate Flutter (Dart) as user interface and JUCE (C++) as backend.
Stars: ✭ 82 (+382.35%)
Mutual labels:  juce
juceSynths
Collection of JUCE synthesisers utilising the Maximilian library.
Stars: ✭ 78 (+358.82%)
Mutual labels:  juce
freesound-juce
A JUCE client for accessing the Freesound API
Stars: ✭ 17 (+0%)
Mutual labels:  juce
TD-JUCE
JUCE audio and VSTs in TouchDesigner
Stars: ✭ 29 (+70.59%)
Mutual labels:  juce
juce-cookbook
Collection of tutorials & resources for the C++ library JUCE
Stars: ✭ 58 (+241.18%)
Mutual labels:  juce
melatonin audio sparklines
Sparklines For JUCE AudioBlocks
Stars: ✭ 60 (+252.94%)
Mutual labels:  juce
PhaseVocoder
A C++ based phase vocoder example that allows pitch and timescale modifications of incoming signals. UI built with Juce.
Stars: ✭ 44 (+158.82%)
Mutual labels:  juce
DSP-Testbench
A DSP Testbench for users of the JUCE framework
Stars: ✭ 40 (+135.29%)
Mutual labels:  juce
Lemons
A library of utilities and building blocks for JUCE-based apps and plugins
Stars: ✭ 28 (+64.71%)
Mutual labels:  juce
DarkMark
Marking up images for use with Darknet.
Stars: ✭ 62 (+264.71%)
Mutual labels:  juce
KnobKraft-orm
The KnobKraft Orm - The free modern cross-platform MIDI Sysex Librarian
Stars: ✭ 100 (+488.24%)
Mutual labels:  juce
Bad-Circuit-Modelling
Correct modelling of incorrect circuits
Stars: ✭ 27 (+58.82%)
Mutual labels:  juce
ChowPhaser
Phaser effect based loosely on the Schulte Compact Phasing 'A'
Stars: ✭ 51 (+200%)
Mutual labels:  juce
simple-reverb
A simple reverb made with the JUCE DSP module
Stars: ✭ 43 (+152.94%)
Mutual labels:  juce
Juce
JUCE is an open-source cross-platform C++ application framework for desktop and mobile applications, including VST, VST3, AU, AUv3, RTAS and AAX audio plug-ins.
Stars: ✭ 3,841 (+22494.12%)
Mutual labels:  juce
juce faustllvm
JUCE Module for the libfaust JIT compiler
Stars: ✭ 32 (+88.24%)
Mutual labels:  juce
DAFx19-Gamelanizer
Accompanying material for the paper 'A Real-Time Audio Effect Plug-In Inspired by the Processes of Traditional Indonesian Gamelan Music'
Stars: ✭ 33 (+94.12%)
Mutual labels:  juce
juce-plugin-ci
Cross-platform CI for JUCE audio plugins with Github Actions
Stars: ✭ 51 (+200%)
Mutual labels:  juce
osmid
osmid is a tool to bridge MIDI and OSC. It is currently in use in Sonic Pi
Stars: ✭ 63 (+270.59%)
Mutual labels:  juce
juce-cmake
CMake find module for the JUCE library
Stars: ✭ 33 (+94.12%)
Mutual labels:  juce

Amalgamate

Build Status

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:

How to build

On linux simply running make all should be sufficient to build the program.

On windows you should use the build.bat script which requires the MSVC command line toolchain to be enabled. You can read about how to enable it here.

Usage

  NAME

   amalgamate - produce an amalgamation of C/C++ source files.

  SYNOPSIS

   amalgamate [-s]
     [-w {wildcards}]
     [-f {file|macro}]...
     [-p {file|macro}]...
     [-d {name}={file}]...
     [-i {dir}]...
     {inputFile} {outputFile}

  DESCRIPTION

   Produces an amalgamation of {inputFile} by replacing #include statements with
   the contents of the file they refer to. This replacement will only occur if
   the file was located in the same directory, or one of the additional include
   paths added with the -i option.

   Files included in angle brackets (system includes) are only inlined if the
   -s option is specified.

   If an #include line contains a macro instead of a string literal, the list
   of definitions provided through the -d option is consulted to convert the
   macro into a string.

   A file will only be inlined once, with subsequent #include lines for the same
   file silently ignored, unless the -f option is specified for the file.

  OPTIONS

    -s                Process #include lines containing angle brackets (i.e.
                      system includes). Normally these are not inlined.

    -w {wildcards}    Specify a comma separated list of file name patterns to
                      match when deciding to inline (assuming the file can be
                      located). The default setting is "*.cpp;*.c;*.h;*.mm;*.m".

    -f {file|macro}   Force reinclusion of the specified file or macro on
                      all appearances in #include lines.

    -p {file|macro}   Prevent reinclusion of the specified file or macro on
                      subsequent appearances in #include lines.

    -d {name}={file}  Use {file} for macro {name} if it appears in an #include
                      line.

    -i {dir}          Additionally look in the specified directory for files when
                      processing #include lines.

    -v                Verbose output mode

License

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].