Building

You may build plugins from scratch.

The build process doesn't differ much for GNU/Linux, FreeBSD or Windows. Build of JACK standalone versions for Windows is yet not supported.

For successful build for Linux/FreeBSD you need the following packages to be installed:

For Windows build, the following software needs to be installed:

To perform toolchain setup for Windows, you may perform the following steps:

To build the project from archive with source code, the following sequence of commands should be performed:

  make clean
  make config
  make
  make install

To build the project from GIT repository, the additional 'make fetch' command should be issued to obtain all source code dependencies:

  make clean
  make config
  make fetch
  make
  make install

For Windows, the `make install` command creates 'INSTALL' subdirectory and places the plugin content into desired subfolders.

By default, all supported formats of plugins for the target platform are built. The list of modules for build can be adjusted by specifying FEATURES variable at the configuration stage:

  make config FEATURES='lv2 vst2 ui doc'

Available options are:

By default plugins use '/usr/local' path as a target directory for installation. To override this path, the PREFIX variable can be overridden:

  make config PREFIX=/usr

To build binaries for debugging, use the following commands:

  make config DEBUG=1

To build binaries for testing (developers only), use the following commands:

  make config TEST=1

To install plugins at the desired root directory, the DESTDIR variable can be specified:

  make install DESTDIR=<installation-root>

To install only specific formats, use INSTALL_FEATURES option:

  make install INSTALL_FEATURES=lv2

To build standalone source code package, the following commands can be issued:

  make config
  make distsrc

After that, a stanalone archive with source code will be created in the `.build` directory.

When cross compiling, the AS, AR, CC, CXX, LD, etc. variables should be set in the environment according to the target/cross compile toolchain. The build host machine versions of those variables- HOST_AS, HOST_AR, HOST_CC, HOST_CXX, etc. have defaults set in the makefiles but may need to be overridden. To troubleshoot, run `make configure` with the VERBOSE option. Additional variables should be configured:

Example cross compile procedure for aarch64 target on x86_64 build host: ```

make clean
make config ARCHITECTURE="aarch64" CROSS_COMPILE="1"
make fetch
make
make install

After successful completion, the cross compiled artifacts should be located in the directory specified by PREFIX.

For more build options, issue:

make help