Github messages for voidlinux
 help / color / mirror / Atom feed
From: Logarithmus <Logarithmus@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] New package: lsp-plugins-1.1.30
Date: Sun, 01 Aug 2021 17:47:25 +0200	[thread overview]
Message-ID: <20210801154725.Oc9geMcaXSTolHa0OqT4HyTO4qnHJEnDbO0awmOdFak@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-31664@inbox.vuxu.org>

[-- Attachment #1: Type: text/plain, Size: 2133 bytes --]

There is an updated pull request by Logarithmus against master on the void-packages repository

https://github.com/Logarithmus/void-packages lsp-plugins
https://github.com/void-linux/void-packages/pull/31664

New package: lsp-plugins-1.1.30
Required by `pulseeffects` compressor, equalizer, delay & loudness compensator effects.
Also used by `easyeffects`, `pulseeffects`' successor 
Continuation of https://github.com/void-linux/void-packages/pull/29932

TODO:
- [ ] wait for https://github.com/sadko4u/lsp-plugins/pull/198
- [ ] implement `VERBOSE` option into `lsp-plugins` Makefiles to save my sanity debugging them
https://github.com/sadko4u/lsp-plugins/pull/200
- [ ] fix i686
- [ ] fix arm
- [ ] split the package (ladspa, lv2, vst, jack, doc)

<!-- Mark items with [x] where applicable -->

#### General
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
<!-- 
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [ ] I built this PR locally for my native architecture, (ARCH-LIBC)
- [ ] I built this PR locally for these architectures (if supported. mark crossbuilds):
  - [ ] aarch64-musl
  - [ ] armv7l
  - [ ] armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/31664.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-lsp-plugins-31664.patch --]
[-- Type: text/x-diff, Size: 92242 bytes --]

From b31bc44e2e8a5f0de017b1155f5073e2b926481a Mon Sep 17 00:00:00 2001
From: Artur Sinila <freesoftware@logarithmus.dev>
Date: Mon, 5 Jul 2021 03:44:08 +0300
Subject: [PATCH 1/2] common/build-style/: enable running tests in parallel

---
 common/build-style/cmake.sh           | 6 +++++-
 common/build-style/configure.sh       | 6 +++++-
 common/build-style/gnu-configure.sh   | 6 +++++-
 common/build-style/gnu-makefile.sh    | 6 +++++-
 common/build-style/perl-module.sh     | 6 +++++-
 common/environment/setup/sourcepkg.sh | 3 ++-
 6 files changed, 27 insertions(+), 6 deletions(-)

diff --git a/common/build-style/cmake.sh b/common/build-style/cmake.sh
index 401dabad31c8..c7ffd16fee21 100644
--- a/common/build-style/cmake.sh
+++ b/common/build-style/cmake.sh
@@ -113,7 +113,11 @@ do_check() {
 
 	: ${make_check_target:=test}
 
-	${make_cmd} ${make_check_args} ${make_check_target}
+	if [ -z "$disable_parallel_check" ]; then
+		${make_cmd} ${makejobs} ${make_check_args} ${make_check_target}
+	else
+		${make_cmd} ${make_check_args} ${make_check_target}
+	fi
 }
 
 do_install() {
diff --git a/common/build-style/configure.sh b/common/build-style/configure.sh
index 0963fc347934..b846a1a77572 100644
--- a/common/build-style/configure.sh
+++ b/common/build-style/configure.sh
@@ -29,7 +29,11 @@ do_check() {
 	: ${make_cmd:=make}
 	: ${make_check_target:=check}
 
-	${make_cmd} ${make_check_args} ${make_check_target}
+	if [ -z "$disable_parallel_check" ]; then
+		${make_cmd} ${makejobs} ${make_check_args} ${make_check_target}
+	else
+		${make_cmd} ${make_check_args} ${make_check_target}
+	fi
 }
 
 do_install() {
diff --git a/common/build-style/gnu-configure.sh b/common/build-style/gnu-configure.sh
index 8121136cd121..b09de442b05b 100644
--- a/common/build-style/gnu-configure.sh
+++ b/common/build-style/gnu-configure.sh
@@ -30,7 +30,11 @@ do_check() {
 	: ${make_cmd:=make}
 	: ${make_check_target:=check}
 
-	${make_cmd} ${make_check_args} ${make_check_target}
+	if [ -z "$disable_parallel_check" ]; then
+		${make_cmd} ${makejobs} ${make_check_args} ${make_check_target}
+	else
+		${make_cmd} ${make_check_args} ${make_check_target}
+	fi
 }
 
 do_install() {
diff --git a/common/build-style/gnu-makefile.sh b/common/build-style/gnu-makefile.sh
index d7ea148fc483..0f7afa7d3695 100644
--- a/common/build-style/gnu-makefile.sh
+++ b/common/build-style/gnu-makefile.sh
@@ -30,7 +30,11 @@ do_check() {
 	: ${make_cmd:=make}
 	: ${make_check_target:=check}
 
-	${make_cmd} ${make_check_args} ${make_check_target}
+	if [ -z "$disable_parallel_check" ]; then
+		${make_cmd} ${makejobs} ${make_check_args} ${make_check_target}
+	else
+		${make_cmd} ${make_check_args} ${make_check_target}
+	fi
 }
 
 do_install() {
diff --git a/common/build-style/perl-module.sh b/common/build-style/perl-module.sh
index b9a01b13cfa9..d47945b33d36 100644
--- a/common/build-style/perl-module.sh
+++ b/common/build-style/perl-module.sh
@@ -79,7 +79,11 @@ do_check() {
 	: ${make_cmd:=make}
 	: ${make_check_target:=test}
 
-	${make_cmd} ${make_check_args} ${make_check_target}
+	if [ -z "$disable_parallel_check" ]; then
+		${make_cmd} ${makejobs} ${make_check_args} ${make_check_target}
+	else
+		${make_cmd} ${make_check_args} ${make_check_target}
+	fi
 }
 
 do_install() {
diff --git a/common/environment/setup/sourcepkg.sh b/common/environment/setup/sourcepkg.sh
index bc06f745b78a..1fd541f1e715 100644
--- a/common/environment/setup/sourcepkg.sh
+++ b/common/environment/setup/sourcepkg.sh
@@ -13,7 +13,8 @@ unset -v cmake_builddir meson_builddir
 unset -v meson_crossfile
 unset -v gemspec
 unset -v go_import_path go_package go_mod_mode
-unset -v patch_args disable_parallel_build keep_libtool_archives make_use_env
+unset -v patch_args disable_parallel_build disable_parallel_check
+unset -v keep_libtool_archives make_use_env
 unset -v reverts subpackages makedepends hostmakedepends checkdepends depends restricted
 unset -v nopie build_options build_options_default bootstrap repository reverts
 unset -v CFLAGS CXXFLAGS FFLAGS CPPFLAGS LDFLAGS LD_LIBRARY_PATH

From f77de691ea83f5fef9ac37ab94160efe382a8d0a Mon Sep 17 00:00:00 2001
From: Paper <paper@tilde.institute>
Date: Sat, 20 Mar 2021 23:19:47 +0100
Subject: [PATCH 2/2] New package: lsp-plugins-1.1.30

---
 srcpkgs/lsp-plugins-doc                       |    1 +
 srcpkgs/lsp-plugins-jack                      |    1 +
 srcpkgs/lsp-plugins-ladspa                    |    1 +
 srcpkgs/lsp-plugins-lv2                       |    1 +
 srcpkgs/lsp-plugins-vst                       |    1 +
 .../00-makefile-test-remove-cflags.patch      |   12 +
 srcpkgs/lsp-plugins/patches/01-musl.patch     |  391 ++++++
 .../lsp-plugins/patches/02-make-verbose.patch | 1082 +++++++++++++++++
 .../patches/03-improve-cross.patch            |  590 +++++++++
 srcpkgs/lsp-plugins/template                  |   76 ++
 10 files changed, 2156 insertions(+)
 create mode 120000 srcpkgs/lsp-plugins-doc
 create mode 120000 srcpkgs/lsp-plugins-jack
 create mode 120000 srcpkgs/lsp-plugins-ladspa
 create mode 120000 srcpkgs/lsp-plugins-lv2
 create mode 120000 srcpkgs/lsp-plugins-vst
 create mode 100644 srcpkgs/lsp-plugins/patches/00-makefile-test-remove-cflags.patch
 create mode 100644 srcpkgs/lsp-plugins/patches/01-musl.patch
 create mode 100644 srcpkgs/lsp-plugins/patches/02-make-verbose.patch
 create mode 100644 srcpkgs/lsp-plugins/patches/03-improve-cross.patch
 create mode 100644 srcpkgs/lsp-plugins/template

diff --git a/srcpkgs/lsp-plugins-doc b/srcpkgs/lsp-plugins-doc
new file mode 120000
index 000000000000..f59057b0c7f7
--- /dev/null
+++ b/srcpkgs/lsp-plugins-doc
@@ -0,0 +1 @@
+lsp-plugins
\ No newline at end of file
diff --git a/srcpkgs/lsp-plugins-jack b/srcpkgs/lsp-plugins-jack
new file mode 120000
index 000000000000..f59057b0c7f7
--- /dev/null
+++ b/srcpkgs/lsp-plugins-jack
@@ -0,0 +1 @@
+lsp-plugins
\ No newline at end of file
diff --git a/srcpkgs/lsp-plugins-ladspa b/srcpkgs/lsp-plugins-ladspa
new file mode 120000
index 000000000000..f59057b0c7f7
--- /dev/null
+++ b/srcpkgs/lsp-plugins-ladspa
@@ -0,0 +1 @@
+lsp-plugins
\ No newline at end of file
diff --git a/srcpkgs/lsp-plugins-lv2 b/srcpkgs/lsp-plugins-lv2
new file mode 120000
index 000000000000..f59057b0c7f7
--- /dev/null
+++ b/srcpkgs/lsp-plugins-lv2
@@ -0,0 +1 @@
+lsp-plugins
\ No newline at end of file
diff --git a/srcpkgs/lsp-plugins-vst b/srcpkgs/lsp-plugins-vst
new file mode 120000
index 000000000000..f59057b0c7f7
--- /dev/null
+++ b/srcpkgs/lsp-plugins-vst
@@ -0,0 +1 @@
+lsp-plugins
\ No newline at end of file
diff --git a/srcpkgs/lsp-plugins/patches/00-makefile-test-remove-cflags.patch b/srcpkgs/lsp-plugins/patches/00-makefile-test-remove-cflags.patch
new file mode 100644
index 000000000000..fd82f25d4a25
--- /dev/null
+++ b/srcpkgs/lsp-plugins/patches/00-makefile-test-remove-cflags.patch
@@ -0,0 +1,12 @@
+https://github.com/void-linux/void-packages/pull/29932#discussion_r605695858
+--- a/Makefile
++++ b/Makefile
+@@ -108,8 +108,6 @@ trace: export EXE_FLAGS     += -g3
+ trace: compile
+ 
+ test: OBJDIR                 = $(TESTDIR)
+-test: export CFLAGS         += -O2 -DLSP_TESTING -DLSP_TRACE -g3 -fstack-protector
+-test: export CXXFLAGS       += -O2 -DLSP_TESTING -DLSP_TRACE -g3 -fstack-protector
+ test: export EXE_TEST_FLAGS += -g3
+ test: export MAKE_OPTS      += LSP_TESTING=1
+ test: export BUILD_MODULES   = jack
diff --git a/srcpkgs/lsp-plugins/patches/01-musl.patch b/srcpkgs/lsp-plugins/patches/01-musl.patch
new file mode 100644
index 000000000000..6dc08949a87a
--- /dev/null
+++ b/srcpkgs/lsp-plugins/patches/01-musl.patch
@@ -0,0 +1,391 @@
+diff --git a/TODO.txt b/TODO.txt
+index 4976293..3bb3db8 100644
+--- a/TODO.txt
++++ b/TODO.txt
+@@ -28,6 +28,11 @@
+ - Added possibility to change themes in runtime.
+ - Complicated plugin UIs now allow to switch between Advanced and Novice modes.
+ 
++=== 1.1.31 ===
++
++* Fixed X11 error handling routine that could crash under certain conditions.
++* Better support for musl libc (contributed by Artur Sinila).
++
+ *******************************************************************************
+ * New plugin check list before release
+ *******************************************************************************
+diff --git a/include/common/types.h b/include/common/types.h
+index dd1816e..59c794e 100644
+--- a/include/common/types.h
++++ b/include/common/types.h
+@@ -563,6 +563,12 @@
+     #define MINIMUM_ALIGN                   DEFAULT_ALIGN
+ #endif /* DEFAULT_ALIGN */
+ 
++//-----------------------------------------------------------------------------
++// Detect some libraries
++#ifdef __GLIBC__
++    #define USE_GLIBC                           __GLIBC__
++#endif /* GLIBC */
++
+ //-----------------------------------------------------------------------------
+ // Type definitions
+ __IF_32( typedef        uint32_t            umword_t );
+diff --git a/include/data/cvector.h b/include/data/cvector.h
+index eccc94a..17fe119 100644
+--- a/include/data/cvector.h
++++ b/include/data/cvector.h
+@@ -25,6 +25,7 @@
+ #include <stddef.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <sys/types.h>
+ 
+ #define CVECTOR_GROW        16
+ 
+diff --git a/include/test/main/executor.h b/include/test/main/executor.h
+index 0faf73f..5a0c016 100644
+--- a/include/test/main/executor.h
++++ b/include/test/main/executor.h
+@@ -633,7 +633,7 @@ namespace lsp
+     }
+ #endif /* PLATFORM_WINDOWS */
+ 
+-#ifdef PLATFORM_LINUX
++#if defined(PLATFORM_LINUX) && defined(USE_GLIBC)
+     void TestExecutor::start_memcheck(test::Test *v)
+     {
+         if (!pCfg->mtrace)
+diff --git a/include/test/main/types.h b/include/test/main/types.h
+index ef15800..0c5d7c2 100644
+--- a/include/test/main/types.h
++++ b/include/test/main/types.h
+@@ -42,7 +42,7 @@
+     #include <fcntl.h>
+ #endif /* PLATFORM_UNIX_COMPATIBLE */
+ 
+-#ifdef PLATFORM_LINUX
++#if defined(PLATFORM_LINUX) && defined(USE_GLIBC)
+     #include <mcheck.h>
+ #endif /* PLATFORM_LINUX */
+ 
+diff --git a/include/testing/mtest/3d/common/X11Renderer.h b/include/testing/mtest/3d/common/X11Renderer.h
+index e8ec205..f0a51e2 100644
+--- a/include/testing/mtest/3d/common/X11Renderer.h
++++ b/include/testing/mtest/3d/common/X11Renderer.h
+@@ -30,7 +30,7 @@
+ #include <X11/X.h>
+ #include <X11/Xlib.h>
+ #include <X11/Xutil.h>
+-#include <sys/poll.h>
++#include <poll.h>
+ 
+ #include <rendering/backend.h>
+ #include <core/ipc/Library.h>
+diff --git a/src/testing/mtest/3d/boolean3d.cpp b/src/testing/mtest/3d/boolean3d.cpp
+deleted file mode 100644
+index 636dce1..0000000
+--- a/src/testing/mtest/3d/boolean3d.cpp
++++ /dev/null
+@@ -1,253 +0,0 @@
+-/*
+- * Copyright (C) 2020 Linux Studio Plugins Project <https://lsp-plug.in/>
+- *           (C) 2020 Vladimir Sadovnikov <sadko4u@gmail.com>
+- *
+- * This file is part of lsp-plugins
+- * Created on: 24 дек. 2018 г.
+- *
+- * lsp-plugins is free software: you can redistribute it and/or modify
+- * it under the terms of the GNU Lesser General Public License as published by
+- * the Free Software Foundation, either version 3 of the License, or
+- * any later version.
+- *
+- * lsp-plugins is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU Lesser General Public License for more details.
+- *
+- * You should have received a copy of the GNU Lesser General Public License
+- * along with lsp-plugins. If not, see <https://www.gnu.org/licenses/>.
+- */
+-
+-#if 0
+-
+-#include <test/mtest.h>
+-#include <testing/mtest/3d/common/X11Renderer.h>
+-#include <core/files/Model3DFile.h>
+-#include <core/3d/rt_context.h>
+-#include <core/3d/RayTrace3D.h>
+-
+-#include <core/types.h>
+-#include <core/debug.h>
+-#include <core/sugar.h>
+-#include <core/status.h>
+-#include <stdlib.h>
+-#include <errno.h>
+-#include <data/cstorage.h>
+-
+-#include <X11/X.h>
+-#include <X11/Xlib.h>
+-#include <X11/keysymdef.h>
+-#include <GL/gl.h>
+-#include <GL/glx.h>
+-#include <GL/glu.h>
+-#include <sys/poll.h>
+-
+-//#define TEST_DEBUG
+-
+-#ifndef TEST_DEBUG
+-//    #define BREAKPOINT_STEP     -1
+-//    #define BREAKPOINT_STEP     27
+-//    #define BREAKPOINT_STEP     83
+-    #define BREAKPOINT_STEP     215
+-//    #define BREAKPOINT_STEP     0
+-
+-#else /* DEBUG */
+-    #define BREAKPOINT_STEP     0
+-#endif /* DEBUG */
+-
+-MTEST_BEGIN("3d", boolean)
+-
+-    class Renderer: public X11Renderer
+-    {
+-        private:
+-            Scene3D        *pScene;
+-            ssize_t         nTrace;
+-            bool            bDrawMatched;
+-            bool            bDrawIgnored;
+-            bool            bDrawDebug;
+-
+-        public:
+-            explicit Renderer(Scene3D *scene, View3D *view): X11Renderer(view)
+-            {
+-                pScene = scene;
+-                bDrawMatched    = true;
+-                bDrawIgnored    = true;
+-                bDrawDebug      = true;
+-                bDrawNormals    = false;
+-                nTrace          = BREAKPOINT_STEP;
+-
+-                update_view();
+-            }
+-
+-            virtual ~Renderer()
+-            {
+-            }
+-
+-        public:
+-            virtual void on_key_press(const XKeyEvent &ev, KeySym key)
+-            {
+-                switch (key)
+-                {
+-                    case XK_Up:
+-                        nTrace++;
+-                        lsp_trace("Set trace breakpoint to %d", int(nTrace));
+-                        update_view();
+-                        break;
+-                    case XK_Down:
+-                        if (nTrace >= 0)
+-                        {
+-                            nTrace--;
+-                            lsp_trace("Set trace breakpoint to %d", int(nTrace));
+-                            update_view();
+-                        }
+-                        break;
+-
+-                    case 'm':
+-                    {
+-                        bDrawMatched = ! bDrawMatched;
+-                        update_view();
+-                        break;
+-                    }
+-
+-                    case 'i':
+-                    {
+-                        bDrawIgnored = ! bDrawIgnored;
+-                        update_view();
+-                        break;
+-                    }
+-
+-                    case 'd':
+-                    {
+-                        bDrawDebug = ! bDrawDebug;
+-                        update_view();
+-                        break;
+-                    }
+-
+-                    case '0': case '1': case '2': case '3': case '4':
+-                    case '5': case '6': case '7': case '8': case '9':
+-                    {
+-                        Object3D *obj = pScene->get_object(key - '0');
+-                        if (obj != NULL)
+-                        {
+-                            obj->set_visible(!obj->is_visible());
+-                            update_view();
+-                        }
+-                        break;
+-                    }
+-                    default:
+-                        X11Renderer::on_key_press(ev, key);
+-                        break;
+-                }
+-            }
+-
+-        protected:
+-            status_t perform_boolean(rt_debug_t *shared)
+-            {
+-                if (pScene->num_objects() <= 0)
+-                    return STATUS_OK;
+-
+-                rt_mesh_t mesh;
+-                mesh.set_debug_context(shared, &shared->trace);
+-
+-                Object3D *obj = pScene->object(0);
+-                status_t res = mesh.init(obj, 0, obj->matrix());
+-                if (res != STATUS_OK)
+-                    return res;
+-
+-                for (size_t i=1, n=pScene->num_objects(); i<n; ++i)
+-                {
+-                    obj = pScene->object(i);
+-                    res = mesh.subtract(obj, i, obj->matrix());
+-                    if (res != STATUS_OK)
+-                        return res;
+-                }
+-
+-                return STATUS_OK;
+-            }
+-
+-            status_t    update_view()
+-            {
+-                v_vertex3d_t v[3];
+-                status_t res = STATUS_OK;
+-
+-                if (!pScene->validate())
+-                    return STATUS_BAD_STATE;
+-
+-                // List of ignored and matched triangles
+-                rt_debug_t global;
+-                global.breakpoint   = nTrace;
+-                global.step         = 0;
+-
+-                // Perform raytrace
+-                res     = perform_boolean(&global);
+-                if (res == STATUS_BREAKPOINT)
+-                {
+-                    pView->swap(&global.trace);
+-                    res         = STATUS_OK;
+-                }
+-
+-                if (!bDrawDebug)
+-                    pView->clear_all();
+-
+-                if (!pScene->validate())
+-                    return STATUS_BAD_STATE;
+-
+-                // Build final scene from matched and ignored items
+-                if (bDrawIgnored)
+-                {
+-                    for (size_t i=0, m=global.ignored.size(); i < m; ++i)
+-                        pView->add_triangle_1c(global.ignored.at(i), &C_GRAY);
+-                }
+-
+-                if (bDrawMatched)
+-                {
+-                    for (size_t i=0, m=global.matched.size(); i < m; ++i)
+-                    {
+-                        v_triangle3d_t *t = global.matched.at(i);
+-                        v[0].p     = t->p[0];
+-                        v[0].n     = t->n[0];
+-                        v[0].c     = C_RED;
+-
+-                        v[1].p     = t->p[1];
+-                        v[1].n     = t->n[1];
+-                        v[1].c     = C_GREEN;
+-
+-                        v[2].p     = t->p[2];
+-                        v[2].n     = t->n[2];
+-                        v[2].c     = C_BLUE;
+-
+-                        pView->add_triangle(v);
+-                    }
+-                }
+-
+-                global.ignored.flush();
+-                global.matched.flush();
+-
+-                return res;
+-            }
+-    };
+-
+-    MTEST_MAIN
+-    {
+-        const char *scene_file = (argc < 1) ? "res/test/3d/cross.obj" : argv[0];
+-
+-        // Load scene
+-        Scene3D s;
+-        View3D v;
+-        status_t res = Model3DFile::load(&s, scene_file, true);
+-        MTEST_ASSERT_MSG(res == STATUS_OK, "Error loading scene from file %s", scene_file);
+-
+-        // Initialize renderer
+-        Renderer r(&s, &v);
+-        MTEST_ASSERT_MSG(r.init() == STATUS_OK, "Error initializing renderer");
+-        r.run();
+-        r.destroy();
+-
+-        // Destroy scene
+-        s.destroy();
+-    }
+-
+-MTEST_END
+-
+-#endif
+diff --git a/src/testing/mtest/3d/bsp_context.cpp b/src/testing/mtest/3d/bsp_context.cpp
+index de54427..f7b7a34 100644
+--- a/src/testing/mtest/3d/bsp_context.cpp
++++ b/src/testing/mtest/3d/bsp_context.cpp
+@@ -39,7 +39,7 @@
+ #include <X11/keysymdef.h>
+ #include <GL/gl.h>
+ #include <GL/glx.h>
+-#include <sys/poll.h>
++#include <poll.h>
+ 
+ //#define TEST_DEBUG
+ 
+diff --git a/src/testing/mtest/3d/reflections3d.cpp b/src/testing/mtest/3d/reflections3d.cpp
+index e250444..367f86c 100644
+--- a/src/testing/mtest/3d/reflections3d.cpp
++++ b/src/testing/mtest/3d/reflections3d.cpp
+@@ -39,7 +39,7 @@
+ #include <X11/keysymdef.h>
+ #include <GL/gl.h>
+ #include <GL/glx.h>
+-#include <sys/poll.h>
++#include <poll.h>
+ 
+ //#define TEST_DEBUG
+ 
+diff --git a/src/ui/ws/x11/X11Display.cpp b/src/ui/ws/x11/X11Display.cpp
+index d85db51..987e8a9 100644
+--- a/src/ui/ws/x11/X11Display.cpp
++++ b/src/ui/ws/x11/X11Display.cpp
+@@ -23,7 +23,7 @@
+ 
+ #ifdef USE_X11_DISPLAY
+ 
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <errno.h>
+ #include <stdlib.h>
+ 
+@@ -233,7 +233,7 @@ namespace lsp
+                 while (!atomic_cas(&hLock, 0, 1)) { /* Wait */ }
+ 
+                 // Dispatch errors between Displays
+-                for (X11Display *dp = pHandlers; dp != NULL; ++dp)
++                for (X11Display *dp = pHandlers; dp != NULL; dp = dp->pNextHandler)
+                     if (dp->pDisplay == dpy)
+                         dp->handle_error(ev);
+ 
diff --git a/srcpkgs/lsp-plugins/patches/02-make-verbose.patch b/srcpkgs/lsp-plugins/patches/02-make-verbose.patch
new file mode 100644
index 000000000000..d6c4f6ce2f92
--- /dev/null
+++ b/srcpkgs/lsp-plugins/patches/02-make-verbose.patch
@@ -0,0 +1,1082 @@
+diff --git a/Makefile b/Makefile
+index 2d9cb79..79ddcc6 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,3 +1,9 @@
++# Command-line flag to silence nested $(MAKE).
++MAKE_OPTS              += VERBOSE=$(VERBOSE)
++ifneq ($(VERBOSE),1)
++.SILENT:
++endif
++
+ # Common definitions
+ RELEASE_TEXT            = LICENSE.txt README.txt CHANGELOG.txt
+ RELEASE_SRC             = $(RELEASE_TEXT) src build-*.sh include res Makefile release.sh
+@@ -166,24 +172,24 @@ compile_info:
+ 	@echo "-------------------------------------------------------------------------------"
+ 
+ compile: | compile_info
+-	@mkdir -p $(OBJDIR)/src
+-	@mkdir -p $(CFGDIR)
+-	@test -f "$(CFGDIR)/$(PREFIX_FILE)" || echo -n "$(PREFIX)" > "$(CFGDIR)/$(PREFIX_FILE)"
+-	@test -f "$(CFGDIR)/$(MODULES_FILE)" || echo -n "$(BUILD_MODULES)" > "$(CFGDIR)/$(MODULES_FILE)"
+-	@test -f "$(CFGDIR)/$(BUILD_PROFILE)" || echo -n "$(BUILD_PROFILE)" > "$(CFGDIR)/$(BUILD_PROFILE_FILE)"
+-	@test -f "$(CFGDIR)/$(R3D_BACKENDS_FILE)" || echo -n "$(BUILD_R3D_BACKENDS)" > "$(CFGDIR)/$(R3D_BACKENDS_FILE)"
+-	@$(MAKE) $(MAKE_OPTS) -C src all OBJDIR=$(OBJDIR)/src
++	mkdir -p $(OBJDIR)/src
++	mkdir -p $(CFGDIR)
++	test -f "$(CFGDIR)/$(PREFIX_FILE)" || echo -n "$(PREFIX)" > "$(CFGDIR)/$(PREFIX_FILE)"
++	test -f "$(CFGDIR)/$(MODULES_FILE)" || echo -n "$(BUILD_MODULES)" > "$(CFGDIR)/$(MODULES_FILE)"
++	test -f "$(CFGDIR)/$(BUILD_PROFILE)" || echo -n "$(BUILD_PROFILE)" > "$(CFGDIR)/$(BUILD_PROFILE_FILE)"
++	test -f "$(CFGDIR)/$(R3D_BACKENDS_FILE)" || echo -n "$(BUILD_R3D_BACKENDS)" > "$(CFGDIR)/$(R3D_BACKENDS_FILE)"
++	$(MAKE) $(MAKE_OPTS) -C src all OBJDIR=$(OBJDIR)/src
+ 	@echo "Build OK"
+ 	
+ test_compile: | compile_info
+-	@mkdir -p $(OBJDIR)/src
+-	@$(MAKE) $(MAKE_OPTS) -C src all OBJDIR=$(OBJDIR)/src
++	mkdir -p $(OBJDIR)/src
++	$(MAKE) $(MAKE_OPTS) -C src all OBJDIR=$(OBJDIR)/src
+ 	@echo "Test Build OK"
+ 
+ clean:
+-	@-rm -rf $(BUILDDIR)
+-	@-rm -rf $(TESTDIR)
+-	@-rm -rf $(CFGDIR)
++	-rm -rf $(BUILDDIR)
++	-rm -rf $(TESTDIR)
++	-rm -rf $(CFGDIR)
+ 	@echo "Clean OK"
+ 
+ # Build targets
+@@ -209,63 +215,63 @@ install: $(INSTALLATIONS)
+ 
+ install_ladspa: all
+ 	@echo "Installing LADSPA plugins to $(DESTDIR)$(LADSPA_PATH)/"
+-	@mkdir -p $(DESTDIR)$(LADSPA_PATH)
+-	@$(INSTALL) $(LIB_LADSPA) $(DESTDIR)$(LADSPA_PATH)/
++	mkdir -p $(DESTDIR)$(LADSPA_PATH)
++	$(INSTALL) $(LIB_LADSPA) $(DESTDIR)$(LADSPA_PATH)/
+ 	
+ install_lv2: all
+ 	@echo "Installing LV2 plugins to $(DESTDIR)$(LV2_PATH)/$(ARTIFACT_ID).lv2"
+-	@mkdir -p "$(DESTDIR)$(LV2_PATH)/$(ARTIFACT_ID).lv2"
+-	@$(INSTALL) $(LIB_LV2) "$(DESTDIR)$(LV2_PATH)/$(ARTIFACT_ID).lv2/"
+-	@test ! "$(BUILD_R3D_BACKENDS)" || $(INSTALL) $(OBJDIR)/$(R3D_ARTIFACT_ID)*.so $(DESTDIR)$(LV2_PATH)/$(ARTIFACT_ID).lv2/
+-	@$(UTL_GENTTL) "$(DESTDIR)$(LV2_PATH)/$(ARTIFACT_ID).lv2"
++	mkdir -p "$(DESTDIR)$(LV2_PATH)/$(ARTIFACT_ID).lv2"
++	$(INSTALL) $(LIB_LV2) "$(DESTDIR)$(LV2_PATH)/$(ARTIFACT_ID).lv2/"
++	test ! "$(BUILD_R3D_BACKENDS)" || $(INSTALL) $(OBJDIR)/$(R3D_ARTIFACT_ID)*.so $(DESTDIR)$(LV2_PATH)/$(ARTIFACT_ID).lv2/
++	$(UTL_GENTTL) "$(DESTDIR)$(LV2_PATH)/$(ARTIFACT_ID).lv2"
+ 	
+ install_vst: all
+ 	@echo "Installing VST plugins to $(DESTDIR)$(VST_PATH)/$(VST_ID)"
+-	@mkdir -p "$(DESTDIR)$(VST_PATH)/$(VST_ID)"
+-	@$(INSTALL) $(LIB_VST) "$(DESTDIR)$(VST_PATH)/$(VST_ID)/"
+-	@test ! "$(BUILD_R3D_BACKENDS)" || $(INSTALL) $(OBJDIR)/$(R3D_ARTIFACT_ID)*.so $(DESTDIR)$(VST_PATH)/$(VST_ID)/
+-	@$(INSTALL) $(OBJDIR)/src/vst/*.so $(DESTDIR)$(VST_PATH)/$(VST_ID)/
++	mkdir -p "$(DESTDIR)$(VST_PATH)/$(VST_ID)"
++	$(INSTALL) $(LIB_VST) "$(DESTDIR)$(VST_PATH)/$(VST_ID)/"
++	test ! "$(BUILD_R3D_BACKENDS)" || $(INSTALL) $(OBJDIR)/$(R3D_ARTIFACT_ID)*.so $(DESTDIR)$(VST_PATH)/$(VST_ID)/
++	$(INSTALL) $(OBJDIR)/src/vst/*.so $(DESTDIR)$(VST_PATH)/$(VST_ID)/
+ 
+ install_jack: all
+ 	@echo "Installing JACK core to $(DESTDIR)$(LIB_PATH)/$(ARTIFACT_ID)"
+-	@mkdir -p "$(DESTDIR)$(LIB_PATH)/$(ARTIFACT_ID)"
+-	@$(INSTALL) $(LIB_JACK) "$(DESTDIR)$(LIB_PATH)/$(ARTIFACT_ID)/"
+-	@test ! "$(BUILD_R3D_BACKENDS)" || $(INSTALL) $(OBJDIR)/$(R3D_ARTIFACT_ID)*.so "$(DESTDIR)$(LIB_PATH)/$(ARTIFACT_ID)/"
++	mkdir -p "$(DESTDIR)$(LIB_PATH)/$(ARTIFACT_ID)"
++	$(INSTALL) $(LIB_JACK) "$(DESTDIR)$(LIB_PATH)/$(ARTIFACT_ID)/"
++	test ! "$(BUILD_R3D_BACKENDS)" || $(INSTALL) $(OBJDIR)/$(R3D_ARTIFACT_ID)*.so "$(DESTDIR)$(LIB_PATH)/$(ARTIFACT_ID)/"
+ 	@echo "Installing JACK standalone plugins to $(DESTDIR)$(BIN_PATH)"
+-	@mkdir -p "$(DESTDIR)$(BIN_PATH)"
+-	@$(MAKE) $(MAKE_OPTS) -C $(OBJDIR)/src/jack install TARGET_PATH="$(DESTDIR)$(BIN_PATH)" INSTALL="$(INSTALL)"
++	mkdir -p "$(DESTDIR)$(BIN_PATH)"
++	$(MAKE) $(MAKE_OPTS) -C $(OBJDIR)/src/jack install TARGET_PATH="$(DESTDIR)$(BIN_PATH)" INSTALL="$(INSTALL)"
+ 
+ install_xdg:
+ 	@echo "Installing desktop icons to $(DESTDIR)$(SHARE_PATH)/applications"
+-	@mkdir -p "$(DESTDIR)$(SHARE_PATH)/applications"
+-	@mkdir -p "$(DESTDIR)$(SHARE_PATH)/desktop-directories"
+-	@mkdir -p "$(DESTDIR)$(ETC_PATH)/xdg/menus/applications-merged"
+-	@mkdir -p "$(DESTDIR)$(SHARE_PATH)/icons/hicolor/scalable/apps"
+-	@mkdir -p "$(DESTDIR)$(SHARE_PATH)/icons/hicolor/16x16/apps"
+-	@mkdir -p "$(DESTDIR)$(SHARE_PATH)/icons/hicolor/22x22/apps"
+-	@mkdir -p "$(DESTDIR)$(SHARE_PATH)/icons/hicolor/24x24/apps"
+-	@mkdir -p "$(DESTDIR)$(SHARE_PATH)/icons/hicolor/32x32/apps"
+-	@mkdir -p "$(DESTDIR)$(SHARE_PATH)/icons/hicolor/48x48/apps"
+-	@mkdir -p "$(DESTDIR)$(SHARE_PATH)/icons/hicolor/64x64/apps"
+-	@mkdir -p "$(DESTDIR)$(SHARE_PATH)/icons/hicolor/128x128/apps"
+-	@mkdir -p "$(DESTDIR)$(SHARE_PATH)/icons/hicolor/256x256/apps"
+-	@cp res/xdg/*.desktop "$(DESTDIR)$(SHARE_PATH)/applications/"
+-	@cp res/xdg/lsp-plugins.directory "$(DESTDIR)$(SHARE_PATH)/desktop-directories/"
+-	@cp res/xdg/lsp-plugins.menu "$(DESTDIR)$(ETC_PATH)/xdg/menus/applications-merged/"
+-	@cp -f res/icons/$(ARTIFACT_ID)-16.png "$(DESTDIR)$(SHARE_PATH)/icons/hicolor/16x16/apps/$(ARTIFACT_ID).png"
+-	@cp -f res/icons/$(ARTIFACT_ID)-22.png "$(DESTDIR)$(SHARE_PATH)/icons/hicolor/22x22/apps/$(ARTIFACT_ID).png"
+-	@cp -f res/icons/$(ARTIFACT_ID)-24.png "$(DESTDIR)$(SHARE_PATH)/icons/hicolor/24x24/apps/$(ARTIFACT_ID).png"
+-	@cp -f res/icons/$(ARTIFACT_ID)-32.png "$(DESTDIR)$(SHARE_PATH)/icons/hicolor/32x32/apps/$(ARTIFACT_ID).png"
+-	@cp -f res/icons/$(ARTIFACT_ID)-48.png "$(DESTDIR)$(SHARE_PATH)/icons/hicolor/48x48/apps/$(ARTIFACT_ID).png"
+-	@cp -f res/icons/$(ARTIFACT_ID)-64.png "$(DESTDIR)$(SHARE_PATH)/icons/hicolor/64x64/apps/$(ARTIFACT_ID).png"
+-	@cp -f res/icons/$(ARTIFACT_ID)-128.png "$(DESTDIR)$(SHARE_PATH)/icons/hicolor/128x128/apps/$(ARTIFACT_ID).png"
+-	@cp -f res/icons/$(ARTIFACT_ID)-256.png "$(DESTDIR)$(SHARE_PATH)/icons/hicolor/256x256/apps/$(ARTIFACT_ID).png"
+-	@cp -f res/icons/$(ARTIFACT_ID)-exp.svg "$(DESTDIR)$(SHARE_PATH)/icons/hicolor/scalable/apps/$(ARTIFACT_ID).svg"
++	mkdir -p "$(DESTDIR)$(SHARE_PATH)/applications"
++	mkdir -p "$(DESTDIR)$(SHARE_PATH)/desktop-directories"
++	mkdir -p "$(DESTDIR)$(ETC_PATH)/xdg/menus/applications-merged"
++	mkdir -p "$(DESTDIR)$(SHARE_PATH)/icons/hicolor/scalable/apps"
++	mkdir -p "$(DESTDIR)$(SHARE_PATH)/icons/hicolor/16x16/apps"
++	mkdir -p "$(DESTDIR)$(SHARE_PATH)/icons/hicolor/22x22/apps"
++	mkdir -p "$(DESTDIR)$(SHARE_PATH)/icons/hicolor/24x24/apps"
++	mkdir -p "$(DESTDIR)$(SHARE_PATH)/icons/hicolor/32x32/apps"
++	mkdir -p "$(DESTDIR)$(SHARE_PATH)/icons/hicolor/48x48/apps"
++	mkdir -p "$(DESTDIR)$(SHARE_PATH)/icons/hicolor/64x64/apps"
++	mkdir -p "$(DESTDIR)$(SHARE_PATH)/icons/hicolor/128x128/apps"
++	mkdir -p "$(DESTDIR)$(SHARE_PATH)/icons/hicolor/256x256/apps"
++	cp res/xdg/*.desktop "$(DESTDIR)$(SHARE_PATH)/applications/"
++	cp res/xdg/lsp-plugins.directory "$(DESTDIR)$(SHARE_PATH)/desktop-directories/"
++	cp res/xdg/lsp-plugins.menu "$(DESTDIR)$(ETC_PATH)/xdg/menus/applications-merged/"
++	cp -f res/icons/$(ARTIFACT_ID)-16.png "$(DESTDIR)$(SHARE_PATH)/icons/hicolor/16x16/apps/$(ARTIFACT_ID).png"
++	cp -f res/icons/$(ARTIFACT_ID)-22.png "$(DESTDIR)$(SHARE_PATH)/icons/hicolor/22x22/apps/$(ARTIFACT_ID).png"
++	cp -f res/icons/$(ARTIFACT_ID)-24.png "$(DESTDIR)$(SHARE_PATH)/icons/hicolor/24x24/apps/$(ARTIFACT_ID).png"
++	cp -f res/icons/$(ARTIFACT_ID)-32.png "$(DESTDIR)$(SHARE_PATH)/icons/hicolor/32x32/apps/$(ARTIFACT_ID).png"
++	cp -f res/icons/$(ARTIFACT_ID)-48.png "$(DESTDIR)$(SHARE_PATH)/icons/hicolor/48x48/apps/$(ARTIFACT_ID).png"
++	cp -f res/icons/$(ARTIFACT_ID)-64.png "$(DESTDIR)$(SHARE_PATH)/icons/hicolor/64x64/apps/$(ARTIFACT_ID).png"
++	cp -f res/icons/$(ARTIFACT_ID)-128.png "$(DESTDIR)$(SHARE_PATH)/icons/hicolor/128x128/apps/$(ARTIFACT_ID).png"
++	cp -f res/icons/$(ARTIFACT_ID)-256.png "$(DESTDIR)$(SHARE_PATH)/icons/hicolor/256x256/apps/$(ARTIFACT_ID).png"
++	cp -f res/icons/$(ARTIFACT_ID)-exp.svg "$(DESTDIR)$(SHARE_PATH)/icons/hicolor/scalable/apps/$(ARTIFACT_ID).svg"
+ 
+ install_doc: all
+ 	@echo "Installing documentation to $(DESTDIR)$(DOC_PATH)"
+-	@mkdir -p $(DESTDIR)$(DOC_PATH)/$(ARTIFACT_ID)
+-	@cp -r $(OBJDIR)/html/* $(DESTDIR)$(DOC_PATH)/$(ARTIFACT_ID)
++	mkdir -p $(DESTDIR)$(DOC_PATH)/$(ARTIFACT_ID)
++	cp -r $(OBJDIR)/html/* $(DESTDIR)$(DOC_PATH)/$(ARTIFACT_ID)
+ 
+ # Release targets
+ dbg_release: export CFLAGS        += -DLSP_TRACE -O2
+@@ -279,67 +285,67 @@ release: $(RELEASES)
+ 
+ release_prepare: all
+ 	@echo "Releasing plugins for architecture $(BUILD_PROFILE)"
+-	@mkdir -p $(RELEASE)
+-	@mkdir -p $(DESTDIR)
++	mkdir -p $(RELEASE)
++	mkdir -p $(DESTDIR)
+ 	
+ release_ladspa: DESTDIR=$(RELEASE_BIN)/$(LADSPA_ID)-$(BUILD_SYSTEM)-$(BUILD_PROFILE)
+ release_ladspa: | release_prepare install_ladspa
+ 	@echo "Releasing LADSPA binaries"
+-	@cp $(RELEASE_TEXT) $(DESTDIR)/
+-	@tar -C $(RELEASE_BIN) -czf $(RELEASE_BIN)/$(LADSPA_ID)-$(BUILD_SYSTEM)-$(BUILD_PROFILE).tar.gz $(LADSPA_ID)-$(BUILD_SYSTEM)-$(BUILD_PROFILE)
+-	@rm -rf $(DESTDIR)
++	cp $(RELEASE_TEXT) $(DESTDIR)/
++	tar -C $(RELEASE_BIN) -czf $(RELEASE_BIN)/$(LADSPA_ID)-$(BUILD_SYSTEM)-$(BUILD_PROFILE).tar.gz $(LADSPA_ID)-$(BUILD_SYSTEM)-$(BUILD_PROFILE)
++	rm -rf $(DESTDIR)
+ 	
+ release_lv2: DESTDIR=$(RELEASE_BIN)/$(LV2_ID)-$(BUILD_SYSTEM)-$(BUILD_PROFILE)
+ release_lv2: | release_prepare install_lv2
+ 	@echo "Releasing LV2 binaries"
+-	@cp $(RELEASE_TEXT) $(DESTDIR)/
+-	@tar -C $(RELEASE_BIN) -czf $(RELEASE_BIN)/$(LV2_ID)-$(BUILD_SYSTEM)-$(BUILD_PROFILE).tar.gz $(LV2_ID)-$(BUILD_SYSTEM)-$(BUILD_PROFILE)
+-	@rm -rf $(DESTDIR)
++	cp $(RELEASE_TEXT) $(DESTDIR)/
++	tar -C $(RELEASE_BIN) -czf $(RELEASE_BIN)/$(LV2_ID)-$(BUILD_SYSTEM)-$(BUILD_PROFILE).tar.gz $(LV2_ID)-$(BUILD_SYSTEM)-$(BUILD_PROFILE)
++	rm -rf $(DESTDIR)
+ 	
+ release_vst: DESTDIR=$(RELEASE_BIN)/$(VST_ID)-$(BUILD_SYSTEM)-$(BUILD_PROFILE)
+ release_vst: | release_prepare install_vst
+ 	@echo "Releasing VST binaries"
+-	@cp $(RELEASE_TEXT) $(DESTDIR)/
+-	@tar -C $(RELEASE_BIN) -czf $(RELEASE_BIN)/$(VST_ID)-$(BUILD_SYSTEM)-$(BUILD_PROFILE).tar.gz $(VST_ID)-$(BUILD_SYSTEM)-$(BUILD_PROFILE)
+-	@rm -rf $(DESTDIR)
++	cp $(RELEASE_TEXT) $(DESTDIR)/
++	tar -C $(RELEASE_BIN) -czf $(RELEASE_BIN)/$(VST_ID)-$(BUILD_SYSTEM)-$(BUILD_PROFILE).tar.gz $(VST_ID)-$(BUILD_SYSTEM)-$(BUILD_PROFILE)
++	rm -rf $(DESTDIR)
+ 	
+ release_jack: DESTDIR=$(RELEASE_BIN)/$(JACK_ID)-$(BUILD_SYSTEM)-$(BUILD_PROFILE)
+ release_jack: | release_prepare install_jack
+ 	@echo "Releasing JACK binaries"
+-	@cp $(RELEASE_TEXT) $(DESTDIR)/
+-	@tar -C $(RELEASE_BIN) -czf $(RELEASE_BIN)/$(JACK_ID)-$(BUILD_SYSTEM)-$(BUILD_PROFILE).tar.gz $(JACK_ID)-$(BUILD_SYSTEM)-$(BUILD_PROFILE)
+-	@rm -rf $(DESTDIR)
++	cp $(RELEASE_TEXT) $(DESTDIR)/
++	tar -C $(RELEASE_BIN) -czf $(RELEASE_BIN)/$(JACK_ID)-$(BUILD_SYSTEM)-$(BUILD_PROFILE).tar.gz $(JACK_ID)-$(BUILD_SYSTEM)-$(BUILD_PROFILE)
++	rm -rf $(DESTDIR)
+ 
+ release_profile: DESTDIR=$(RELEASE_BIN)/$(PROFILE_ID)-$(BUILD_SYSTEM)-$(BUILD_PROFILE)
+ release_profile: | release_prepare
+ 	@echo "Releasing PROFILE binaries"
+-	@$(INSTALL) $(BIN_PROFILE) $(DESTDIR)/
+-	@cp $(RELEASE_TEXT) $(DESTDIR)/
+-	@tar -C $(RELEASE_BIN) -czf $(RELEASE_BIN)/$(PROFILE_ID)-$(BUILD_SYSTEM)-$(BUILD_PROFILE).tar.gz $(PROFILE_ID)-$(BUILD_SYSTEM)-$(BUILD_PROFILE)
+-	@rm -rf $(RELEASE_BIN)/$(PROFILE_ID)-$(BUILD_SYSTEM)-$(BUILD_PROFILE)
++	$(INSTALL) $(BIN_PROFILE) $(DESTDIR)/
++	cp $(RELEASE_TEXT) $(DESTDIR)/
++	tar -C $(RELEASE_BIN) -czf $(RELEASE_BIN)/$(PROFILE_ID)-$(BUILD_SYSTEM)-$(BUILD_PROFILE).tar.gz $(PROFILE_ID)-$(BUILD_SYSTEM)-$(BUILD_PROFILE)
++	rm -rf $(RELEASE_BIN)/$(PROFILE_ID)-$(BUILD_SYSTEM)-$(BUILD_PROFILE)
+ 
+ release_src: DESTDIR=$(RELEASE)/$(SRC_ID)
+ release_src: | release_prepare
+ 	@echo "Releasing source code binaries"
+-	@mkdir -p $(DESTDIR)
+-	@mkdir -p $(DESTDIR)/scripts
+-	@cp -R $(RELEASE_SRC) $(DESTDIR)/
+-	@cp -R $(RELEASE_SCRIPTS) $(DESTDIR)/scripts/
+-	@tar -C $(RELEASE) -czf $(RELEASE)/$(SRC_ID).tar.gz $(SRC_ID)
+-	@rm -rf $(DESTDIR)
++	mkdir -p $(DESTDIR)
++	mkdir -p $(DESTDIR)/scripts
++	cp -R $(RELEASE_SRC) $(DESTDIR)/
++	cp -R $(RELEASE_SCRIPTS) $(DESTDIR)/scripts/
++	tar -C $(RELEASE) -czf $(RELEASE)/$(SRC_ID).tar.gz $(SRC_ID)
++	rm -rf $(DESTDIR)
+ 
+ release_doc: DESTDIR=$(RELEASE)/$(DOC_ID)
+ release_doc: | release_prepare
+ 	@echo "Releasing documentation"
+-	@mkdir -p $(DESTDIR)
+-	@cp -r $(OBJDIR)/html/* $(DESTDIR)/
+-	@cp $(RELEASE_TEXT) $(DESTDIR)/
+-	@tar -C $(RELEASE) -czf $(RELEASE)/$(DOC_ID).tar.gz $(DOC_ID)
+-	@rm -rf $(DESTDIR)
++	mkdir -p $(DESTDIR)
++	cp -r $(OBJDIR)/html/* $(DESTDIR)/
++	cp $(RELEASE_TEXT) $(DESTDIR)/
++	tar -C $(RELEASE) -czf $(RELEASE)/$(DOC_ID).tar.gz $(DOC_ID)
++	rm -rf $(DESTDIR)
+ 
+ # Unrelease target
+ unrelease: clean
+-	@-rm -rf $(RELEASE)
++	-rm -rf $(RELEASE)
+ 	@echo "Unrelease OK"
+ 
+ # Uninstall target
+@@ -348,41 +354,41 @@ uninstall: $(UNINSTALLATIONS)
+ 	
+ uninstall_ladspa:
+ 	@echo "Uninstalling LADSPA"
+-	@-rm -f $(DESTDIR)$(LADSPA_PATH)/$(ARTIFACT_ID)-ladspa.so
++	-rm -f $(DESTDIR)$(LADSPA_PATH)/$(ARTIFACT_ID)-ladspa.so
+ 	
+ uninstall_lv2:
+ 	@echo "Uninstalling LV2"
+-	@-rm -rf $(DESTDIR)$(LV2_PATH)/$(ARTIFACT_ID).lv2
++	-rm -rf $(DESTDIR)$(LV2_PATH)/$(ARTIFACT_ID).lv2
+ 	
+ uninstall_vst:
+ 	@echo "Uninstalling VST"
+-	@-rm -f $(DESTDIR)$(VST_PATH)/$(ARTIFACT_ID)-vst-*.so
+-	@-rm -rf $(DESTDIR)$(VST_PATH)/$(ARTIFACT_ID)-lxvst-*
+-	@-rm -rf $(DESTDIR)$(VST_PATH)/$(VST_ID)
++	-rm -f $(DESTDIR)$(VST_PATH)/$(ARTIFACT_ID)-vst-*.so
++	-rm -rf $(DESTDIR)$(VST_PATH)/$(ARTIFACT_ID)-lxvst-*
++	-rm -rf $(DESTDIR)$(VST_PATH)/$(VST_ID)
+ 	
+ uninstall_jack:
+ 	@echo "Uninstalling JACK"
+-	@-rm -f $(DESTDIR)$(BIN_PATH)/$(ARTIFACT_ID)-*
+-	@-rm -f $(DESTDIR)$(LIB_PATH)/$(ARTIFACT_ID)-jack-core-*.so
+-	@-rm -f $(DESTDIR)$(LIB_PATH)/$(R3D_ARTIFACT_ID)
+-	@-rm -rf $(DESTDIR)$(LIB_PATH)/$(ARTIFACT_ID)
++	-rm -f $(DESTDIR)$(BIN_PATH)/$(ARTIFACT_ID)-*
++	-rm -f $(DESTDIR)$(LIB_PATH)/$(ARTIFACT_ID)-jack-core-*.so
++	-rm -f $(DESTDIR)$(LIB_PATH)/$(R3D_ARTIFACT_ID)
++	-rm -rf $(DESTDIR)$(LIB_PATH)/$(ARTIFACT_ID)
+ 
+ uninstall_xdg:
+ 	@echo "Uninstalling desktop icons"
+-	@-rm -f $(DESTDIR)$(SHARE_PATH)/applications/in.lsp_plug.*.desktop
+-	@-rm -f $(DESTDIR)$(SHARE_PATH)/desktop-directories/lsp-plugins.directory
+-	@-rm -f $(DESTDIR)$(ETC_PATH)/xdg/menus/applications-merged/lsp-plugins.menu
+-	@-rm -f $(DESTDIR)$(SHARE_PATH)/icons/hicolor/16x16/apps/$(ARTIFACT_ID).*
+-	@-rm -f $(DESTDIR)$(SHARE_PATH)/icons/hicolor/22x22/apps/$(ARTIFACT_ID).*
+-	@-rm -f $(DESTDIR)$(SHARE_PATH)/icons/hicolor/24x24/apps/$(ARTIFACT_ID).*
+-	@-rm -f $(DESTDIR)$(SHARE_PATH)/icons/hicolor/32x32/apps/$(ARTIFACT_ID).*
+-	@-rm -f $(DESTDIR)$(SHARE_PATH)/icons/hicolor/48x48/apps/$(ARTIFACT_ID).*
+-	@-rm -f $(DESTDIR)$(SHARE_PATH)/icons/hicolor/64x64/apps/$(ARTIFACT_ID).*
+-	@-rm -f $(DESTDIR)$(SHARE_PATH)/icons/hicolor/128x128/apps/$(ARTIFACT_ID).*
+-	@-rm -f $(DESTDIR)$(SHARE_PATH)/icons/hicolor/256x256/apps/$(ARTIFACT_ID).*
+-	@-rm -f $(DESTDIR)$(SHARE_PATH)/icons/hicolor/scalable/apps/$(ARTIFACT_ID).*
++	-rm -f $(DESTDIR)$(SHARE_PATH)/applications/in.lsp_plug.*.desktop
++	-rm -f $(DESTDIR)$(SHARE_PATH)/desktop-directories/lsp-plugins.directory
++	-rm -f $(DESTDIR)$(ETC_PATH)/xdg/menus/applications-merged/lsp-plugins.menu
++	-rm -f $(DESTDIR)$(SHARE_PATH)/icons/hicolor/16x16/apps/$(ARTIFACT_ID).*
++	-rm -f $(DESTDIR)$(SHARE_PATH)/icons/hicolor/22x22/apps/$(ARTIFACT_ID).*
++	-rm -f $(DESTDIR)$(SHARE_PATH)/icons/hicolor/24x24/apps/$(ARTIFACT_ID).*
++	-rm -f $(DESTDIR)$(SHARE_PATH)/icons/hicolor/32x32/apps/$(ARTIFACT_ID).*
++	-rm -f $(DESTDIR)$(SHARE_PATH)/icons/hicolor/48x48/apps/$(ARTIFACT_ID).*
++	-rm -f $(DESTDIR)$(SHARE_PATH)/icons/hicolor/64x64/apps/$(ARTIFACT_ID).*
++	-rm -f $(DESTDIR)$(SHARE_PATH)/icons/hicolor/128x128/apps/$(ARTIFACT_ID).*
++	-rm -f $(DESTDIR)$(SHARE_PATH)/icons/hicolor/256x256/apps/$(ARTIFACT_ID).*
++	-rm -f $(DESTDIR)$(SHARE_PATH)/icons/hicolor/scalable/apps/$(ARTIFACT_ID).*
+ 
+ uninstall_doc:
+ 	@echo "Uninstalling DOC"
+-	@-rm -rf $(DESTDIR)$(DOC_PATH)/$(ARTIFACT_ID)
++	-rm -rf $(DESTDIR)$(DOC_PATH)/$(ARTIFACT_ID)
+ 
+diff --git a/TODO.txt b/TODO.txt
+index 3bb3db8..f8562ef 100644
+--- a/TODO.txt
++++ b/TODO.txt
+@@ -32,6 +32,7 @@
+ 
+ * Fixed X11 error handling routine that could crash under certain conditions.
+ * Better support for musl libc (contributed by Artur Sinila).
++* Added support of VERBOSE parameter for build system (contributed by Artur Sinila).
+ 
+ *******************************************************************************
+ * New plugin check list before release
+diff --git a/scripts/make/tools.mk b/scripts/make/tools.mk
+index 1fb917e..565dbb1 100644
+--- a/scripts/make/tools.mk
++++ b/scripts/make/tools.mk
+@@ -25,7 +25,6 @@ CXX                      ?= $(TOOL_CXX)
+ PHP                      ?= $(TOOL_PHP)
+ LD                       ?= $(TOOL_LD)
+ 
+-MAKE_OPTS                 = -s
+ CFLAGS                   += $(CC_ARCH) $(FLAG_CTUNE) $(CC_FLAGS) $(FLAG_VERSION)
+ CXXFLAGS                 += $(CC_ARCH) $(FLAG_CTUNE) $(CC_FLAGS) $(FLAG_VERSION)
+ SO_FLAGS                  = $(CC_ARCH) $(FLAG_RELRO) -Wl,--gc-sections -shared -Llibrary -lc -fPIC
+@@ -62,7 +61,6 @@ export CXX
+ export PHP
+ export LD
+ 
+-export MAKE_OPTS
+ export CFLAGS
+ export CXXFLAGS
+ export SO_FLAGS
+diff --git a/src/Makefile b/src/Makefile
+index 8546191..d960ad8 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -1,3 +1,9 @@
++# Command-line flag to silence nested $(MAKE).
++MAKE_OPTS              += VERBOSE=$(VERBOSE)
++ifneq ($(VERBOSE),1)
++.SILENT:
++endif
++
+ SUBDIRS                 = core metadata utils 
+ MODULES                 = $(SUBDIRS)
+ CONTAINER_DEPS          = $(OBJ_METADATA) $(OBJ_CORE) $(UTL_FILES)
+@@ -58,6 +64,7 @@ ifeq ($(NEED_UI),1)
+   CONTAINER_DEPS         += $(OBJ_UI_CORE) $(OBJ_RES_CORE) rendering
+ endif
+ 
++.DEFAULT_GOAL          := all
+ .PHONY: all $(MODULES)
+ 
+ all: $(MODULES)
+@@ -67,8 +74,8 @@ target: all
+ # Rules
+ $(SUBDIRS):
+ 	@echo "Building $(@)"
+-	@mkdir -p $(OBJDIR)/$(@)
+-	@$(MAKE) $(MAKE_OPTS) -C $@ $(MAKECMDGOALS) OBJDIR=$(OBJDIR)/$(@)
++	mkdir -p $(OBJDIR)/$(@)
++	$(MAKE) $(MAKE_OPTS) -C $@ $(MAKECMDGOALS) OBJDIR=$(OBJDIR)/$(@)
+ 
+ # Object dependencies
+ $(OBJ_CORE): core
+@@ -93,10 +100,10 @@ $(OBJ_TESTING_CORE): test testing rendering
+ 
+ $(OBJ_RES_CORE): $(OBJ_CORE) $(UTL_RESGEN)
+ 	@echo "Generating builtin resources"
+-	@mkdir -p $(OBJDIR)/res
+-	@$(UTL_RESGEN) $(OBJDIR)/res/builtin_resource.cpp $(RESOURCE_PATHS)
+-	@-rm gmon.out >/dev/null 2>&1
+-	@$(CXX) -o $(OBJ_RES_CORE) -c $(OBJDIR)/res/builtin_resource.cpp -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE) 
++	mkdir -p $(OBJDIR)/res
++	$(UTL_RESGEN) $(OBJDIR)/res/builtin_resource.cpp $(RESOURCE_PATHS)
++	-rm gmon.out >/dev/null 2>&1
++	$(CXX) -o $(OBJ_RES_CORE) -c $(OBJDIR)/res/builtin_resource.cpp -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE) 
+ 
+ # Target dependencies
+ container: $(CONTAINER_DEPS)
+@@ -108,18 +115,18 @@ doc: utils $(PHP_PLUGINS)
+ # Additional processing
+ $(PHP_PLUGINS): $(UTL_GENPHP)
+ 	@echo "Generating PHP file $(notdir $(PHP_PLUGINS))"
+-	@$(UTL_GENPHP) $(PHP_PLUGINS)
++	$(UTL_GENPHP) $(PHP_PLUGINS)
+ 
+ vst_stub: $(UTL_VSTMAKE)
+ 	@echo "Building VST stub"
+-	@mkdir -p $(OBJDIR)/vst
+-	@$(UTL_VSTMAKE) $(OBJDIR)/vst
+-	@-rm gmon.out >/dev/null 2>&1
+-	@$(MAKE) $(MAKE_OPTS) -C $(OBJDIR)/vst all OBJDIR=$(OBJDIR)/vst
++	mkdir -p $(OBJDIR)/vst
++	$(UTL_VSTMAKE) $(OBJDIR)/vst
++	-rm gmon.out >/dev/null 2>&1
++	$(MAKE) $(MAKE_OPTS) -C $(OBJDIR)/vst all OBJDIR=$(OBJDIR)/vst
+ 
+ jack_stub: $(UTL_JACKMAKE)
+ 	@echo "Building JACK stub"
+-	@mkdir -p $(OBJDIR)/jack
+-	@$(UTL_JACKMAKE) $(OBJDIR)/jack
+-	@-rm gmon.out >/dev/null 2>&1
+-	@$(MAKE) $(MAKE_OPTS) -C $(OBJDIR)/jack all OBJDIR=$(OBJDIR)/jack
++	mkdir -p $(OBJDIR)/jack
++	$(UTL_JACKMAKE) $(OBJDIR)/jack
++	-rm gmon.out >/dev/null 2>&1
++	$(MAKE) $(MAKE_OPTS) -C $(OBJDIR)/jack all OBJDIR=$(OBJDIR)/jack
+diff --git a/src/container/Makefile b/src/container/Makefile
+index 8aa8196..23a2e7a 100644
+--- a/src/container/Makefile
++++ b/src/container/Makefile
+@@ -1,3 +1,9 @@
++# Command-line flag to silence nested $(MAKE).
++MAKE_OPTS              += VERBOSE=$(VERBOSE)
++ifneq ($(VERBOSE),1)
++.SILENT:
++endif
++
+ FILES                   = $(addprefix $(OBJDIR)/, $(patsubst %.cpp, %.o, $(wildcard *.cpp)))
+ FILE                    = $(@:$(OBJDIR)/%.o=%.cpp)
+ OBJ_HELPERS             = $(OBJDIR)/CairoCanvas.o
+@@ -53,46 +59,47 @@ ifeq ($(VST_UI),1)
+   X_VST_LIBS             += $(UI_LIBS)
+ endif
+ 
++.DEFAULT_GOAL          := all
+ .PHONY: all
+ 
+ all: $(MODULES)
+ 
+ $(OBJ_HELPERS):
+ 	@echo "  $(CXX) $(FILE)"
+-	@$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE) $(CAIRO_HEADERS)
++	$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE) $(CAIRO_HEADERS)
+ 
+ $(LIB_LADSPA):
+ 	@echo "  $(CXX) ladspa.cpp"
+-	@$(CXX) -o $(OBJDIR)/ladspa.o -c ladspa.cpp -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE) 
++	$(CXX) -o $(OBJDIR)/ladspa.o -c ladspa.cpp -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE) 
+ 	@echo "  $(CXX) $(notdir $(LIB_LADSPA))"
+-	@$(CXX) -o $(LIB_LADSPA) $(OBJDIR)/ladspa.o $(OBJFILES) $(SO_FLAGS) $(LIBS)
++	$(CXX) -o $(LIB_LADSPA) $(OBJDIR)/ladspa.o $(OBJFILES) $(SO_FLAGS) $(LIBS)
+ 
+ $(LIB_LV2): $(X_LV2_DEPS)
+ 	@echo "  $(CXX) lv2.cpp"
+-	@$(CXX) -o $(OBJDIR)/lv2.o -c lv2.cpp -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE) $(CAIRO_HEADERS) $(LV2_HEADERS)
+-	@echo "  $(CXX) $(notdir $(X_LIB_LV2))"
+-	@$(CXX) -o $(LIB_LV2) $(OBJDIR)/lv2.o $(X_LV2_OBJFILES) $(SO_FLAGS) $(X_LV2_LIBS)
++	$(CXX) -o $(OBJDIR)/lv2.o -c lv2.cpp -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE) $(CAIRO_HEADERS) $(LV2_HEADERS)
++	@echo "  $(CXX) $(notdir $(LIB_LV2))"
++	$(CXX) -o $(LIB_LV2) $(OBJDIR)/lv2.o $(X_LV2_OBJFILES) $(SO_FLAGS) $(X_LV2_LIBS)
+ 
+ $(LIB_VST):
+ 	@echo "  $(CXX) vst.cpp"
+-	@$(CXX) -o $(OBJDIR)/vst.o -c vst.cpp -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE) 
++	$(CXX) -o $(OBJDIR)/vst.o -c vst.cpp -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE) 
+ 	@echo "  $(CXX) $(notdir $(LIB_VST))"
+-	@$(CXX) -o $(LIB_VST) $(OBJDIR)/vst.o $(X_VST_OBJFILES) $(SO_FLAGS) $(X_VST_LIBS) 
++	$(CXX) -o $(LIB_VST) $(OBJDIR)/vst.o $(X_VST_OBJFILES) $(SO_FLAGS) $(X_VST_LIBS) 
+ 
+ $(LIB_JACK): $(OBJ_HELPERS)
+ 	@echo "  $(CXX) jack.cpp"
+-	@$(CXX) -o $(OBJDIR)/jack.o -c jack.cpp -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE) $(JACK_HEADERS) $(CAIRO_HEADERS)
++	$(CXX) -o $(OBJDIR)/jack.o -c jack.cpp -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE) $(JACK_HEADERS) $(CAIRO_HEADERS)
+ 	@echo "  $(CXX) $(notdir $(LIB_JACK))"
+-	@$(CXX) -o $(LIB_JACK) $(OBJDIR)/jack.o $(OBJ_HELPERS) $(OBJFILES) $(UI_OBJFILES) $(SO_FLAGS) $(LIBS) $(UI_LIBS) $(JACK_LIBS)
++	$(CXX) -o $(LIB_JACK) $(OBJDIR)/jack.o $(OBJ_HELPERS) $(OBJFILES) $(UI_OBJFILES) $(SO_FLAGS) $(LIBS) $(UI_LIBS) $(JACK_LIBS)
+ 
+ $(BIN_PROFILE): $(LIB_JACK)
+ 	@echo "  $(CXX) profile.cpp"
+-	@$(CXX) -o $(OBJDIR)/profile.o -c profile.cpp -fPIC $(CPPFLAGS) -DLSP_PROFILING_MAIN $(CXXFLAGS) $(INCLUDE) $(JACK_HEADERS) 
++	$(CXX) -o $(OBJDIR)/profile.o -c profile.cpp -fPIC $(CPPFLAGS) -DLSP_PROFILING_MAIN $(CXXFLAGS) $(INCLUDE) $(JACK_HEADERS) 
+ 	@echo "  $(CXX) $(notdir $(BIN_PROFILE))"
+-	@$(CXX) -o $(BIN_PROFILE) $(OBJDIR)/jack.o $(OBJDIR)/profile.o $(OBJ_HELPERS) $(OBJFILES) $(UI_OBJFILES) $(EXE_FLAGS) $(LIBS) $(UI_LIBS) $(JACK_LIBS) 
++	$(CXX) -o $(BIN_PROFILE) $(OBJDIR)/jack.o $(OBJDIR)/profile.o $(OBJ_HELPERS) $(OBJFILES) $(UI_OBJFILES) $(EXE_FLAGS) $(LIBS) $(UI_LIBS) $(JACK_LIBS) 
+ 
+ $(BIN_TEST): $(LIB_JACK)
+ 	@echo "  $(CXX) test.cpp"
+-	@$(CXX) -o $(OBJDIR)/test.o -c test.cpp -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE) $(JACK_HEADERS) 
++	$(CXX) -o $(OBJDIR)/test.o -c test.cpp -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE) $(JACK_HEADERS) 
+ 	@echo "  $(CXX) $(notdir $(BIN_TEST))"
+-	@$(CXX) -o $(BIN_TEST) $(OBJDIR)/jack.o $(OBJDIR)/test.o $(OBJ_HELPERS) $(OBJFILES) $(UI_OBJFILES) $(EXE_TEST_FLAGS) $(LIBS) $(UI_LIBS) $(JACK_LIBS) $(OPENGL_LIBS) $(DL_LIBS)   
++	$(CXX) -o $(BIN_TEST) $(OBJDIR)/jack.o $(OBJDIR)/test.o $(OBJ_HELPERS) $(OBJFILES) $(UI_OBJFILES) $(EXE_TEST_FLAGS) $(LIBS) $(UI_LIBS) $(JACK_LIBS) $(OPENGL_LIBS) $(DL_LIBS)   
+diff --git a/src/core/Makefile b/src/core/Makefile
+index a9ce1a5..3ad14a5 100644
+--- a/src/core/Makefile
++++ b/src/core/Makefile
+@@ -1,18 +1,25 @@
++# Command-line flag to silence nested $(MAKE).
++MAKE_OPTS              += VERBOSE=$(VERBOSE)
++ifneq ($(VERBOSE),1)
++.SILENT:
++endif
++
+ rwildcard				= $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d))
+ FILES                   = $(addprefix $(OBJDIR)/, $(patsubst %.cpp, %.o, $(call rwildcard, , *.cpp)))
+ FILE                    = $(@:$(OBJDIR)/%.o=%.cpp)
+ INCLUDE                += $(SNDFILE_HEADERS)
+ LIBS                    = $(PTHREAD_LIBS)
+ 
++.DEFAULT_GOAL          := all
+ .PHONY: all
+ 
+ all: $(OBJ_CORE)
+ 
+ $(FILES):
+ 	@echo "  $(CXX) $(FILE)"
+-	@mkdir -p $(dir $@)
+-	@$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(LIBS) $(INCLUDE) 
++	mkdir -p $(dir $@)
++	$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(LIBS) $(INCLUDE) 
+ 
+ $(OBJ_CORE): $(FILES)
+ 	@echo "  $(LD) $(notdir $(OBJ_CORE))"
+-	@$(LD) -o $(OBJ_CORE) -r $(MERGE_FLAGS) $(FILES)
++	$(LD) -o $(OBJ_CORE) -r $(MERGE_FLAGS) $(FILES)
+diff --git a/src/doc/Makefile b/src/doc/Makefile
+index aac73bf..f7f18a1 100644
+--- a/src/doc/Makefile
++++ b/src/doc/Makefile
+@@ -1,6 +1,13 @@
++# Command-line flag to silence nested $(MAKE).
++MAKE_OPTS              += VERBOSE=$(VERBOSE)
++ifneq ($(VERBOSE),1)
++.SILENT:
++endif
++
+ PHPDIR      = $(BUILDDIR)/src/doc
+ HTMLDIR     = $(BUILDDIR)/html
+ 
++.DEFAULT_GOAL          := all
+ .PHONY: all target
+ 
+ target: all
+@@ -8,14 +15,14 @@ target: all
+ # Common rules
+ $(PHPDIR)/Makefile:
+ 	@echo "Preparing PHP documentation generator"
+-	@mkdir -p $(PHPDIR)
+-	@mkdir -p $(HTMLDIR)
+-	@cp -rf * $(PHPDIR)/
+-	@cp -r $(addprefix $(ROOTDIR)/, $(RELEASE_TEXT)) $(PHPDIR)/
+-	@cp -rf $(RESDIR)/doc/* $(HTMLDIR)/
+-	@cp -f $(PHP_PLUGINS) $(PHPDIR)/config/plugins.php
+-	@$(PHP) -f makefile.php $(PHPDIR) >$(PHPDIR)/Makefile
++	mkdir -p $(PHPDIR)
++	mkdir -p $(HTMLDIR)
++	cp -rf * $(PHPDIR)/
++	cp -r $(addprefix $(ROOTDIR)/, $(RELEASE_TEXT)) $(PHPDIR)/
++	cp -rf $(RESDIR)/doc/* $(HTMLDIR)/
++	cp -f $(PHP_PLUGINS) $(PHPDIR)/config/plugins.php
++	$(PHP) -f makefile.php $(PHPDIR) >$(PHPDIR)/Makefile
+ 
+ all: $(PHPDIR)/Makefile
+ 	@echo "Generating HTML documentation"
+-	@$(MAKE) $(MAKE_OPTS) -C $(PHPDIR)
++	$(MAKE) $(MAKE_OPTS) -C $(PHPDIR)
+diff --git a/src/dsp/Makefile b/src/dsp/Makefile
+index f3d9ab1..aac8007 100644
+--- a/src/dsp/Makefile
++++ b/src/dsp/Makefile
+@@ -1,3 +1,9 @@
++# Command-line flag to silence nested $(MAKE).
++MAKE_OPTS              += VERBOSE=$(VERBOSE)
++ifneq ($(VERBOSE),1)
++.SILENT:
++endif
++
+ NATIVE_IMPL             = $(OBJDIR)/native.o
+ 
+ X86_IMPL                = $(OBJDIR)/x86.o
+@@ -51,6 +57,7 @@ ifeq ($(BUILD_PROFILE), aarch64)
+ LINK_OBJECTS           += $(AARCH64_IMPL) $(ASIMD_IMPL)
+ endif
+ 
++.DEFAULT_GOAL          := all
+ .PHONY: all target
+ 
+ target: all
+@@ -59,41 +66,41 @@ all: $(OBJ_DSP)
+ 
+ $(OBJ_DSP): $(LINK_OBJECTS)
+ 	@echo "  $(LD) $(notdir $(OBJ_DSP))"
+-	@$(LD) -o $(OBJ_DSP) -r $(MERGE_FLAGS) $(LINK_OBJECTS)
++	$(LD) -o $(OBJ_DSP) -r $(MERGE_FLAGS) $(LINK_OBJECTS)
+ 
+ $(DSP_IMPL) $(BITS_IMPL) $(NATIVE_IMPL) $(X86_IMPL) $(ARM_IMPL) $(AARCH64_IMPL):
+ 	@echo "  $(CXX) $(FILE)"
+-	@$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE) 
++	$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE) 
+ 	
+ $(SSE_IMPL):
+ 	@echo "  $(CXX) $(FILE)"
+-	@$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(SSE_INSTR_SET) $(INCLUDE)
++	$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(SSE_INSTR_SET) $(INCLUDE)
+ 	
+ $(SSE2_IMPL):
+ 	@echo "  $(CXX) $(FILE)"
+-	@$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(SSE2_INSTR_SET) $(INCLUDE)
++	$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(SSE2_INSTR_SET) $(INCLUDE)
+ 	
+ $(SSE3_IMPL):
+ 	@echo "  $(CXX) $(FILE)"
+-	@$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(SSE3_INSTR_SET) $(INCLUDE)
++	$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(SSE3_INSTR_SET) $(INCLUDE)
+ 	
+ $(SSE4_IMPL):
+ 	@echo "  $(CXX) $(FILE)"
+-	@$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(SSE4_INSTR_SET) $(INCLUDE)
++	$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(SSE4_INSTR_SET) $(INCLUDE)
+ 
+ $(AVX_IMPL):
+ 	@echo "  $(CXX) $(FILE)"
+-	@$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(AVX_INSTR_SET) $(INCLUDE)
++	$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(AVX_INSTR_SET) $(INCLUDE)
+ 
+ $(AVX2_IMPL):
+ 	@echo "  $(CXX) $(FILE)"
+-	@$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(AVX2_INSTR_SET) $(INCLUDE)
++	$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(AVX2_INSTR_SET) $(INCLUDE)
+ 	
+ $(NEON_D32_IMPL):
+ 	@echo "  $(CXX) $(FILE)"
+-	@$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(NEON_D32_INSTR_SET) $(INCLUDE)
++	$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(NEON_D32_INSTR_SET) $(INCLUDE)
+ 	
+ $(ASIMD_IMPL):
+ 	@echo "  $(CXX) $(FILE)"
+-	@$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(ASIMD_INSTR_SET) $(INCLUDE)
++	$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(ASIMD_INSTR_SET) $(INCLUDE)
+ 
+diff --git a/src/metadata/Makefile b/src/metadata/Makefile
+index 201f89a..403f38a 100644
+--- a/src/metadata/Makefile
++++ b/src/metadata/Makefile
+@@ -1,3 +1,9 @@
++# Command-line flag to silence nested $(MAKE).
++MAKE_OPTS              += VERBOSE=$(VERBOSE)
++ifneq ($(VERBOSE),1)
++.SILENT:
++endif
++
+ rwildcard               = $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d))
+ FILES                   = $(addprefix $(OBJDIR)/, $(patsubst %.cpp, %.o, $(wildcard *.cpp)))
+ FILE                    = $(@:$(OBJDIR)/%.o=%.cpp)
+@@ -10,8 +16,8 @@ target: all
+ 
+ $(OBJ_METADATA): $(FILES)
+ 	@echo "  $(LD) $(notdir $(OBJ_METADATA))"
+-	@$(LD) -o $(OBJ_METADATA) -r $(MERGE_FLAGS) $(FILES) 
++	$(LD) -o $(OBJ_METADATA) -r $(MERGE_FLAGS) $(FILES) 
+ 
+ $(FILES):
+ 	@echo "  $(CXX) $(FILE)"
+-	@$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE) 
++	$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE) 
+diff --git a/src/plugins/Makefile b/src/plugins/Makefile
+index 1f197dc..85963ba 100644
+--- a/src/plugins/Makefile
++++ b/src/plugins/Makefile
+@@ -1,3 +1,9 @@
++# Command-line flag to silence nested $(MAKE).
++MAKE_OPTS              += VERBOSE=$(VERBOSE)
++ifneq ($(VERBOSE),1)
++.SILENT:
++endif
++
+ rwildcard               = $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d))
+ FILES                   = $(addprefix $(OBJDIR)/, $(patsubst %.cpp, %.o, $(wildcard *.cpp)))
+ FILE                    = $(@:$(OBJDIR)/%.o=%.cpp)
+@@ -8,8 +14,8 @@ all:  $(OBJ_PLUGINS)
+ 
+ $(OBJ_PLUGINS): $(FILES) $(SUBDIRS)
+ 	@echo "  $(LD) $(notdir $(OBJ_PLUGINS))"
+-	@$(LD) -o $(OBJ_PLUGINS) -r $(MERGE_FLAGS) $(FILES) 
++	$(LD) -o $(OBJ_PLUGINS) -r $(MERGE_FLAGS) $(FILES) 
+ 
+ $(FILES):
+ 	@echo "  $(CXX) $(FILE)"
+-	@$(CXX) -o $(@) -c -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE) $(FILE)
++	$(CXX) -o $(@) -c -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE) $(FILE)
+diff --git a/src/rendering/Makefile b/src/rendering/Makefile
+index 897e327..65f3237 100644
+--- a/src/rendering/Makefile
++++ b/src/rendering/Makefile
+@@ -1,3 +1,9 @@
++# Command-line flag to silence nested $(MAKE).
++MAKE_OPTS              += VERBOSE=$(VERBOSE)
++ifneq ($(VERBOSE),1)
++.SILENT:
++endif
++
+ BASE_IMPL             	= $(OBJDIR)/base_backend.o
+ 
+ GLX_IMPL                = $(OBJDIR)/glx/backend.o $(OBJDIR)/glx/factory.o
+@@ -20,15 +26,15 @@ all: $(MODULES)
+ 
+ $(LIB_R3D_GLX): $(BASE_IMPL) $(GLX_IMPL)
+ 	@echo "  $(CXX) $(notdir $(LIB_R3D_GLX))"
+-	@$(CXX) -o $(LIB_R3D_GLX) $(BASE_IMPL) $(GLX_IMPL) $(SO_FLAGS) $(XLIB_LIBS) $(OPENGL_LIBS)
++	$(CXX) -o $(LIB_R3D_GLX) $(BASE_IMPL) $(GLX_IMPL) $(SO_FLAGS) $(XLIB_LIBS) $(OPENGL_LIBS)
+ 
+ $(BASE_IMPL):
+ 	@echo "  $(CXX) $(FILE)"
+-	@$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE)
++	$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE)
+ 	
+ $(GLX_IMPL):
+ 	@echo "  $(CXX) $(FILE)"
+-	@mkdir -p $(dir $(@))
+-	@$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE) $(XLIB_HEADERS) $(OPENGL_HEADERS)
++	mkdir -p $(dir $(@))
++	$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE) $(XLIB_HEADERS) $(OPENGL_HEADERS)
+ 
+ 
+diff --git a/src/test/Makefile b/src/test/Makefile
+index e8016e1..a89366e 100644
+--- a/src/test/Makefile
++++ b/src/test/Makefile
+@@ -1,3 +1,9 @@
++# Command-line flag to silence nested $(MAKE).
++MAKE_OPTS              += VERBOSE=$(VERBOSE)
++ifneq ($(VERBOSE),1)
++.SILENT:
++endif
++
+ rwildcard				= $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d))
+ FILES                   = $(addprefix $(OBJDIR)/, $(patsubst %.cpp, %.o, $(call rwildcard, , *.cpp)))
+ FILE                    = $(@:$(OBJDIR)/%.o=%.cpp)
+@@ -8,10 +14,10 @@ all: $(OBJ_TEST_CORE)
+ 
+ $(FILES):
+ 	@echo "  $(CXX) $(FILE)"
+-	@mkdir -p $(dir $@)
+-	@$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE) $(OPENGL_HEADERS) 
++	mkdir -p $(dir $@)
++	$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE) $(OPENGL_HEADERS) 
+ 
+ $(OBJ_TEST_CORE): $(FILES)
+ 	@echo "  $(LD) $(notdir $(OBJ_TEST_CORE))"
+-	@$(LD) -o $(OBJ_TEST_CORE) -r $(MERGE_FLAGS) $(FILES)  
++	$(LD) -o $(OBJ_TEST_CORE) -r $(MERGE_FLAGS) $(FILES)  
+ 
+diff --git a/src/testing/Makefile b/src/testing/Makefile
+index 705913d..d048065 100644
+--- a/src/testing/Makefile
++++ b/src/testing/Makefile
+@@ -1,3 +1,9 @@
++# Command-line flag to silence nested $(MAKE).
++MAKE_OPTS              += VERBOSE=$(VERBOSE)
++ifneq ($(VERBOSE),1)
++.SILENT:
++endif
++
+ rwildcard				= $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d))
+ FILES                   = $(addprefix $(OBJDIR)/, $(patsubst %.cpp, %.o, $(call rwildcard, , *.cpp)))
+ FILE                    = $(@:$(OBJDIR)/%.o=%.cpp)
+@@ -8,10 +14,10 @@ all: $(OBJ_TESTING_CORE)
+ 
+ $(FILES):
+ 	@echo "  $(CXX) $(FILE)"
+-	@mkdir -p $(dir $@)
+-	@$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE) $(OPENGL_HEADERS) 
++	mkdir -p $(dir $@)
++	$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE) $(OPENGL_HEADERS) 
+ 
+ $(OBJ_TESTING_CORE): $(FILES)
+ 	@echo "  $(LD) $(notdir $(OBJ_TESTING_CORE))"
+-	@$(LD) -o $(OBJ_TESTING_CORE) -r $(MERGE_FLAGS) $(FILES)  
++	$(LD) -o $(OBJ_TESTING_CORE) -r $(MERGE_FLAGS) $(FILES)  
+ 
+diff --git a/src/ui/Makefile b/src/ui/Makefile
+index 503111d..eb1e4c5 100644
+--- a/src/ui/Makefile
++++ b/src/ui/Makefile
+@@ -1,3 +1,9 @@
++# Command-line flag to silence nested $(MAKE).
++MAKE_OPTS              += VERBOSE=$(VERBOSE)
++ifneq ($(VERBOSE),1)
++.SILENT:
++endif
++
+ FILES                   = $(addprefix $(OBJDIR)/, $(patsubst %.cpp, %.o, $(wildcard *.cpp)))
+ FILE                    = $(@:$(OBJDIR)/%.o=%.cpp)
+ SUBDIRS					= ws tk ctl plugins
+@@ -8,15 +14,15 @@ PACKAGES                = $(OBJ_WS_CORE) $(OBJ_TK_CORE) $(OBJ_CTL_CORE)
+ 
+ $(SUBDIRS):
+ 	@echo "Building $@"
+-	@mkdir -p $(OBJDIR)/$(@)
+-	@$(MAKE) $(MAKE_OPTS) -C $@ $(MAKECMDGOALS) OBJDIR=$(OBJDIR)/$(@)
++	mkdir -p $(OBJDIR)/$(@)
++	$(MAKE) $(MAKE_OPTS) -C $@ $(MAKECMDGOALS) OBJDIR=$(OBJDIR)/$(@)
+ 
+ $(FILES):
+ 	@echo "  $(CXX) $(FILE)"
+-	@$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE)
++	$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE)
+ 
+ $(OBJ_UI_CORE): $(FILES) $(SUBDIRS)
+ 	@echo "  $(LD) $(notdir $(@))"
+-	@$(LD) -o $(OBJ_UI_CORE) $(OBJ_PLUGIN_UIS) $(MERGE_FLAGS) $(PACKAGES) $(FILES)
++	$(LD) -o $(OBJ_UI_CORE) $(OBJ_PLUGIN_UIS) $(MERGE_FLAGS) $(PACKAGES) $(FILES)
+ 
+ all: $(OBJ_UI_CORE)
+diff --git a/src/ui/ctl/Makefile b/src/ui/ctl/Makefile
+index 3f727db..692fe9d 100644
+--- a/src/ui/ctl/Makefile
++++ b/src/ui/ctl/Makefile
+@@ -1,3 +1,9 @@
++# Command-line flag to silence nested $(MAKE).
++MAKE_OPTS              += VERBOSE=$(VERBOSE)
++ifneq ($(VERBOSE),1)
++.SILENT:
++endif
++
+ FILES                   = $(addprefix $(OBJDIR)/, $(patsubst %.cpp, %.o, $(wildcard *.cpp)))
+ FILE                    = $(@:$(OBJDIR)/%.o=%.cpp)
+ SUBDIRS					= 
+@@ -6,10 +12,10 @@ SUBDIRS					=
+ 
+ $(FILES):
+ 	@echo "  $(CXX) $(FILE)"
+-	@$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE)  
++	$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE)  
+ 
+ $(OBJ_CTL_CORE): $(FILES)
+ 	@echo "  $(LD) $(notdir $(@))"
+-	@$(LD) -o $(OBJ_CTL_CORE) $(MERGE_FLAGS) $(PACKAGES) $(FILES)
++	$(LD) -o $(OBJ_CTL_CORE) $(MERGE_FLAGS) $(PACKAGES) $(FILES)
+ 
+ all: $(OBJ_CTL_CORE) $(SUBDIRS)
+diff --git a/src/ui/plugins/Makefile b/src/ui/plugins/Makefile
+index 8f8db8f..0e6c3d8 100644
+--- a/src/ui/plugins/Makefile
++++ b/src/ui/plugins/Makefile
+@@ -1,3 +1,9 @@
++# Command-line flag to silence nested $(MAKE).
++MAKE_OPTS              += VERBOSE=$(VERBOSE)
++ifneq ($(VERBOSE),1)
++.SILENT:
++endif
++
+ FILES                   = $(addprefix $(OBJDIR)/, $(patsubst %.cpp, %.o, $(wildcard *.cpp)))
+ FILE                    = $(@:$(OBJDIR)/%.o=%.cpp)
+ SUBDIRS					= 
+@@ -6,10 +12,10 @@ SUBDIRS					=
+ 
+ $(FILES):
+ 	@echo "  $(CXX) $(FILE)"
+-	@$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE)  
++	$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE)  
+ 
+ $(OBJ_PLUGIN_UIS): $(FILES)
+ 	@echo "  $(LD) $(notdir $(@))"
+-	@$(LD) -o $(OBJ_PLUGIN_UIS) $(MERGE_FLAGS) $(PACKAGES) $(FILES)
++	$(LD) -o $(OBJ_PLUGIN_UIS) $(MERGE_FLAGS) $(PACKAGES) $(FILES)
+ 
+ all: $(OBJ_PLUGIN_UIS) $(SUBDIRS)
+diff --git a/src/ui/tk/Makefile b/src/ui/tk/Makefile
+index 8700f63..cfb4c78 100644
+--- a/src/ui/tk/Makefile
++++ b/src/ui/tk/Makefile
+@@ -1,3 +1,9 @@
++# Command-line flag to silence nested $(MAKE).
++MAKE_OPTS              += VERBOSE=$(VERBOSE)
++ifneq ($(VERBOSE),1)
++.SILENT:
++endif
++
+ rwildcard				= $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d))
+ FILES                   = $(addprefix $(OBJDIR)/, $(patsubst %.cpp, %.o, $(call rwildcard, , *.cpp)))
+ FILE                    = $(@:$(OBJDIR)/%.o=%.cpp)
+@@ -6,11 +12,11 @@ FILE                    = $(@:$(OBJDIR)/%.o=%.cpp)
+ 
+ $(FILES):
+ 	@echo "  $(CXX) $(FILE)"
+-	@mkdir -p $(dir $@)
+-	@$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE)
++	mkdir -p $(dir $@)
++	$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE)
+ 
+ $(OBJ_TK_CORE): $(FILES)
+ 	@echo "  $(LD) $(notdir $(@))"
+-	@$(LD) -o $(OBJ_TK_CORE) $(MERGE_FLAGS) $(PACKAGES) $(FILES)
++	$(LD) -o $(OBJ_TK_CORE) $(MERGE_FLAGS) $(PACKAGES) $(FILES)
+ 
+ all: $(OBJ_TK_CORE)
+diff --git a/src/ui/ws/Makefile b/src/ui/ws/Makefile
+index 1109752..b9836d8 100644
+--- a/src/ui/ws/Makefile
++++ b/src/ui/ws/Makefile
+@@ -1,3 +1,9 @@
++# Command-line flag to silence nested $(MAKE).
++MAKE_OPTS              += VERBOSE=$(VERBOSE)
++ifneq ($(VERBOSE),1)
++.SILENT:
++endif
++
+ FILES                   = $(addprefix $(OBJDIR)/, $(patsubst %.cpp, %.o, $(wildcard *.cpp)))
+ FILE                    = $(@:$(OBJDIR)/%.o=%.cpp)
+ SUBDIRS					= x11
+@@ -8,15 +14,15 @@ all: $(OBJ_WS_CORE)
+ 
+ $(SUBDIRS):
+ 	@echo "Building $@"
+-	@mkdir -p $(OBJDIR)/$(@)
+-	@$(MAKE) $(MAKE_OPTS) -C $@ $(MAKECMDGOALS) OBJDIR=$(OBJDIR)/$(@)
++	mkdir -p $(OBJDIR)/$(@)
++	$(MAKE) $(MAKE_OPTS) -C $@ $(MAKECMDGOALS) OBJDIR=$(OBJDIR)/$(@)
+ 
+ $(FILES):
+ 	@echo "  $(CXX) $(FILE)"
+-	@$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE) 
++	$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE) 
+ 
+ $(OBJ_WS_CORE): $(FILES) $(OBJ_WS_X11_CORE)
+ 	@echo "  $(LD) $(notdir $(@))"
+-	@$(LD) -o $(OBJ_WS_CORE) $(MERGE_FLAGS) $(PACKAGES) $(OBJ_WS_X11_CORE) $(FILES)
++	$(LD) -o $(OBJ_WS_CORE) $(MERGE_FLAGS) $(PACKAGES) $(OBJ_WS_X11_CORE) $(FILES)
+ 
+ $(OBJ_WS_X11_CORE): $(SUBDIRS)
+diff --git a/src/ui/ws/x11/Makefile b/src/ui/ws/x11/Makefile
+index b99e93d..7bffca3 100644
+--- a/src/ui/ws/x11/Makefile
++++ b/src/ui/ws/x11/Makefile
+@@ -1,3 +1,9 @@
++# Command-line flag to silence nested $(MAKE).
++MAKE_OPTS              += VERBOSE=$(VERBOSE)
++ifneq ($(VERBOSE),1)
++.SILENT:
++endif
++
+ FILES                   = $(addprefix $(OBJDIR)/, $(patsubst %.cpp, %.o, $(wildcard *.cpp)))
+ FILE                    = $(@:$(OBJDIR)/%.o=%.cpp)
+ INCLUDE                += $(XLIB_HEADERS) $(CAIRO_HEADERS)
+@@ -8,9 +14,9 @@ all: $(OBJ_WS_X11_CORE)
+ 
+ $(OBJ_WS_X11_CORE): $(FILES)
+ 	@echo "  $(LD) $(notdir $(@))"
+-	@$(LD) -o $(OBJ_WS_X11_CORE) $(MERGE_FLAGS) -r $(FILES)
++	$(LD) -o $(OBJ_WS_X11_CORE) $(MERGE_FLAGS) -r $(FILES)
+ 
+ $(FILES):
+ 	@echo "  $(CXX) $(FILE)"
+-	@$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE) 
++	$(CXX) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE) 
+ 
+diff --git a/src/utils/Makefile b/src/utils/Makefile
+index 88b3739..fbddcaa 100644
+--- a/src/utils/Makefile
++++ b/src/utils/Makefile
+@@ -1,3 +1,9 @@
++# Command-line flag to silence nested $(MAKE).
++MAKE_OPTS              += VERBOSE=$(VERBOSE)
++ifneq ($(VERBOSE),1)
++.SILENT:
++endif
++
+ MODULES                 = $(UTL_RESGEN) 
+ FILELIST                = resource_gen.o 
+ FILE                    = $(@:$(OBJDIR)/%.o=%.cpp)
+@@ -44,32 +50,32 @@ target: all
+ # Common rules
+ $(SUBDIRS):
+ 	@echo "Building $@"
+-	@mkdir -p $(OBJDIR)/$(@)
+-	@$(MAKE) $(MAKE_OPTS) -C $@ $(MAKECMDGOALS) OBJDIR=$(OBJDIR)/$(@)
++	mkdir -p $(OBJDIR)/$(@)
++	$(MAKE) $(MAKE_OPTS) -C $@ $(MAKECMDGOALS) OBJDIR=$(OBJDIR)/$(@)
+ 
+ $(FILES):
+ 	@echo "  $(CXX) $(FILE)"
+-	@$(CXX) -o $(@) -c $(FILE) $(CPPFLAGS) -fPIC $(CXXFLAGS) $(INCLUDE) $(INCLUDE_EXTRA)
++	$(CXX) -o $(@) -c $(FILE) $(CPPFLAGS) -fPIC $(CXXFLAGS) $(INCLUDE) $(INCLUDE_EXTRA)
+ 
+ # Rules for each utility
+ $(UTL_GENTTL): $(FILES) $(SUBDIRS)
+ 	@echo "  $(CXX) $(notdir $(UTL_GENTTL))"
+-	@$(CXX) -o $(UTL_GENTTL) $(OBJDIR)/lv2_genttl.o $(OBJ_FILES) $(EXE_FLAGS) $(SNDFILE_LIBS) $(DL_LIBS) $(OBJ_LIBS) $(LV2_LIBS)
++	$(CXX) -o $(UTL_GENTTL) $(OBJDIR)/lv2_genttl.o $(OBJ_FILES) $(EXE_FLAGS) $(SNDFILE_LIBS) $(DL_LIBS) $(OBJ_LIBS) $(LV2_LIBS)
+ 	
+ $(UTL_JACKMAKE): $(FILES) $(SUBDIRS)
+ 	@echo "  $(CXX) $(notdir $(UTL_JACKMAKE))"
+-	@$(CXX) -o $(UTL_JACKMAKE) $(OBJDIR)/jack_genmake.o $(OBJ_FILES) $(EXE_FLAGS) $(SNDFILE_LIBS) $(DL_LIBS) $(OBJ_LIBS)
++	$(CXX) -o $(UTL_JACKMAKE) $(OBJDIR)/jack_genmake.o $(OBJ_FILES) $(EXE_FLAGS) $(SNDFILE_LIBS) $(DL_LIBS) $(OBJ_LIBS)
+ 	
+ $(UTL_VSTMAKE): $(FILES) $(SUBDIRS)
+ 	@echo "  $(CXX) $(notdir $(UTL_VSTMAKE))"
+-	@$(CXX) -o $(UTL_VSTMAKE) $(OBJDIR)/vst_genmake.o $(OBJ_FILES) $(EXE_FLAGS) $(DL_LIBS) $(OBJ_LIBS)
++	$(CXX) -o $(UTL_VSTMAKE) $(OBJDIR)/vst_genmake.o $(OBJ_FILES) $(EXE_FLAGS) $(DL_LIBS) $(OBJ_LIBS)
+ 	
+ $(UTL_GENPHP): $(FILES) $(SUBDIRS)
+ 	@echo "  $(CXX) $(notdir $(UTL_GENPHP))"
+-	@$(CXX) -o $(UTL_GENPHP) $(OBJDIR)/gen_php.o $(OBJ_FILES) $(EXE_FLAGS) $(SNDFILE_LIBS) $(DL_LIBS) $(OBJ_LIBS)
++	$(CXX) -o $(UTL_GENPHP) $(OBJDIR)/gen_php.o $(OBJ_FILES) $(EXE_FLAGS) $(SNDFILE_LIBS) $(DL_LIBS) $(OBJ_LIBS)
+ 	
+ $(UTL_RESGEN): $(FILES) $(SUBDIRS)
+ 	@echo "  $(CXX) $(notdir $(UTL_RESGEN))"
+-	@$(CXX) -o $(UTL_RESGEN) $(OBJDIR)/resource_gen.o $(OBJ_FILES) $(OBJ_DSP) $(OBJ_EXTRA) $(EXE_FLAGS) $(SNDFILE_LIBS) $(DL_LIBS) $(OBJ_LIBS)
++	$(CXX) -o $(UTL_RESGEN) $(OBJDIR)/resource_gen.o $(OBJ_FILES) $(OBJ_DSP) $(OBJ_EXTRA) $(EXE_FLAGS) $(SNDFILE_LIBS) $(DL_LIBS) $(OBJ_LIBS)
+ 
+-	
+\ No newline at end of file
++	
+diff --git a/src/utils/jack_genmake.cpp b/src/utils/jack_genmake.cpp
+index 09974b0..3272ad8 100644
+--- a/src/utils/jack_genmake.cpp
++++ b/src/utils/jack_genmake.cpp
+@@ -97,6 +97,11 @@ namespace lsp
+         }
+ 
+         fprintf(out, "# Auto generated makefile, do not edit\n\n");
++        fprintf(out, "MAKE_OPTS              += VERBOSE=$(VERBOSE)\n");
++        fprintf(out, "ifneq ($(VERBOSE),1)\n");
++        fprintf(out, ".SILENT:\n");
++        fprintf(out, "endif\n");
++        fprintf(out, "\n");
+ 
+         fprintf(out, "FILES                   = $(patsubst %%.cpp, %%, $(wildcard *.cpp))\n");
+         fprintf(out, "FILE                    = $(@:%%=%%.cpp)\n");
+@@ -107,11 +112,11 @@ namespace lsp
+         fprintf(out, "all: $(FILES)\n\n");
+ 
+         fprintf(out, "$(FILES):\n");
+-        fprintf(out, "\t@echo \"  $(CXX) $(FILE)\"\n");
+-        fprintf(out, "\t@$(CXX) -o $(@) $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE) $(FILE) $(EXE_FLAGS) $(DL_LIBS)\n\n");
++        fprintf(out, "\techo \"  $(CXX) $(FILE)\"\n");
++        fprintf(out, "\t$(CXX) -o $(@) $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE) $(FILE) $(EXE_FLAGS) $(DL_LIBS)\n\n");
+ 
+         fprintf(out, "install: $(FILES)\n");
+-        fprintf(out, "\t@$(INSTALL) $(FILES) $(TARGET_PATH)/");
++        fprintf(out, "\t$(INSTALL) $(FILES) $(TARGET_PATH)/");
+ 
+         // Close file
+         fclose(out);
+diff --git a/src/utils/vst_genmake.cpp b/src/utils/vst_genmake.cpp
+index 9eeedeb..f47f783 100644
+--- a/src/utils/vst_genmake.cpp
++++ b/src/utils/vst_genmake.cpp
+@@ -100,6 +100,11 @@ namespace lsp
+         }
+ 
+         fprintf(out, "# Auto generated makefile, do not edit\n\n");
++        fprintf(out, "MAKE_OPTS              += VERBOSE=$(VERBOSE)\n");
++        fprintf(out, "ifneq ($(VERBOSE),1)\n");
++        fprintf(out, ".SILENT:\n");
++        fprintf(out, "endif\n");
++        fprintf(out, "\n");
+ 
+         fprintf(out, "FILES                   = $(patsubst %%.cpp, %%.so, $(wildcard *.cpp))\n");
+         fprintf(out, "FILE                    = $(@:%%.so=%%.cpp)\n");
+@@ -110,8 +115,8 @@ namespace lsp
+         fprintf(out, "all: $(FILES)\n\n");
+ 
+         fprintf(out, "$(FILES):\n");
+-        fprintf(out, "\t@echo \"  $(CXX) $(FILE)\"\n");
+-        fprintf(out, "\t@$(CXX) -o $(@) $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE) $(FILE) $(SO_FLAGS) $(DL_LIBS)\n\n");
++        fprintf(out, "\techo \"  $(CXX) $(FILE)\"\n");
++        fprintf(out, "\t$(CXX) -o $(@) $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE) $(FILE) $(SO_FLAGS) $(DL_LIBS)\n\n");
+ 
+         // Close file
+         fclose(out);
diff --git a/srcpkgs/lsp-plugins/patches/03-improve-cross.patch b/srcpkgs/lsp-plugins/patches/03-improve-cross.patch
new file mode 100644
index 000000000000..6c9799762003
--- /dev/null
+++ b/srcpkgs/lsp-plugins/patches/03-improve-cross.patch
@@ -0,0 +1,590 @@
+diff --git a/.gitignore b/.gitignore
+index 5bc0ecb..4a1edec 100644
+--- a/.gitignore
++++ b/.gitignore
+@@ -3,6 +3,7 @@
+ /design/*
+ /.builconfig/*
+ /.build/*
++/.host_build/*
+ /.buildconfig/*
+ /.test/*
+ /.release/*
+diff --git a/.gitmodules b/.gitmodules
+index ac5ea32..4480c1f 100644
+--- a/.gitmodules
++++ b/.gitmodules
+@@ -1,3 +1,3 @@
+ [submodule "Polynomial-Wiener-Hammerstein"]
+ 	path = Polynomial-Wiener-Hammerstein
+-	url = ../../CrocoDuckoDucks/Polynomial-Wiener-Hammerstein.git
++	url = https://github.com/CrocoDuckoDucks/Polynomial-Wiener-Hammerstein
+diff --git a/Makefile b/Makefile
+index 79ddcc6..34ccb79 100644
+--- a/Makefile
++++ b/Makefile
+@@ -24,8 +24,10 @@ export RESDIR           = ${CURDIR}/res
+ export RELEASE          = ${CURDIR}/.release
+ export RELEASE_BIN      = $(RELEASE)/$(BUILD_SYSTEM)-$(BUILD_PROFILE)
+ export BUILDDIR         = ${CURDIR}/.build
++export HOST_BUILDDIR    = ${CURDIR}/.host_build
+ export TESTDIR          = ${CURDIR}/.test
+ OBJDIR                  = $(BUILDDIR)
++export HOST_OBJDIR      = $(HOST_BUILDDIR)
+ 
+ # Installation locations
+ BIN_PATH               ?= $(PREFIX)/bin
+@@ -41,20 +43,23 @@ VST_PATH                = $(LIB_PATH)/vst
+ export BASEDIR          = ${CURDIR}
+ 
+ # Objects
+-export OBJ_CORE         = $(OBJDIR)/core.o
+-export OBJ_DSP          = $(OBJDIR)/dsp.o
+-export OBJ_CTL_CORE     = $(OBJDIR)/ctl_core.o
+-export OBJ_TK_CORE      = $(OBJDIR)/tk_core.o
+-export OBJ_WS_CORE      = $(OBJDIR)/ws_core.o
+-export OBJ_WS_X11_CORE  = $(OBJDIR)/ws_x11_core.o
+-export OBJ_UI_CORE      = $(OBJDIR)/ui_core.o
+-export OBJ_RES_CORE     = $(OBJDIR)/res_core.o
+-export OBJ_TEST_CORE    = $(OBJDIR)/test_core.o
+-export OBJ_TESTING_CORE = $(OBJDIR)/testing_core.o
+-export OBJ_PLUGINS      = $(OBJDIR)/plugins.o
+-export OBJ_PLUGIN_UIS	= $(OBJDIR)/plugin_uis.o
+-export OBJ_METADATA     = $(OBJDIR)/metadata.o
+-export OBJ_FILES        = $(OBJ_CORE) $(OBJ_UI_CORE) $(OBJ_RES_CORE) $(OBJ_PLUGINS) $(OBJ_METADATA)
++export OBJ_CORE          = $(OBJDIR)/core.o
++export HOST_OBJ_CORE     = $(HOST_OBJDIR)/core.o
++export OBJ_DSP           = $(OBJDIR)/dsp.o
++export HOST_OBJ_DSP      = $(HOST_OBJDIR)/dsp.o
++export OBJ_CTL_CORE      = $(OBJDIR)/ctl_core.o
++export OBJ_TK_CORE       = $(OBJDIR)/tk_core.o
++export OBJ_WS_CORE       = $(OBJDIR)/ws_core.o
++export OBJ_WS_X11_CORE   = $(OBJDIR)/ws_x11_core.o
++export OBJ_UI_CORE       = $(OBJDIR)/ui_core.o
++export OBJ_RES_CORE      = $(OBJDIR)/res_core.o
++export OBJ_TEST_CORE     = $(OBJDIR)/test_core.o
++export OBJ_TESTING_CORE  = $(OBJDIR)/testing_core.o
++export OBJ_PLUGINS       = $(OBJDIR)/plugins.o
++export OBJ_PLUGIN_UIS	 = $(OBJDIR)/plugin_uis.o
++export OBJ_METADATA      = $(OBJDIR)/metadata.o
++export HOST_OBJ_METADATA = $(HOST_OBJDIR)/metadata.o
++export OBJ_FILES         = $(OBJ_CORE) $(OBJ_UI_CORE) $(OBJ_RES_CORE) $(OBJ_PLUGINS) $(OBJ_METADATA)
+ 
+ # Libraries
+ export LIB_LADSPA       = $(OBJDIR)/$(ARTIFACT_ID)-ladspa.so
+@@ -68,11 +73,14 @@ export BIN_PROFILE      = $(OBJDIR)/$(ARTIFACT_ID)-profile
+ export BIN_TEST         = $(OBJDIR)/$(ARTIFACT_ID)-test
+ 
+ # Utils
+-export UTL_GENTTL       = $(OBJDIR)/lv2_genttl.exe
+-export UTL_VSTMAKE      = $(OBJDIR)/vst_genmake.exe
+-export UTL_JACKMAKE     = $(OBJDIR)/jack_genmake.exe
+-export UTL_GENPHP       = $(OBJDIR)/gen_php.exe
+-export UTL_RESGEN       = $(OBJDIR)/gen_resources.exe
++ifeq ($(BUILD_SYSTEM),Windows)
++  BIN_SUFFIX := .exe
++endif
++export UTL_GENTTL       = $(HOST_OBJDIR)/lv2_genttl$(BIN_SUFFIX)
++export UTL_VSTMAKE      = $(HOST_OBJDIR)/vst_genmake$(BIN_SUFFIX)
++export UTL_JACKMAKE     = $(HOST_OBJDIR)/jack_genmake$(BIN_SUFFIX)
++export UTL_GENPHP       = $(HOST_OBJDIR)/gen_php$(BIN_SUFFIX)
++export UTL_RESGEN       = $(HOST_OBJDIR)/gen_resources$(BIN_SUFFIX)
+ export UTL_FILES        = $(UTL_GENTTL) $(UTL_VSTMAKE) $(UTL_GENPHP) $(UTL_RESGEN)
+ 
+ # Files
+@@ -102,7 +110,8 @@ default: all
+ all: export CFLAGS          += -O2 -DLSP_NO_EXPERIMENTAL
+ all: export CXXFLAGS        += -O2 -DLSP_NO_EXPERIMENTAL
+ all: export EXE_FLAGS       += -pie -fPIE
+-all: compile
++all: utils compile
++
+ 
+ experimental: export CFLAGS += -O2
+ experimental: export CXXFLAGS += -O2
+@@ -161,14 +170,14 @@ profile: compile
+ compile_info:
+ 	@echo "-------------------------------------------------------------------------------"
+ 	@echo "Building binaries"
+-	@echo "  target architecture : $(BUILD_PROFILE)"
+-	@echo "  target platform     : $(BUILD_PLATFORM)"
+-	@echo "  target system       : $(BUILD_SYSTEM)"
+-	@echo "  compiler            : $(BUILD_COMPILER)"
+-	@echo "  modules             : $(BUILD_MODULES)"
+-	@echo "  UI                  : LV2=$(LV2_UI), VST=$(VST_UI)"
+-	@echo "  3D rendering        : $(BUILD_R3D_BACKENDS)"
+-	@echo "  build directory     : $(OBJDIR)"
++	@echo "  platform             : $(BUILD_PLATFORM)"
++	@echo "  system               : $(BUILD_SYSTEM)"
++	@echo "  target compiler      : $(CXX)"
++	@echo "  target architecture  : $(BUILD_PROFILE)"
++	@echo "  modules              : $(BUILD_MODULES)"
++	@echo "  UI                   : LV2=$(LV2_UI), VST=$(VST_UI)"
++	@echo "  3D rendering         : $(BUILD_R3D_BACKENDS)"
++	@echo "  build directory      : $(OBJDIR)"
+ 	@echo "-------------------------------------------------------------------------------"
+ 
+ compile: | compile_info
+@@ -186,8 +195,32 @@ test_compile: | compile_info
+ 	$(MAKE) $(MAKE_OPTS) -C src all OBJDIR=$(OBJDIR)/src
+ 	@echo "Test Build OK"
+ 
++utils: export BUILD_PROFILE=$(HOST_BUILD_PROFILE)
++utils: export OBJDIR=$(HOST_OBJDIR)
++utils: export OBJ_CORE=$(HOST_OBJ_CORE)
++utils: export OBJ_DSP=$(HOST_OBJ_DSP)
++utils: export OBJ_METADATA=$(HOST_OBJ_METADATA)
++utils: export CXX=$(HOST_CXX)
++utils: export CXXFLAGS=$(HOST_CXXFLAGS)
++utils: export LD=$(HOST_LD)
++utils: export SNDFILE_HEADERS=$(HOST_SNDFILE_HEADERS)
++utils: export SNDFILE_LIBS=$(HOST_SNDFILE_LIBS)
++utils: export LV2_HEADERS=$(HOST_LV2_HEADERS)
++utils: export LV2_LIBS=$(HOST_LV2_LIBS)
++utils: | compile_info
++	@echo "CXX $(CXX)"
++	@echo "CXXFLAGS $(CXXFLAGS)"
++	@echo "LD $(LD)"
++	@echo "BUILD_PROFILE $(BUILD_PROFILE)"
++	@echo "OBJ_DSP $(OBJ_DSP)"
++	@echo "OBJ_CORE $(OBJ_CORE)"
++	mkdir -p $(HOST_OBJDIR)/src/utils
++	$(MAKE) $(MAKE_OPTS) -C src utils
++	@echo "Utils Build OK"
++
+ clean:
+ 	-rm -rf $(BUILDDIR)
++	-rm -rf $(HOST_BUILDDIR)
+ 	-rm -rf $(TESTDIR)
+ 	-rm -rf $(CFGDIR)
+ 	@echo "Clean OK"
+diff --git a/include/metadata/metadata.h b/include/metadata/metadata.h
+index 0efaa9d..e009750 100644
+--- a/include/metadata/metadata.h
++++ b/include/metadata/metadata.h
+@@ -73,10 +73,18 @@
+     #define LSP_ARCHITECTURE                                "unknown"
+ #endif /* ARCH */
+ 
++#define STRINGIFY_(x) #x
++#define STRINGIFY(x) STRINGIFY_(x)
++
+ #ifndef LSP_MAIN_VERSION
+     #define LSP_MAIN_VERSION                                "0.0.0"
++#else
++    #define LSP_MAIN_VERSION_STR STRINGIFY(LSP_MAIN_VERSION)
++    #undef LSP_MAIN_VERSION
++    #define LSP_MAIN_VERSION LSP_MAIN_VERSION_STR
+ #endif /* LSP_MAIN_VERSION */
+ 
++
+ #define LSP_LV2_LATENCY_PORT                            "out_latency"
+ #define LSP_LV2_ATOM_PORT_IN                            "in_ui"
+ #define LSP_LV2_MIDI_PORT_IN                            "in_midi"
+@@ -86,7 +94,7 @@
+ #define LSP_LV2_OSC_PORT_OUT                            "out_osc"
+ 
+ #ifdef LSP_INSTALL_PREFIX
+-    #define LSP_LIB_PREFIX(x)       LSP_INSTALL_PREFIX x
++    #define LSP_LIB_PREFIX(x)       STRINGIFY(LSP_INSTALL_PREFIX) x
+ #else
+     #define LSP_LIB_PREFIX(x)       x
+ #endif /* PREFIX */
+diff --git a/scripts/make/configure.mk b/scripts/make/configure.mk
+index 09aee9a..4e2764b 100644
+--- a/scripts/make/configure.mk
++++ b/scripts/make/configure.mk
+@@ -14,7 +14,8 @@ ifndef BUILD_R3D_BACKENDS
+   BUILD_R3D_BACKENDS     := $(shell if (test -f "$(CFGDIR)/$(R3D_BACKENDS_FILE)" )  then cat "$(CFGDIR)/$(R3D_BACKENDS_FILE)" 2>/dev/null; else echo "glx"; fi;)
+ endif
+ 
+-BUILD_COMPILER         := $(shell $(CC) --version | head -n 1 || echo "unknown")
++BUILD_COMPILER         := $(shell $(CXX) --version | head -n 1 || echo "unknown")
++HOST_BUILD_COMPILER    := $(shell $(HOST_CXX) --version | head -n 1 || echo "unknown")
+ 
+ export BUILD_MODULES
+ export BUILD_R3D_BACKENDS
+@@ -23,7 +24,7 @@ export BUILD_R3D_BACKENDS
+ INSTALLATIONS           =
+ UNINSTALLATIONS         = uninstall_xdg
+ RELEASES                =
+-INCLUDE                 = -I"${CURDIR}/include"
++INCLUDE                 := -I"${CURDIR}/include"
+ 
+ ifeq ($(findstring ladspa,$(BUILD_MODULES)),ladspa)
+   INSTALLATIONS          += install_ladspa
+@@ -65,25 +66,25 @@ CC_ARCH         =
+ # Build profile
+ ifeq ($(BUILD_PROFILE),i586)
+   CC_ARCH          = -m32
+-  ifeq ($(BUILD_PLATFORM), Linux)
++  ifeq ($(HOST_BUILD_PLATFORM), Linux)
+     LD_ARCH          = -m elf_i386
+   endif
+-  ifeq ($(BUILD_PLATFORM), BSD)
++  ifeq ($(HOST_BUILD_PLATFORM), BSD)
+     LD_ARCH          = -m elf_i386_fbsd
+   endif
+ endif
+ 
+ ifeq ($(BUILD_PROFILE),x86_64)
+   CC_ARCH          = -m64
+-  ifeq ($(BUILD_PLATFORM), Linux)
++  ifeq ($(HOST_BUILD_PLATFORM), Linux)
+     LD_ARCH          = -m elf_x86_64
+   endif
+-  ifeq ($(BUILD_PLATFORM), BSD)
++  ifeq ($(HOST_BUILD_PLATFORM), BSD)
+     LD_ARCH          = -m elf_x86_64_fbsd
+   endif
+ endif
+ 
+-ifeq ($(BUILD_PLATFORM), BSD)
++ifeq ($(HOST_BUILD_PLATFORM), BSD)
+   INCLUDE          += -I/usr/local/include
+   ifeq ($(BUILD_PROFILE),arm)
+     CC_ARCH          = -marm
+@@ -136,9 +137,13 @@ else
+   export XLIB_HEADERS     = $(shell pkg-config --cflags x11)
+   export XLIB_LIBS        = $(shell pkg-config --libs x11)
+   export LV2_HEADERS      = $(shell pkg-config --cflags lv2)
+-  export LV2_LIBS         = $(shell pkg-config --libs lv2)
++  export LV2_HEADERS      = $(shell pkg-config --libs lv2)
++  export HOST_LV2_HEADERS   = $(shell /usr/bin/pkg-config --cflags lv2)
++  export HOST_LV2_LIBS      = $(shell /usr/bin/pkg-config --libs lv2)
+   export SNDFILE_HEADERS  = $(shell pkg-config --cflags sndfile)
+   export SNDFILE_LIBS     = $(shell pkg-config --libs sndfile)
++  export HOST_SNDFILE_HEADERS = $(shell /usr/bin/pkg-config --cflags sndfile)
++  export HOST_SNDFILE_LIBS    = $(shell /usr/bin/pkg-config --libs sndfile)
+   export JACK_HEADERS     = $(shell pkg-config --cflags jack)
+   export JACK_LIBS        = $(shell pkg-config --libs jack)
+   export OPENGL_HEADERS   = $(shell pkg-config --cflags gl 2>/dev/null || echo "")
+diff --git a/scripts/make/set_vars.mk b/scripts/make/set_vars.mk
+index a22531a..3222d5b 100644
+--- a/scripts/make/set_vars.mk
++++ b/scripts/make/set_vars.mk
+@@ -15,30 +15,30 @@ ifndef BUILD_SYSTEM
+   endif
+ endif
+ 
+-ifndef BUILD_PLATFORM
+-  BUILD_PLATFORM  = Unknown
++ifndef HOST_BUILD_PLATFORM
++  HOST_BUILD_PLATFORM  = Unknown
+ 
+   ifeq ($(BUILD_SYSTEM),Windows)
+-    BUILD_PLATFORM          = Windows
++    HOST_BUILD_PLATFORM          = Windows
+   endif
+   ifeq ($(findstring BSD,$(BUILD_SYSTEM)),BSD)
+-    BUILD_PLATFORM          = BSD
++    HOST_BUILD_PLATFORM          = BSD
+   endif
+   ifeq ($(findstring Linux,$(BUILD_SYSTEM)),Linux)
+-    BUILD_PLATFORM          = Linux
++    HOST_BUILD_PLATFORM          = Linux
+   endif
+   ifeq ($(findstring SunOS,$(BUILD_SYSTEM)),SunOS)
+-    BUILD_PLATFORM          = Solaris
++    HOST_BUILD_PLATFORM          = Solaris
+   endif
+ endif
+ 
+ export BUILD_SYSTEM
+-export BUILD_PLATFORM
++export HOST_BUILD_PLATFORM
+ export LV2_UI
+ export VST_UI
+ 
+-# Detect processor architecture
+-ifeq ($(BUILD_PLATFORM),Windows)
++# Detect target processor architecture
++ifeq ($(HOST_BUILD_PLATFORM),Windows)
+   ifndef BUILD_PROFILE
+     BUILD_ARCH                = i586
+     BUILD_PROFILE             = i586
+@@ -51,9 +51,9 @@ ifeq ($(BUILD_PLATFORM),Windows)
+       BUILD_PROFILE             = x86_64
+     endif
+   endif
+-else # BUILD_PLATFORM != Windows
++else # HOST_BUILD_PLATFORM != Windows
+   ifndef BUILD_PROFILE
+-    BUILD_ARCH              = $(shell cat "$(OBJDIR)/$(BUILD_PROFILE_FILE)" 2>/dev/null || uname -m)
++    BUILD_ARCH              ?= $(shell cat "$(OBJDIR)/$(BUILD_PROFILE_FILE)" 2>/dev/null || uname -m)
+     BUILD_PROFILE           = $(BUILD_ARCH)
+     ifeq ($(patsubst armv6%,armv6,$(BUILD_ARCH)), armv6)
+       BUILD_PROFILE           = armv6a
+@@ -80,7 +80,6 @@ else # BUILD_PLATFORM != Windows
+       BUILD_PROFILE           = i586
+     endif
+   endif
+-endif # BUILD_PLATFORM != Windows
++endif # HOST_BUILD_PLATFORM != Windows
+ 
+ export BUILD_PROFILE
+-
+diff --git a/scripts/make/tools.mk b/scripts/make/tools.mk
+index 565dbb1..36f59f8 100644
+--- a/scripts/make/tools.mk
++++ b/scripts/make/tools.mk
+@@ -1,7 +1,9 @@
+ # Setup preferred tools
+ TOOL_LD                 = ld
++TOOL_HOST_LD            = ld
+ TOOL_CC                 = gcc
+ TOOL_CXX                = g++
++TOOL_HOST_CXX           = g++
+ TOOL_PHP                = php
+ 
+ # Setup preferred flags
+@@ -14,29 +16,34 @@ FLAG_CTUNE              = -std=c++98 \
+                           -pipe -Wall
+ 
+ # Patch flags and tools
+-ifeq ($(BUILD_PLATFORM),Solaris)
++ifeq ($(HOST_BUILD_PLATFORM),Solaris)
+   FLAG_RELRO              =
+   TOOL_LD                 = gld
++  TOOL_HOST_LD            = gld
+ endif
+ 
+ # Setup system variables
+ CC              		 ?= $(TOOL_CC)
+ CXX                      ?= $(TOOL_CXX)
++HOST_CXX                 ?= $(TOOL_HOST_CXX)
+ PHP                      ?= $(TOOL_PHP)
+ LD                       ?= $(TOOL_LD)
++HOST_LD                  ?= $(TOOL_HOST_LD)
+ 
+ CFLAGS                   += $(CC_ARCH) $(FLAG_CTUNE) $(CC_FLAGS) $(FLAG_VERSION)
+ CXXFLAGS                 += $(CC_ARCH) $(FLAG_CTUNE) $(CC_FLAGS) $(FLAG_VERSION)
+-SO_FLAGS                  = $(CC_ARCH) $(FLAG_RELRO) -Wl,--gc-sections -shared -Llibrary -lc -fPIC
+-MERGE_FLAGS               = $(LD_ARCH) -r
+-EXE_TEST_FLAGS            = $(LDFLAGS) $(CC_ARCH)
+-EXE_FLAGS                 = $(LDFLAGS) $(CC_ARCH) $(FLAG_RELRO) -Wl,--gc-sections
++HOST_CXXFLAGS            += $(FLAG_CTUNE) $(CC_FLAGS) $(FLAG_VERSION)
++SO_FLAGS                 += $(CC_ARCH) $(FLAG_RELRO) -Wl,--gc-sections -shared -Llibrary -lc -fPIC
++MERGE_FLAGS              += $(LD_ARCH) -r
++EXE_TEST_FLAGS           += $(LDFLAGS) $(CC_ARCH)
++EXE_FLAGS                += $(LDFLAGS) $(CC_ARCH) $(FLAG_RELRO) -Wl,--gc-sections
++HOST_EXE_FLAGS           += $(HOST_LDFLAGS) $(FLAG_RELRO) -Wl,--gc-sections
+ 
+-ifeq ($(BUILD_PLATFORM), Linux)
++ifeq ($(HOST_BUILD_PLATFORM), Linux)
+   SO_FLAGS                 += -Wl,--no-undefined
+ endif
+ 
+-ifeq ($(BUILD_PLATFORM),BSD)
++ifeq ($(HOST_BUILD_PLATFORM),BSD)
+   EXE_FLAGS                += -L/usr/local/lib
+ endif
+ 
+@@ -58,12 +65,16 @@ endif
+ 
+ export CC
+ export CXX
++export HOST_CXX
+ export PHP
+ export LD
++export HOST_LD
+ 
+ export CFLAGS
+ export CXXFLAGS
++export HOST_CXXFLAGS
+ export SO_FLAGS
+ export MERGE_FLAGS
+ export EXE_TEST_FLAGS
+ export EXE_FLAGS
++export HOST_EXE_FLAGS
+diff --git a/src/Makefile b/src/Makefile
+index d960ad8..5f856e7 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -1,3 +1,5 @@
++# Estimate different pre-requisites before launching build
++
+ # Command-line flag to silence nested $(MAKE).
+ MAKE_OPTS              += VERBOSE=$(VERBOSE)
+ ifneq ($(VERBOSE),1)
+@@ -7,7 +9,8 @@ endif
+ SUBDIRS                 = core metadata utils 
+ MODULES                 = $(SUBDIRS)
+ CONTAINER_DEPS          = $(OBJ_METADATA) $(OBJ_CORE) $(UTL_FILES)
+-UTL_DEPS                = $(OBJ_CORE) $(OBJ_DSP) $(OBJ_METADATA)
++UTL_DEPS                = $(HOST_OBJ_CORE) $(HOST_OBJ_DSP) $(HOST_OBJ_METADATA)
++OBJDIR                  ?= $(BUILDDIR)
+ 
+ NEED_UI                 = 0
+ NEED_PLUGINS            = 0
+@@ -73,19 +76,44 @@ target: all
+ 
+ # Rules
+ $(SUBDIRS):
++	@echo "$(BUILDDIR)"
+ 	@echo "Building $(@)"
++	@echo "OBJDIR=$(OBJDIR)"
++	@echo "SNDFILE_HEADERS=$(SNDFILE_HEADERS)"
++	@echo "SNDFILE_LIBS=$(SNDFILE_LIBS)"
++	@echo "LV2_HEADERS=$(LV2_HEADERS)"
++	@echo "LV2_LIBS=$(LV2_LIBS)"
++	@echo "HOST_SNDFILE_HEADERS=$(HOST_SNDFILE_HEADERS)"
++	@echo "HOST_SNDFILE_LIBS=$(HOST_SNDFILE_LIBS)"
++	@echo "HOST_LV2_HEADERS=$(HOST_LV2_HEADERS)"
++	@echo "HOST_LV2_LIBS=$(HOST_LV2_LIBS)"
+ 	mkdir -p $(OBJDIR)/$(@)
+-	$(MAKE) $(MAKE_OPTS) -C $@ $(MAKECMDGOALS) OBJDIR=$(OBJDIR)/$(@)
++	$(MAKE) $(MAKE_OPTS) -C $@ all \
++		CXX="$(CXX)" \
++		CXXFLAGS="$(CXXFLAGS)" \
++		LD="$(LD)" \
++		OBJDIR="$(OBJDIR)/$(@)" \
++		BUILD_PROFILE="$(BUILD_PROFILE)" \
++		SNDFILE_HEADERS="$(SNDFILE_HEADERS)" \
++		SNDFILE_LIBS="$(SNDFILE_LIBS)" \
++		LV2_HEADERS="$(LV2_HEADERS)" \
++		LV2_LIBS="$(LV2_LIBS)"
+ 
+ # Object dependencies
+ $(OBJ_CORE): core
+ 
++$(HOST_OBJ_CORE): core
++
+ $(OBJ_DSP): dsp
+ 
++$(HOST_OBJ_DSP): dsp
++
+ $(OBJ_PLUGINS): plugins
+ 
+ $(OBJ_METADATA): metadata
+ 
++$(HOST_OBJ_METADATA): metadata
++
+ $(OBJ_UI_CORE): ui
+ 
+ $(UTL_FILES): utils
+diff --git a/src/container/Makefile b/src/container/Makefile
+index 23a2e7a..46d79a0 100644
+--- a/src/container/Makefile
++++ b/src/container/Makefile
+@@ -39,7 +39,7 @@ endif
+ UI_OBJFILES             = $(OBJ_UI_CORE) $(OBJ_RES_CORE)
+ UI_LIBS                 = $(XLIB_LIBS) $(CAIRO_LIBS)
+ 
+-ifeq ($(BUILD_PLATFORM),BSD)
++ifeq ($(HOST_BUILD_PLATFORM),BSD)
+   LIBS                   += $(ICONV_LIBS)
+ endif
+ 
+diff --git a/src/dsp/Makefile b/src/dsp/Makefile
+index aac8007..ae11e0d 100644
+--- a/src/dsp/Makefile
++++ b/src/dsp/Makefile
+@@ -39,7 +39,7 @@ endif
+ ifeq ($(BUILD_PROFILE), x86_64)
+ LINK_OBJECTS           += $(X86_IMPL) $(SSE_IMPL) $(SSE2_IMPL) $(SSE3_IMPL) $(SSE4_IMPL) $(AVX_IMPL) $(AVX2_IMPL)
+ endif
+-ifeq ($(BUILD_PLATFORM), BSD)
++ifeq ($(HOST_BUILD_PLATFORM), BSD)
+   ifeq ($(BUILD_PROFILE), arm)
+     LINK_OBJECTS           += $(ARM_IMPL) $(NEON_D32_IMPL)
+   endif
+diff --git a/src/utils/Makefile b/src/utils/Makefile
+index fbddcaa..ae8baf9 100644
+--- a/src/utils/Makefile
++++ b/src/utils/Makefile
+@@ -4,16 +4,22 @@ ifneq ($(VERBOSE),1)
+ .SILENT:
+ endif
+ 
++CXX                     = $(HOST_CXX)
++CXXFLAGS                = $(HOST_CXXFLAGS)
++MAKE_OPTS              += CXX=$(HOST_CXX) CXXFLAGS=$(HOST_CXXFLAGS)
++
+ MODULES                 = $(UTL_RESGEN) 
+ FILELIST                = resource_gen.o 
+ FILE                    = $(@:$(OBJDIR)/%.o=%.cpp)
+ SUBDIRS                 =
+-OBJ_FILES               = $(OBJ_CORE) $(OBJ_METADATA)
++OBJ_FILES               = $(HOST_OBJ_CORE) $(HOST_OBJ_METADATA) $(HOST_OBJ_DSP)
+ OBJ_LIBS                = $(PTHREAD_LIBS) $(MATH_LIBS)
+ OBJ_EXTRA               =
+ INCLUDE_EXTRA           =
+ 
+-ifeq ($(BUILD_PLATFORM),BSD)
++export PKG_CONFIG_SYSROOT_DIR = /
++
++ifeq ($(HOST_BUILD_PLATFORM),BSD)
+   OBJ_LIBS               += $(ICONV_LIBS)
+ endif
+ 
+@@ -24,7 +30,7 @@ endif
+ ifeq ($(findstring lv2,$(BUILD_MODULES)),lv2)
+   MODULES                += $(UTL_GENTTL)
+   FILELIST               += lv2_genttl.o
+-  INCLUDE_EXTRA          += $(LV2_HEADERS)
++  INCLUDE_EXTRA          += $(HOST_LV2_HEADERS)
+ endif
+ ifeq ($(findstring vst,$(BUILD_MODULES)),vst)
+   MODULES                += $(UTL_VSTMAKE)
+@@ -50,32 +56,33 @@ target: all
+ # Common rules
+ $(SUBDIRS):
+ 	@echo "Building $@"
++	@echo "CXX=$(CXX)"
++	@echo "CXXFLAGS=$(CXXFLAGS)"
++	@echo "MAKE_OPTS=$(MAKE_OPTS)"
+ 	mkdir -p $(OBJDIR)/$(@)
+ 	$(MAKE) $(MAKE_OPTS) -C $@ $(MAKECMDGOALS) OBJDIR=$(OBJDIR)/$(@)
+ 
+ $(FILES):
+-	@echo "  $(CXX) $(FILE)"
+-	$(CXX) -o $(@) -c $(FILE) $(CPPFLAGS) -fPIC $(CXXFLAGS) $(INCLUDE) $(INCLUDE_EXTRA)
++	@echo "  $(HOST_CXX) $(FILE)"
++	$(HOST_CXX) -o $(@) -c $(FILE) $(CPPFLAGS) -fPIC $(HOST_CXXFLAGS) $(INCLUDE) $(INCLUDE_EXTRA)
+ 
+ # Rules for each utility
+-$(UTL_GENTTL): $(FILES) $(SUBDIRS)
+-	@echo "  $(CXX) $(notdir $(UTL_GENTTL))"
+-	$(CXX) -o $(UTL_GENTTL) $(OBJDIR)/lv2_genttl.o $(OBJ_FILES) $(EXE_FLAGS) $(SNDFILE_LIBS) $(DL_LIBS) $(OBJ_LIBS) $(LV2_LIBS)
++$(UTL_GENTTL): $(OBJ_FILES) $(FILES) $(SUBDIRS)
++	@echo "  $(HOST_CXX) $(notdir $(UTL_GENTTL))"
++	$(HOST_CXX) -o $(UTL_GENTTL) $(OBJDIR)/lv2_genttl.o $(OBJ_FILES) $(HOST_EXE_FLAGS) $(HOST_SNDFILE_LIBS) $(DL_LIBS) $(OBJ_LIBS) $(LV2_LIBS)
+ 	
+-$(UTL_JACKMAKE): $(FILES) $(SUBDIRS)
+-	@echo "  $(CXX) $(notdir $(UTL_JACKMAKE))"
+-	$(CXX) -o $(UTL_JACKMAKE) $(OBJDIR)/jack_genmake.o $(OBJ_FILES) $(EXE_FLAGS) $(SNDFILE_LIBS) $(DL_LIBS) $(OBJ_LIBS)
++$(UTL_JACKMAKE): $(OBJ_FILES) $(FILES) $(SUBDIRS)
++	@echo "  $(HOST_CXX) $(notdir $(UTL_JACKMAKE))"
++	$(HOST_CXX) -o $(UTL_JACKMAKE) $(OBJDIR)/jack_genmake.o $(OBJ_FILES) $(HOST_EXE_FLAGS) $(HOST_SNDFILE_LIBS) $(DL_LIBS) $(OBJ_LIBS)
+ 	
+-$(UTL_VSTMAKE): $(FILES) $(SUBDIRS)
+-	@echo "  $(CXX) $(notdir $(UTL_VSTMAKE))"
+-	$(CXX) -o $(UTL_VSTMAKE) $(OBJDIR)/vst_genmake.o $(OBJ_FILES) $(EXE_FLAGS) $(DL_LIBS) $(OBJ_LIBS)
++$(UTL_VSTMAKE): $(OBJ_FILES) $(FILES) $(SUBDIRS)
++	@echo "  $(HOST_CXX) $(notdir $(UTL_VSTMAKE))"
++	$(HOST_CXX) -o $(UTL_VSTMAKE) $(OBJDIR)/vst_genmake.o $(OBJ_FILES) $(HOST_EXE_FLAGS) $(DL_LIBS) $(OBJ_LIBS)
+ 	
+-$(UTL_GENPHP): $(FILES) $(SUBDIRS)
+-	@echo "  $(CXX) $(notdir $(UTL_GENPHP))"
+-	$(CXX) -o $(UTL_GENPHP) $(OBJDIR)/gen_php.o $(OBJ_FILES) $(EXE_FLAGS) $(SNDFILE_LIBS) $(DL_LIBS) $(OBJ_LIBS)
+-	
+-$(UTL_RESGEN): $(FILES) $(SUBDIRS)
+-	@echo "  $(CXX) $(notdir $(UTL_RESGEN))"
+-	$(CXX) -o $(UTL_RESGEN) $(OBJDIR)/resource_gen.o $(OBJ_FILES) $(OBJ_DSP) $(OBJ_EXTRA) $(EXE_FLAGS) $(SNDFILE_LIBS) $(DL_LIBS) $(OBJ_LIBS)
+-
++$(UTL_GENPHP): $(OBJ_FILES) $(FILES) $(SUBDIRS)
++	@echo "  $(HOST_CXX) $(notdir $(UTL_GENPHP))"
++	$(HOST_CXX) -o $(UTL_GENPHP) $(OBJDIR)/gen_php.o $(OBJ_FILES) $(HOST_EXE_FLAGS) $(HOST_SNDFILE_LIBS) $(DL_LIBS) $(OBJ_LIBS)
+ 	
++$(UTL_RESGEN): $(OBJ_FILES) $(FILES) $(SUBDIRS)
++	@echo "  $(HOST_CXX) $(notdir $(UTL_RESGEN))"
++	$(HOST_CXX) -o $(UTL_RESGEN) $(OBJDIR)/resource_gen.o $(OBJ_FILES) $(OBJ_EXTRA) $(HOST_EXE_FLAGS) $(HOST_SNDFILE_LIBS) $(DL_LIBS) $(OBJ_LIBS)
+diff --git a/tmp/.gitignore b/tmp/.gitignore
+deleted file mode 100644
+index 22e8364..0000000
+--- a/tmp/.gitignore
++++ /dev/null
+@@ -1 +0,0 @@
+-/*
+\ No newline at end of file
diff --git a/srcpkgs/lsp-plugins/template b/srcpkgs/lsp-plugins/template
new file mode 100644
index 000000000000..ed4191906125
--- /dev/null
+++ b/srcpkgs/lsp-plugins/template
@@ -0,0 +1,76 @@
+# Template file for 'lsp-plugins'
+pkgname=lsp-plugins
+version=1.1.30
+revision=1
+build_style=gnu-makefile
+make_build_args="VERBOSE=1"
+make_check_args=$make_build_args
+make_install_target="install install_xdg"
+make_use_env=yes
+hostmakedepends="pkg-config php lv2 libsndfile-devel"
+makedepends="libsndfile-devel libX11-devel libglvnd-devel lv2 cairo-devel ladspa-sdk jack-devel"
+short_desc="Collection of free plugins"
+maintainer="Artur Sinila <freesoftware@logarithmus.dev>"
+license="LGPL-3.0-or-later"
+homepage="https://lsp-plug.in/"
+distfiles="https://github.com/sadko4u/lsp-plugins/archive/refs/tags/${version}.tar.gz"
+checksum=9cf43257729093c240375b3640b1514dff34b092b83b54a5ee68d7e8565c8f80
+
+# https://github.com/sadko4u/lsp-plugins/issues/191#issuecomment-812847630
+export BUILD_ARCH=${XBPS_TARGET_MACHINE%%-musl}
+export HOST_BUILD_PROFILE=${XBPS_MACHINE%%-musl}
+export HOST_CXXFLAGS=$CXXFLAGS_host
+export HOST_CXX=$CXX_host
+export HOST_LD=$LD_host
+
+do_check() {
+	export CXXFLAGS="$CXXFLAGS -DLSP_TESTING -DLSP_TRACE"
+	make $make_check_args test
+	.test/lsp-plugins-test utest
+}
+
+lsp-plugins-lv2_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	short_desc+=" - documentation"
+	pkg_install() {
+		vmove usr/lib/lv2
+	}
+}
+
+lsp-plugins-jack_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	short_desc+=" - JACK"
+	pkg_install() {
+		vmove usr/bin
+		vmove usr/lib/lsp-plugins/lsp-plugins-jack-core*
+		vmove usr/lib/lsp-plugins/lsp-plugins-r3d-glx.so
+		vmove usr/share/applications
+		vmove usr/share/desktop-directories
+		vmove usr/share/icons
+		vmove etc/xdg/menus
+	}
+}
+
+lsp-plugins-ladspa_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	short_desc+=" - LADSPA"
+	pkg_install() {
+		vmove usr/lib/ladspa/lsp-plugins-ladspa.so
+	}
+}
+
+lsp-plugins-vst_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	short_desc+=" - VST"
+	pkg_install() {
+		vmove usr/lib/vst
+	}
+}
+
+lsp-plugins-doc_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	short_desc+=" - documentation"
+	pkg_install() {
+		vmove usr/share/doc
+	}
+}

  parent reply	other threads:[~2021-08-01 15:47 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-26 15:59 [PR PATCH] " Logarithmus
2021-06-26 16:43 ` [PR PATCH] [Updated] " Logarithmus
2021-06-26 19:32 ` [PR REVIEW] " paper42
2021-06-26 19:32 ` ericonr
2021-06-26 19:32 ` ericonr
2021-06-27 17:03 ` Logarithmus
2021-06-27 17:05 ` Logarithmus
2021-06-27 17:06 ` Logarithmus
2021-06-27 17:27 ` [PR PATCH] [Updated] " Logarithmus
2021-06-27 18:57 ` Logarithmus
2021-06-27 19:27 ` Logarithmus
2021-07-27 22:53 ` Logarithmus
2021-07-28 18:29 ` Logarithmus
2021-07-28 19:44 ` Logarithmus
2021-07-28 19:48 ` Logarithmus
2021-07-28 19:59 ` Logarithmus
2021-07-28 20:04 ` [PR REVIEW] " paper42
2021-07-28 20:04 ` paper42
2021-07-28 20:04 ` paper42
2021-07-28 20:05 ` paper42
2021-07-28 20:06 ` Logarithmus
2021-07-28 20:08 ` [PR REVIEW] " paper42
2021-07-28 20:10 ` Logarithmus
2021-07-28 20:10 ` Logarithmus
2021-07-28 20:11 ` Logarithmus
2021-07-28 20:11 ` Logarithmus
2021-07-28 20:19 ` [PR REVIEW] " Logarithmus
2021-07-28 20:19 ` Logarithmus
2021-07-28 20:21 ` Logarithmus
2021-07-28 20:33 ` paper42
2021-07-28 20:52 ` [PR PATCH] [Updated] " Logarithmus
2021-07-28 20:57 ` Logarithmus
2021-07-28 21:27 ` [PR REVIEW] " paper42
2021-07-28 22:02 ` [PR PATCH] [Updated] " Logarithmus
2021-07-28 22:31 ` Logarithmus
2021-07-28 23:02 ` Logarithmus
2021-07-31  8:43 ` [PR REVIEW] " paper42
2021-07-31  8:43 ` paper42
2021-07-31  8:43 ` paper42
2021-07-31 10:19 ` Logarithmus
2021-07-31 10:22 ` Logarithmus
2021-07-31 10:32 ` Logarithmus
2021-07-31 10:34 ` Logarithmus
2021-07-31 10:37 ` Logarithmus
2021-07-31 10:38 ` Logarithmus
2021-07-31 10:39 ` Logarithmus
2021-07-31 11:00 ` [PR REVIEW] " paper42
2021-07-31 11:03 ` paper42
2021-07-31 19:59 ` ericonr
2021-07-31 21:35 ` abenson
2021-07-31 21:47 ` Logarithmus
2021-08-01  2:25 ` sgn
2021-08-01 15:45 ` [PR PATCH] [Updated] " Logarithmus
2021-08-01 15:47 ` Logarithmus [this message]
2021-08-02  2:34 ` Logarithmus
2021-08-02  3:46 ` Logarithmus
2021-08-02  3:57 ` Logarithmus
2021-08-10  1:26 ` Logarithmus
2021-08-10  1:28 ` Logarithmus
2021-08-10  1:49 ` Logarithmus
2021-08-10  2:09 ` Logarithmus
2021-08-10  2:28 ` [PR REVIEW] " Logarithmus
2021-08-10  2:29 ` Logarithmus
2021-08-10  2:29 ` Logarithmus
2021-08-10  2:31 ` Logarithmus
2021-08-10  2:36 ` [PR PATCH] [Updated] " Logarithmus
2022-04-11 13:16 ` prez
2022-04-11 13:21 ` Logarithmus
2022-04-11 13:21 ` [PR PATCH] [Closed]: " Logarithmus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210801154725.Oc9geMcaXSTolHa0OqT4HyTO4qnHJEnDbO0awmOdFak@z \
    --to=logarithmus@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).