Date: Thursday, October 4, 2018 @ 22:07:09 Author: dvzrv Revision: 389683
archrelease: copy trunk to community-x86_64 Added: lsp-plugins/repos/community-x86_64/ lsp-plugins/repos/community-x86_64/PKGBUILD (from rev 389682, lsp-plugins/trunk/PKGBUILD) lsp-plugins/repos/community-x86_64/relro_pie.patch (from rev 389682, lsp-plugins/trunk/relro_pie.patch) -----------------+ PKGBUILD | 48 +++ relro_pie.patch | 826 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 874 insertions(+) Copied: lsp-plugins/repos/community-x86_64/PKGBUILD (from rev 389682, lsp-plugins/trunk/PKGBUILD) =================================================================== --- community-x86_64/PKGBUILD (rev 0) +++ community-x86_64/PKGBUILD 2018-10-04 22:07:09 UTC (rev 389683) @@ -0,0 +1,48 @@ +# Maintainer: David Runge <d...@sleepmap.de> +pkgname=lsp-plugins +pkgver=1.1.4 +pkgrel=2 +pkgdesc="Collection of free plugins compatible with LADSPA, LV2 and LinuxVST" +arch=('x86_64') +url="https://lsp-plug.in" +license=('LGPL3') +groups=('ladspa-plugins' 'lv2-plugins' 'pro-audio' 'vst-plugins') +depends=('cairo' 'glu' 'jack' 'libglvnd' 'libsndfile') +makedepends=('ladspa' 'lv2' 'php') +source=("https://github.com/sadko4u/${pkgname}/archive/${pkgname}-${pkgver}.tar.gz" + 'relro_pie.patch') +sha512sums=('214af5c9cb3adf5013359768356594ba9e8d2ee214e9b10e2f51d7b1b51e6c7a7aaebff826149dcd7a9fa945cbac623422c53e46165b2091f5c35ca0d0807617' + 'fe1c477809426fc06e1c8b804fde2d88f49ae2b9adb4728c46fcdc3730f869f91dc87bece22d406283d64f76b3aae541c00e8122d0d21a14442baac4e2e855da') + +prepare() { +# local _relro="-Wl,-z,relro,-z,now" + mv -v "$pkgname-$pkgname-$pkgver" "$pkgname-$pkgver" + cd "$pkgname-$pkgver" + patch -Np1 -i ../relro_pie.patch + # removing /usr/local/lib from RPATH + sed -e '/LD_PATH/ s|:/usr/local/lib||' \ + -i Makefile +} + +build() { + local _test_path="$(pwd)/.build-test" + cd "$pkgname-$pkgver" + make + make OBJDIR=${_test_path} clean + make OBJDIR=${_test_path} test +} + +check() { + local _test_path="$(pwd)/.build-test" + cd "$pkgname-$pkgver" + ${_test_path}/lsp-plugins-test utest --nofork --debug --verbose +} + +package() { + cd "$pkgname-$pkgver" + make BIN_PATH=/usr/bin \ + LIB_PATH=/usr/lib \ + DOC_PATH=/usr/share/doc \ + DESTDIR="$pkgdir/" \ + install +} Copied: lsp-plugins/repos/community-x86_64/relro_pie.patch (from rev 389682, lsp-plugins/trunk/relro_pie.patch) =================================================================== --- community-x86_64/relro_pie.patch (rev 0) +++ community-x86_64/relro_pie.patch 2018-10-04 22:07:09 UTC (rev 389683) @@ -0,0 +1,826 @@ +diff -ruN lsp-plugins/Makefile lsp-plugins-fix/Makefile +--- lsp-plugins/Makefile 2018-10-02 19:34:33.893727476 +0200 ++++ lsp-plugins-fix/Makefile 2018-10-04 23:39:10.818524204 +0200 +@@ -88,14 +88,14 @@ + export BASEDIR = ${CURDIR} + export INCLUDE = ${INC_FLAGS} + export MAKE_OPTS = -s +-export CFLAGS = $(CC_ARCH) -std=c++98 -fPIC -fdata-sections -ffunction-sections -fno-exceptions -fno-asynchronous-unwind-tables -Wall -pthread -pipe -fno-rtti $(CC_FLAGS) -DLSP_MAIN_VERSION=\"$(VERSION)\" ++export CFLAGS = $(CC_ARCH) -std=c++98 -fdata-sections -ffunction-sections -fno-exceptions -fno-asynchronous-unwind-tables -Wall -pipe -fno-rtti $(CC_FLAGS) -DLSP_MAIN_VERSION=\"$(VERSION)\" + export CC = g++ + export PHP = php + export LD = ld + export LDFLAGS = $(LD_ARCH) -L$(LD_PATH) +-export SO_FLAGS = $(CC_ARCH) -Wl,-rpath,$(LD_PATH) -Wl,--gc-sections -shared -Llibrary -lc -lm -fPIC -lpthread ++export SO_FLAGS = $(CC_ARCH) -Wl,-rpath,$(LD_PATH) -Wl,-z,relro,-z,now -Wl,--gc-sections -shared -Llibrary -lc -fPIC + export MERGE_FLAGS = $(LD_ARCH) -r +-export EXE_FLAGS = $(CC_ARCH) -Wl,-rpath,$(LD_PATH) -Wl,--gc-sections -lm -fPIC -pthread ++export EXE_FLAGS = $(CC_ARCH) -Wl,-rpath,$(LD_PATH) -Wl,-z,relro,-z,now -Wl,--gc-sections -pie -fPIE + + # Objects + export OBJ_CORE = $(OBJDIR)/core.o +@@ -134,6 +134,9 @@ + export PHP_PLUGINS = $(OBJDIR)/plugins.php + + # Compile headers and linkage libraries ++export PTHREAD_LIBS = -lpthread ++export MATH_LIBS = -lm ++export DL_LIBS = -ldl + export CAIRO_HEADERS = $(shell pkg-config --cflags cairo) + export CAIRO_LIBS = $(shell pkg-config --libs cairo) + export XLIB_HEADERS = $(shell pkg-config --cflags x11) +@@ -164,7 +167,7 @@ + + default: all + +-all: export CFLAGS += -O2 ++all: export CFLAGS += -O2 -DLSP_NO_EXPERIMENTAL + all: compile + + trace: export CFLAGS += -DLSP_TRACE +diff -ruN lsp-plugins/TODO.txt lsp-plugins-fix/TODO.txt +--- lsp-plugins/TODO.txt 2018-10-02 19:34:33.897060773 +0200 ++++ lsp-plugins-fix/TODO.txt 2018-10-02 19:35:32.626431501 +0200 +@@ -11,6 +11,8 @@ + + === 1.1.5 === + ++* Fixed building issues under Ubuntu Linux related to compiler and linker ++ flags reordering. + - Migrated to CMake build system. + - Additional display mode for spectrum analyzer added. + - Added possibility to double-click the parameter's value number and enter it manually from keyboard. +@@ -19,6 +21,7 @@ + - Added subsystem for loading missed files. + - Additional DSP code optimizations for ARMv7A architecture. + - Extended unit and performance test coverage. ++- Changed link oder of libraries + + ******************************************************************************* + * Release steps +@@ -104,6 +107,40 @@ + * FEATURE REQUESTS: Detailed + ******************************************************************************* + ++==== Link order of libraries ==== ++ ++The ordering of libraries on the command line follows the same convection as for object files: ++they are searched from left to right--a library containing the definition of a function should ++appear after any source files or object files which use it. This includes libraries specified ++with the short-cut -l option, as shown in the following command: ++ ++$ gcc -Wall calc.c -lm -o calc (correct order) ++ ++With some compilers the opposite ordering (placing the -lm option before the file which uses it) ++would result in an error, ++ ++$ cc -Wall -lm calc.c -o calc (incorrect order) ++main.o: In function `main': ++main.o(.text+0xf): undefined reference to `sqrt' ++ ++because there is no library or object file containing sqrt after 'calc.c'. The option -lm ++should appear after the file 'calc.c'. ++ ++When several libraries are being used, the same convention should be followed for the libraries ++themselves. A library which calls an external function defined in another library should appear ++before the library containing the function. ++ ++For example, a program 'data.c' using the GNU Linear Programming library 'libglpk.a', which in ++turn uses the math library 'libm.a', should be compiled as, ++ ++$ gcc -Wall data.c -lglpk -lm ++ ++since the object files in 'libglpk.a' use functions defined in 'libm.a'. ++ ++As for object files, most current compilers will search all libraries, regardless of order. ++However, since not all compilers do this it is best to follow the convention of ordering libraries ++from left to right. ++ + ==== Sampler ==== + naught101: + So, the features I was thinking for Klangerzueger were: +diff -ruN lsp-plugins/include/container/jack/ports.h lsp-plugins-fix/include/container/jack/ports.h +--- lsp-plugins/include/container/jack/ports.h 2018-10-02 19:34:33.897060773 +0200 ++++ lsp-plugins-fix/include/container/jack/ports.h 2018-10-02 19:35:32.626431501 +0200 +@@ -237,7 +237,7 @@ + if ((pMidi != NULL) && (pBuffer != NULL) && IS_OUT_PORT(pMetadata)) + { + // Reset buffer +- jack_midi_reset_buffer(pBuffer); ++ jack_midi_clear_buffer(pBuffer); + + // Transfer MIDI events + size_t events = pMidi->nEvents; +diff -ruN lsp-plugins/src/Makefile lsp-plugins-fix/src/Makefile +--- lsp-plugins/src/Makefile 2018-10-02 19:34:34.253723619 +0200 ++++ lsp-plugins-fix/src/Makefile 2018-10-04 23:39:10.818524204 +0200 +@@ -46,7 +46,7 @@ + @mkdir -p $(OBJDIR)/res + @$(UTL_RESGEN) $(BASEDIR)/res/ui $(OBJDIR)/res/xml_resource.cpp + @-rm gmon.out >/dev/null 2>&1 +- @$(CC) -c $(CPPFLAGS) $(CFLAGS) $(INCLUDE) $(OBJDIR)/res/xml_resource.cpp -o $(OBJ_RES_CORE) ++ @$(CC) -o $(OBJ_RES_CORE) -c $(OBJDIR)/res/xml_resource.cpp -fPIC $(CPPFLAGS) $(CFLAGS) $(INCLUDE) + + # Target dependencies + container: $(CONTAINER_DEPS) +diff -ruN lsp-plugins/src/container/Makefile lsp-plugins-fix/src/container/Makefile +--- lsp-plugins/src/container/Makefile 2018-10-02 19:34:34.253723619 +0200 ++++ lsp-plugins-fix/src/container/Makefile 2018-10-04 23:39:10.818524204 +0200 +@@ -3,16 +3,19 @@ + OBJ_HELPERS = $(OBJDIR)/CairoCanvas.o + + # Detemine what modules to build +-PACKAGES = $(OBJ_CORE) $(OBJ_DSP) $(OBJ_METADATA) $(OBJ_PLUGINS) $(SNDFILE_LIBS) ++OBJFILES = $(OBJ_CORE) $(OBJ_DSP) $(OBJ_METADATA) $(OBJ_PLUGINS) ++LIBS = $(SNDFILE_LIBS) $(PTHREAD_LIBS) $(MATH_LIBS) + ifeq ($(LSP_TESTING),1) +-PACKAGES += $(OBJ_TEST_CORE) $(OPENGL_LIBS) ++OBJFILES += $(OBJ_TEST_CORE) ++LIBS += $(OPENGL_LIBS) + MODULES = $(BIN_TEST) + endif + ifneq ($(LSP_TESTING),1) + MODULES = $(LIB_LADSPA) $(LIB_LV2) $(LIB_JACK) $(BIN_PROFILE) $(LIB_VST) + endif + +-UI_PACKAGES = $(PACKAGES) $(OBJ_UI_CORE) $(OBJ_RES_CORE) $(XLIB_LIBS) $(CAIRO_LIBS) ++UI_OBJFILES = $(OBJFILES) $(OBJ_UI_CORE) $(OBJ_RES_CORE) ++UI_LIBS = $(LIBS) $(XLIB_LIBS) $(CAIRO_LIBS) + + .PHONY: all + +@@ -20,40 +23,40 @@ + + $(OBJ_HELPERS): + @echo " $(CC) $(FILE)" +- @$(CC) -c $(CPPFLAGS) $(CFLAGS) $(INCLUDE) $(CAIRO_HEADERS) $(FILE) -o $(@) ++ @$(CC) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CFLAGS) $(INCLUDE) $(CAIRO_HEADERS) + + $(LIB_LADSPA): + @echo " $(CC) ladspa.cpp" +- @$(CC) -o $(OBJDIR)/ladspa.o -c $(CPPFLAGS) $(CFLAGS) $(INCLUDE) ladspa.cpp ++ @$(CC) -o $(OBJDIR)/ladspa.o -c ladspa.cpp -fPIC $(CPPFLAGS) $(CFLAGS) $(INCLUDE) + @echo " $(CC) $(notdir $(LIB_LADSPA))" +- @$(CC) -o $(LIB_LADSPA) $(SO_FLAGS) $(PACKAGES) $(OBJDIR)/ladspa.o ++ @$(CC) -o $(LIB_LADSPA) $(OBJDIR)/ladspa.o $(OBJFILES) $(SO_FLAGS) $(LIBS) + + $(LIB_LV2): $(OBJ_HELPERS) + @echo " $(CC) lv2.cpp" +- @$(CC) -o $(OBJDIR)/lv2.o -c $(CPPFLAGS) $(CFLAGS) $(INCLUDE) lv2.cpp ++ @$(CC) -o $(OBJDIR)/lv2.o -c lv2.cpp -fPIC $(CPPFLAGS) $(CFLAGS) $(INCLUDE) + @echo " $(CC) $(notdir $(LIB_LV2))" +- @$(CC) -o $(LIB_LV2) $(SO_FLAGS) $(UI_PACKAGES) $(OBJ_HELPERS) $(OBJDIR)/lv2.o ++ @$(CC) -o $(LIB_LV2) $(OBJDIR)/lv2.o $(OBJ_HELPERS) $(UI_OBJFILES) $(SO_FLAGS) $(UI_LIBS) + + $(LIB_VST): + @echo " $(CC) vst.cpp" +- @$(CC) -o $(OBJDIR)/vst.o -c $(CPPFLAGS) $(CFLAGS) $(INCLUDE) vst.cpp ++ @$(CC) -o $(OBJDIR)/vst.o -c vst.cpp -fPIC $(CPPFLAGS) $(CFLAGS) $(INCLUDE) + @echo " $(CC) $(notdir $(LIB_VST))" +- @$(CC) -o $(LIB_VST) $(SO_FLAGS) $(UI_PACKAGES) $(OBJDIR)/vst.o ++ @$(CC) -o $(LIB_VST) $(OBJDIR)/vst.o $(UI_OBJFILES) $(SO_FLAGS) $(UI_LIBS) + + $(LIB_JACK): $(OBJ_HELPERS) + @echo " $(CC) jack.cpp" +- @$(CC) -o $(OBJDIR)/jack.o -c $(CPPFLAGS) $(CFLAGS) $(INCLUDE) $(JACK_HEADERS) jack.cpp ++ @$(CC) -o $(OBJDIR)/jack.o -c jack.cpp -fPIC $(CPPFLAGS) $(CFLAGS) $(INCLUDE) $(JACK_HEADERS) + @echo " $(CC) $(notdir $(LIB_JACK))" +- @$(CC) -o $(LIB_JACK) $(SO_FLAGS) $(JACK_LIBS) $(OBJ_HELPERS) $(UI_PACKAGES) $(OBJDIR)/jack.o ++ @$(CC) -o $(LIB_JACK) $(OBJDIR)/jack.o $(OBJ_HELPERS) $(UI_OBJFILES) $(SO_FLAGS) $(UI_LIBS) $(JACK_LIBS) + + $(BIN_PROFILE): $(LIB_JACK) + @echo " $(CC) profile.cpp" +- @$(CC) -o $(OBJDIR)/profile.o -c $(CPPFLAGS) -DLSP_PROFILING_MAIN $(CFLAGS) $(INCLUDE) $(JACK_HEADERS) profile.cpp ++ @$(CC) -o $(OBJDIR)/profile.o -c profile.cpp -fPIC $(CPPFLAGS) -DLSP_PROFILING_MAIN $(CFLAGS) $(INCLUDE) $(JACK_HEADERS) + @echo " $(CC) $(notdir $(BIN_PROFILE))" +- @$(CC) -o $(BIN_PROFILE) $(EXE_FLAGS) $(JACK_LIBS) $(OBJ_HELPERS) $(UI_PACKAGES) $(OBJDIR)/jack.o $(OBJDIR)/profile.o ++ @$(CC) -o $(BIN_PROFILE) $(OBJDIR)/jack.o $(OBJDIR)/profile.o $(OBJ_HELPERS) $(UI_OBJFILES) $(EXE_FLAGS) $(UI_LIBS) $(JACK_LIBS) + + $(BIN_TEST): $(LIB_JACK) + @echo " $(CC) test.cpp" +- @$(CC) -o $(OBJDIR)/test.o -c $(CPPFLAGS) $(CFLAGS) $(INCLUDE) $(JACK_HEADERS) test.cpp ++ @$(CC) -o $(OBJDIR)/test.o -c test.cpp -fPIC $(CPPFLAGS) $(CFLAGS) $(INCLUDE) $(JACK_HEADERS) + @echo " $(CC) $(notdir $(BIN_TEST))" +- @$(CC) -o $(BIN_TEST) $(EXE_FLAGS) $(JACK_LIBS) $(OBJ_HELPERS) $(UI_PACKAGES) $(OBJDIR)/jack.o $(OBJDIR)/test.o ++ @$(CC) -o $(BIN_TEST) $(OBJDIR)/jack.o $(OBJDIR)/test.o $(OBJ_HELPERS) $(UI_OBJFILES) $(EXE_FLAGS) $(UI_LIBS) $(JACK_LIBS) +diff -ruN lsp-plugins/src/core/3d/Makefile lsp-plugins-fix/src/core/3d/Makefile +--- lsp-plugins/src/core/3d/Makefile 2018-10-02 19:34:34.253723619 +0200 ++++ lsp-plugins-fix/src/core/3d/Makefile 1970-01-01 01:00:00.000000000 +0100 +@@ -1,22 +0,0 @@ +-FILES = $(addprefix $(OBJDIR)/, $(patsubst %.cpp, %.o, $(wildcard *.cpp))) +-FILE = $(@:$(OBJDIR)/%.o=%.cpp) +-SUBDIRS = +-OBJFILE = $(OBJDIR)/$(addsuffix .o, $(notdir $(OBJDIR))) +-rwildcard = $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d)) +- +-.PHONY: all files subdirs $(SUBDIRS) +- +-all: $(OBJFILE) +- +-$(OBJFILE): $(FILES) $(SUBDIRS) +- @echo " $(LD) $(notdir $(OBJFILE))" +- @$(LD) $(LDFLAGS) -r -o $(OBJFILE) $(call rwildcard,$(OBJDIR),*.o) +- +-$(SUBDIRS): +- @echo "Building $@" +- @mkdir -p $(OBJDIR)/$(@) +- @$(MAKE) $(MAKE_OPTS) -C $@ $(MAKECMDGOALS) OBJDIR=$(OBJDIR)/$(@) +- +-$(FILES): +- @echo " $(CC) $(FILE)" +- @$(CC) -c $(CPPFLAGS) $(CFLAGS) $(INCLUDE) $(FILE) -o $(@) +diff -ruN lsp-plugins/src/core/Makefile lsp-plugins-fix/src/core/Makefile +--- lsp-plugins/src/core/Makefile 2018-10-02 19:34:34.253723619 +0200 ++++ lsp-plugins-fix/src/core/Makefile 2018-10-04 23:39:10.818524204 +0200 +@@ -1,24 +1,16 @@ +-FILES = $(addprefix $(OBJDIR)/, $(patsubst %.cpp, %.o, $(wildcard *.cpp))) ++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) +-rwildcard = $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d)) +-SUBDIRS = dynamics filters util 3d files sampling io +-SUBFILES = $(addprefix $(OBJDIR)/, $(foreach subdir, $(SUBDIRS), $(subdir)/$(subdir).o)) + +-.PHONY: all target dsp $(SUBDIRS) ++.PHONY: all + + all: $(OBJ_CORE) + +-target: all +- +-$(OBJ_CORE): $(SUBDIRS) $(FILES) +- @echo " $(LD) $(notdir $(OBJ_CORE))" +- @$(LD) -r $(LDFLAGS) -o $(OBJ_CORE) $(FILES) $(SUBFILES) +- +-$(SUBDIRS): +- @echo "Building $(@)" +- @mkdir -p $(OBJDIR)/$(@) +- @$(MAKE) $(MAKE_OPTS) -C $(@) $(MAKECMDGOALS) OBJDIR=$(OBJDIR)/$(@) +- + $(FILES): + @echo " $(CC) $(FILE)" +- @$(CC) -c $(CPPFLAGS) $(CFLAGS) $(INCLUDE) $(SNDFILE_HEADERS) $(SNDFILE_LIBS) $(FILE) -o $(@) ++ @mkdir -p $(dir $@) ++ @$(CC) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CFLAGS) $(INCLUDE) $(OPENGL_HEADERS) ++ ++$(OBJ_CORE): $(FILES) ++ @echo " $(LD) $(notdir $(OBJ_TEST_CORE))" ++ @$(LD) -o $(OBJ_CORE) -r $(LDFLAGS) $(FILES) +diff -ruN lsp-plugins/src/core/dynamics/Makefile lsp-plugins-fix/src/core/dynamics/Makefile +--- lsp-plugins/src/core/dynamics/Makefile 2018-10-02 19:34:34.253723619 +0200 ++++ lsp-plugins-fix/src/core/dynamics/Makefile 1970-01-01 01:00:00.000000000 +0100 +@@ -1,22 +0,0 @@ +-FILES = $(addprefix $(OBJDIR)/, $(patsubst %.cpp, %.o, $(wildcard *.cpp))) +-FILE = $(@:$(OBJDIR)/%.o=%.cpp) +-SUBDIRS = +-OBJFILE = $(OBJDIR)/$(addsuffix .o, $(notdir $(OBJDIR))) +-rwildcard = $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d)) +- +-.PHONY: all files subdirs $(SUBDIRS) +- +-all: $(OBJFILE) +- +-$(OBJFILE): $(FILES) $(SUBDIRS) +- @echo " $(LD) $(notdir $(OBJFILE))" +- @$(LD) $(LDFLAGS) -r -o $(OBJFILE) $(call rwildcard,$(OBJDIR),*.o) +- +-$(SUBDIRS): +- @echo "Building $@" +- @mkdir -p $(OBJDIR)/$(@) +- @$(MAKE) $(MAKE_OPTS) -C $@ $(MAKECMDGOALS) OBJDIR=$(OBJDIR)/$(@) +- +-$(FILES): +- @echo " $(CC) $(FILE)" +- @$(CC) -c $(CPPFLAGS) $(CFLAGS) $(INCLUDE) $(FILE) -o $(@) +diff -ruN lsp-plugins/src/core/files/3d/Makefile lsp-plugins-fix/src/core/files/3d/Makefile +--- lsp-plugins/src/core/files/3d/Makefile 2018-10-02 19:34:34.253723619 +0200 ++++ lsp-plugins-fix/src/core/files/3d/Makefile 1970-01-01 01:00:00.000000000 +0100 +@@ -1,18 +0,0 @@ +-FILES = $(addprefix $(OBJDIR)/, $(patsubst %.cpp, %.o, $(wildcard *.cpp))) +-FILE = $(@:$(OBJDIR)/%.o=%.cpp) +-SUBDIRS = +-OBJFILE = $(OBJDIR)/$(addsuffix .o, $(notdir $(OBJDIR))) +-rwildcard = $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d)) +- +-.PHONY: all files $(SUBDIRS) +- +-all: $(FILES) +- +-$(SUBDIRS): +- @echo "Building $@" +- @mkdir -p $(OBJDIR)/$(@) +- @$(MAKE) $(MAKE_OPTS) -C $@ $(MAKECMDGOALS) OBJDIR=$(OBJDIR)/$(@) +- +-$(FILES): +- @echo " $(CC) $(FILE)" +- @$(CC) -c $(CPPFLAGS) $(CFLAGS) $(INCLUDE) $(FILE) -o $(@) +diff -ruN lsp-plugins/src/core/files/Makefile lsp-plugins-fix/src/core/files/Makefile +--- lsp-plugins/src/core/files/Makefile 2018-10-02 19:34:34.257056916 +0200 ++++ lsp-plugins-fix/src/core/files/Makefile 1970-01-01 01:00:00.000000000 +0100 +@@ -1,22 +0,0 @@ +-FILES = $(addprefix $(OBJDIR)/, $(patsubst %.cpp, %.o, $(wildcard *.cpp))) +-FILE = $(@:$(OBJDIR)/%.o=%.cpp) +-SUBDIRS = 3d lspc config +-OBJFILE = $(OBJDIR)/$(addsuffix .o, $(notdir $(OBJDIR))) +-rwildcard = $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d)) +- +-.PHONY: all files $(SUBDIRS) +- +-all: $(OBJFILE) +- +-$(OBJFILE): $(FILES) $(SUBDIRS) +- @echo " $(LD) $(notdir $(OBJFILE))" +- @$(LD) $(LDFLAGS) -r -o $(OBJFILE) $(filter-out $(OBJFILE), $(call rwildcard,$(OBJDIR),*.o)) +- +-$(SUBDIRS): +- @echo "Building $@" +- @mkdir -p $(OBJDIR)/$(@) +- @$(MAKE) $(MAKE_OPTS) -C $@ $(MAKECMDGOALS) OBJDIR=$(OBJDIR)/$(@) +- +-$(FILES): +- @echo " $(CC) $(FILE)" +- @$(CC) -c $(CPPFLAGS) $(CFLAGS) $(INCLUDE) $(FILE) -o $(@) +diff -ruN lsp-plugins/src/core/files/config/Makefile lsp-plugins-fix/src/core/files/config/Makefile +--- lsp-plugins/src/core/files/config/Makefile 2018-10-02 19:34:34.257056916 +0200 ++++ lsp-plugins-fix/src/core/files/config/Makefile 1970-01-01 01:00:00.000000000 +0100 +@@ -1,18 +0,0 @@ +-FILES = $(addprefix $(OBJDIR)/, $(patsubst %.cpp, %.o, $(wildcard *.cpp))) +-FILE = $(@:$(OBJDIR)/%.o=%.cpp) +-SUBDIRS = +-OBJFILE = $(OBJDIR)/$(addsuffix .o, $(notdir $(OBJDIR))) +-rwildcard = $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d)) +- +-.PHONY: all files $(SUBDIRS) +- +-all: $(FILES) +- +-$(SUBDIRS): +- @echo "Building $@" +- @mkdir -p $(OBJDIR)/$(@) +- @$(MAKE) $(MAKE_OPTS) -C $@ $(MAKECMDGOALS) OBJDIR=$(OBJDIR)/$(@) +- +-$(FILES): +- @echo " $(CC) $(FILE)" +- @$(CC) -c $(CPPFLAGS) $(CFLAGS) $(INCLUDE) $(FILE) -o $(@) +diff -ruN lsp-plugins/src/core/files/lspc/Makefile lsp-plugins-fix/src/core/files/lspc/Makefile +--- lsp-plugins/src/core/files/lspc/Makefile 2018-10-02 19:34:34.257056916 +0200 ++++ lsp-plugins-fix/src/core/files/lspc/Makefile 1970-01-01 01:00:00.000000000 +0100 +@@ -1,18 +0,0 @@ +-FILES = $(addprefix $(OBJDIR)/, $(patsubst %.cpp, %.o, $(wildcard *.cpp))) +-FILE = $(@:$(OBJDIR)/%.o=%.cpp) +-SUBDIRS = +-OBJFILE = $(OBJDIR)/$(addsuffix .o, $(notdir $(OBJDIR))) +-rwildcard = $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d)) +- +-.PHONY: all files $(SUBDIRS) +- +-all: $(FILES) +- +-$(SUBDIRS): +- @echo "Building $@" +- @mkdir -p $(OBJDIR)/$(@) +- @$(MAKE) $(MAKE_OPTS) -C $@ $(MAKECMDGOALS) OBJDIR=$(OBJDIR)/$(@) +- +-$(FILES): +- @echo " $(CC) $(FILE)" +- @$(CC) -c $(CPPFLAGS) $(CFLAGS) $(INCLUDE) $(FILE) -o $(@) +diff -ruN lsp-plugins/src/core/filters/Makefile lsp-plugins-fix/src/core/filters/Makefile +--- lsp-plugins/src/core/filters/Makefile 2018-10-02 19:34:34.257056916 +0200 ++++ lsp-plugins-fix/src/core/filters/Makefile 1970-01-01 01:00:00.000000000 +0100 +@@ -1,22 +0,0 @@ +-FILES = $(addprefix $(OBJDIR)/, $(patsubst %.cpp, %.o, $(wildcard *.cpp))) +-FILE = $(@:$(OBJDIR)/%.o=%.cpp) +-SUBDIRS = +-OBJFILE = $(OBJDIR)/$(addsuffix .o, $(notdir $(OBJDIR))) +-rwildcard = $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d)) +- +-.PHONY: all files subdirs $(SUBDIRS) +- +-all: $(OBJFILE) +- +-$(OBJFILE): $(FILES) $(SUBDIRS) +- @echo " $(LD) $(notdir $(OBJFILE))" +- @$(LD) $(LDFLAGS) -r -o $(OBJFILE) $(call rwildcard,$(OBJDIR),*.o) +- +-$(SUBDIRS): +- @echo "Building $@" +- @mkdir -p $(OBJDIR)/$(@) +- @$(MAKE) $(MAKE_OPTS) -C $@ $(MAKECMDGOALS) OBJDIR=$(OBJDIR)/$(@) +- +-$(FILES): +- @echo " $(CC) $(FILE)" +- @$(CC) -c $(CPPFLAGS) $(CFLAGS) $(INCLUDE) $(FILE) -o $(@) +diff -ruN lsp-plugins/src/core/io/Makefile lsp-plugins-fix/src/core/io/Makefile +--- lsp-plugins/src/core/io/Makefile 2018-10-02 19:34:34.257056916 +0200 ++++ lsp-plugins-fix/src/core/io/Makefile 1970-01-01 01:00:00.000000000 +0100 +@@ -1,22 +0,0 @@ +-FILES = $(addprefix $(OBJDIR)/, $(patsubst %.cpp, %.o, $(wildcard *.cpp))) +-FILE = $(@:$(OBJDIR)/%.o=%.cpp) +-SUBDIRS = +-OBJFILE = $(OBJDIR)/$(addsuffix .o, $(notdir $(OBJDIR))) +-rwildcard = $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d)) +- +-.PHONY: all files subdirs $(SUBDIRS) +- +-all: $(OBJFILE) +- +-$(OBJFILE): $(FILES) $(SUBDIRS) +- @echo " $(LD) $(notdir $(OBJFILE))" +- @$(LD) $(LDFLAGS) -r -o $(OBJFILE) $(call rwildcard,$(OBJDIR),*.o) +- +-$(SUBDIRS): +- @echo "Building $@" +- @mkdir -p $(OBJDIR)/$(@) +- @$(MAKE) $(MAKE_OPTS) -C $@ $(MAKECMDGOALS) OBJDIR=$(OBJDIR)/$(@) +- +-$(FILES): +- @echo " $(CC) $(FILE)" +- @$(CC) -c $(CPPFLAGS) $(CFLAGS) $(INCLUDE) $(FILE) -o $(@) +diff -ruN lsp-plugins/src/core/sampling/Makefile lsp-plugins-fix/src/core/sampling/Makefile +--- lsp-plugins/src/core/sampling/Makefile 2018-10-02 19:34:34.257056916 +0200 ++++ lsp-plugins-fix/src/core/sampling/Makefile 1970-01-01 01:00:00.000000000 +0100 +@@ -1,22 +0,0 @@ +-FILES = $(addprefix $(OBJDIR)/, $(patsubst %.cpp, %.o, $(wildcard *.cpp))) +-FILE = $(@:$(OBJDIR)/%.o=%.cpp) +-SUBDIRS = +-OBJFILE = $(OBJDIR)/$(addsuffix .o, $(notdir $(OBJDIR))) +-rwildcard = $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d)) +- +-.PHONY: all files subdirs $(SUBDIRS) +- +-all: $(OBJFILE) +- +-$(OBJFILE): $(FILES) $(SUBDIRS) +- @echo " $(LD) $(notdir $(OBJFILE))" +- @$(LD) $(LDFLAGS) -r -o $(OBJFILE) $(call rwildcard,$(OBJDIR),*.o) +- +-$(SUBDIRS): +- @echo "Building $@" +- @mkdir -p $(OBJDIR)/$(@) +- @$(MAKE) $(MAKE_OPTS) -C $@ $(MAKECMDGOALS) OBJDIR=$(OBJDIR)/$(@) +- +-$(FILES): +- @echo " $(CC) $(FILE)" +- @$(CC) -c $(CPPFLAGS) $(CFLAGS) $(INCLUDE) $(FILE) -o $(@) +diff -ruN lsp-plugins/src/core/util/Makefile lsp-plugins-fix/src/core/util/Makefile +--- lsp-plugins/src/core/util/Makefile 2018-10-02 19:34:34.257056916 +0200 ++++ lsp-plugins-fix/src/core/util/Makefile 1970-01-01 01:00:00.000000000 +0100 +@@ -1,22 +0,0 @@ +-FILES = $(addprefix $(OBJDIR)/, $(patsubst %.cpp, %.o, $(wildcard *.cpp))) +-FILE = $(@:$(OBJDIR)/%.o=%.cpp) +-SUBDIRS = +-OBJFILE = $(OBJDIR)/$(addsuffix .o, $(notdir $(OBJDIR))) +-rwildcard = $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d)) +- +-.PHONY: all files subdirs $(SUBDIRS) +- +-all: $(OBJFILE) +- +-$(OBJFILE): $(FILES) $(SUBDIRS) +- @echo " $(LD) $(notdir $(OBJFILE))" +- @$(LD) $(LDFLAGS) -r -o $(OBJFILE) $(call rwildcard,$(OBJDIR),*.o) +- +-$(SUBDIRS): +- @echo "Building $@" +- @mkdir -p $(OBJDIR)/$(@) +- @$(MAKE) $(MAKE_OPTS) -C $@ $(MAKECMDGOALS) OBJDIR=$(OBJDIR)/$(@) +- +-$(FILES): +- @echo " $(CC) $(FILE)" +- @$(CC) -c $(CPPFLAGS) $(CFLAGS) $(INCLUDE) $(FILE) -o $(@) +diff -ruN lsp-plugins/src/dsp/Makefile lsp-plugins-fix/src/dsp/Makefile +--- lsp-plugins/src/dsp/Makefile 2018-10-02 19:34:34.260390214 +0200 ++++ lsp-plugins-fix/src/dsp/Makefile 2018-10-04 23:39:10.818524204 +0200 +@@ -38,28 +38,28 @@ + + $(OBJ_DSP): $(LINK_OBJECTS) + @echo " $(LD) $(notdir $(OBJ_DSP))" +- @$(LD) -r $(LDFLAGS) -o $(OBJ_DSP) $(LINK_OBJECTS) ++ @$(LD) -o $(OBJ_DSP) -r $(LDFLAGS) $(LINK_OBJECTS) + + $(DSP_IMPL) $(BITS_IMPL) $(NATIVE_IMPL) $(X86_IMPL) $(ARM_IMPL): + @echo " $(CC) $(FILE)" +- @$(CC) -c $(CPPFLAGS) $(CFLAGS) $(INCLUDE) $(FILE) -o $(@) ++ @$(CC) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CFLAGS) $(INCLUDE) + + $(SSE_IMPL): + @echo " $(CC) $(FILE)" +- @$(CC) -c $(CPPFLAGS) $(CFLAGS) $(SSE_INSTR_SET) $(INCLUDE) $(FILE) -o $(@) ++ @$(CC) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CFLAGS) $(SSE_INSTR_SET) $(INCLUDE) + + $(SSE3_IMPL): + @echo " $(CC) $(FILE)" +- @$(CC) -c $(CPPFLAGS) $(CFLAGS) $(SSE3_INSTR_SET) $(INCLUDE) $(FILE) -o $(@) ++ @$(CC) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CFLAGS) $(SSE3_INSTR_SET) $(INCLUDE) + + $(SSE4_IMPL): + @echo " $(CC) $(FILE)" +- @$(CC) -c $(CPPFLAGS) $(CFLAGS) $(SSE4_INSTR_SET) $(INCLUDE) $(FILE) -o $(@) ++ @$(CC) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CFLAGS) $(SSE4_INSTR_SET) $(INCLUDE) + + $(AVX_IMPL): + @echo " $(CC) $(FILE)" +- @$(CC) -c $(CPPFLAGS) $(CFLAGS) $(AVX_INSTR_SET) $(INCLUDE) $(FILE) -o $(@) ++ @$(CC) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CFLAGS) $(AVX_INSTR_SET) $(INCLUDE) + + $(NEON_D32_IMPL): + @echo " $(CC) $(FILE)" +- @$(CC) -c $(CPPFLAGS) $(CFLAGS) $(NEON_D32_INSTR_SET) $(INCLUDE) $(FILE) -o $(@) ++ @$(CC) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CFLAGS) $(NEON_D32_INSTR_SET) $(INCLUDE) +diff -ruN lsp-plugins/src/metadata/Makefile lsp-plugins-fix/src/metadata/Makefile +--- lsp-plugins/src/metadata/Makefile 2018-10-02 19:34:34.260390214 +0200 ++++ lsp-plugins-fix/src/metadata/Makefile 2018-10-04 23:39:10.818524204 +0200 +@@ -1,6 +1,6 @@ ++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) +-rwildcard = $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d)) + + .PHONY: all target + +@@ -10,8 +10,8 @@ + + $(OBJ_METADATA): $(FILES) + @echo " $(LD) $(notdir $(OBJ_METADATA))" +- @$(LD) $(LDFLAGS) -r -o $(OBJ_METADATA) $(call rwildcard,$(OBJDIR),*.o) ++ @$(LD) -o $(OBJ_METADATA) -r $(LDFLAGS) $(FILES) + + $(FILES): + @echo " $(CC) $(FILE)" +- @$(CC) -c $(CPPFLAGS) $(CFLAGS) $(INCLUDE) $(FILE) -o $(@) ++ @$(CC) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CFLAGS) $(INCLUDE) +diff -ruN lsp-plugins/src/plugins/Makefile lsp-plugins-fix/src/plugins/Makefile +--- lsp-plugins/src/plugins/Makefile 2018-10-02 19:34:34.260390214 +0200 ++++ lsp-plugins-fix/src/plugins/Makefile 2018-10-04 23:39:10.818524204 +0200 +@@ -1,7 +1,6 @@ ++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) +-SUBDIRS = +-rwildcard = $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d)) + + .PHONY: all files subdirs $(SUBDIRS) + +@@ -9,13 +8,8 @@ + + $(OBJ_PLUGINS): $(FILES) $(SUBDIRS) + @echo " $(LD) $(notdir $(OBJ_PLUGINS))" +- @$(LD) $(LDFLAGS) -r -o $(OBJ_PLUGINS) $(call rwildcard,$(OBJDIR),*.o) +- +-$(SUBDIRS): +- @echo "Building $@" +- @mkdir -p $(OBJDIR)/$(@) +- @$(MAKE) $(MAKE_OPTS) -C $@ $(MAKECMDGOALS) OBJDIR=$(OBJDIR)/$(@) ++ @$(LD) -o $(OBJ_PLUGINS) -r $(LDFLAGS) $(FILES) + + $(FILES): + @echo " $(CC) $(FILE)" +- @$(CC) -c $(CPPFLAGS) $(CFLAGS) $(INCLUDE) $(FILE) -o $(@) ++ @$(CC) -o $(@) -c -fPIC $(CPPFLAGS) $(CFLAGS) $(INCLUDE) $(FILE) +diff -ruN lsp-plugins/src/test/Makefile lsp-plugins-fix/src/test/Makefile +--- lsp-plugins/src/test/Makefile 2018-10-02 19:34:34.263723512 +0200 ++++ lsp-plugins-fix/src/test/Makefile 2018-10-04 23:39:10.818524204 +0200 +@@ -9,9 +9,9 @@ + $(FILES): + @echo " $(CC) $(FILE)" + @mkdir -p $(dir $@) +- @$(CC) -c $(CPPFLAGS) $(CFLAGS) $(INCLUDE) $(OPENGL_HEADERS) $(FILE) -o $(@) ++ @$(CC) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CFLAGS) $(INCLUDE) $(OPENGL_HEADERS) + + $(OBJ_TEST_CORE): $(FILES) + @echo " $(LD) $(notdir $(OBJ_TEST_CORE))" +- @$(LD) $(LDFLAGS) -r -o $(OBJ_TEST_CORE) $(FILES) ++ @$(LD) -o $(OBJ_TEST_CORE) -r $(LDFLAGS) $(FILES) + +diff -ruN lsp-plugins/src/ui/Makefile lsp-plugins-fix/src/ui/Makefile +--- lsp-plugins/src/ui/Makefile 2018-10-02 19:34:34.267056809 +0200 ++++ lsp-plugins-fix/src/ui/Makefile 2018-10-04 23:39:10.818524204 +0200 +@@ -13,7 +13,7 @@ + + $(FILES): + @echo " $(CC) $(FILE)" +- @$(CC) -c $(CPPFLAGS) $(CFLAGS) $(INCLUDE) $(FILE) -o $(@) ++ @$(CC) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CFLAGS) $(INCLUDE) + + $(OBJ_UI_CORE): $(FILES) $(SUBDIRS) + @echo " $(LD) $(notdir $(@))" +diff -ruN lsp-plugins/src/ui/ctl/Makefile lsp-plugins-fix/src/ui/ctl/Makefile +--- lsp-plugins/src/ui/ctl/Makefile 2018-10-02 19:34:34.267056809 +0200 ++++ lsp-plugins-fix/src/ui/ctl/Makefile 2018-10-04 23:39:10.818524204 +0200 +@@ -6,10 +6,10 @@ + + $(FILES): + @echo " $(CC) $(FILE)" +- @$(CC) -c $(CPPFLAGS) $(CFLAGS) $(INCLUDE) $(FILE) -o $(@) ++ @$(CC) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CFLAGS) $(INCLUDE) + + $(OBJ_CTL_CORE): $(FILES) + @echo " $(LD) $(notdir $(@))" +- @$(LD) $(MERGE_FLAGS) $(PACKAGES) -o $(OBJ_CTL_CORE) $(FILES) ++ @$(LD) -o $(OBJ_CTL_CORE) $(MERGE_FLAGS) $(PACKAGES) $(FILES) + + all: $(OBJ_CTL_CORE) $(SUBDIRS) +diff -ruN lsp-plugins/src/ui/tk/Makefile lsp-plugins-fix/src/ui/tk/Makefile +--- lsp-plugins/src/ui/tk/Makefile 2018-10-02 19:34:34.270390106 +0200 ++++ lsp-plugins-fix/src/ui/tk/Makefile 2018-10-04 23:39:10.818524204 +0200 +@@ -7,10 +7,10 @@ + $(FILES): + @echo " $(CC) $(FILE)" + @mkdir -p $(dir $@) +- @$(CC) -c $(CPPFLAGS) $(CFLAGS) $(INCLUDE) $(FILE) -o $(@) ++ @$(CC) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CFLAGS) $(INCLUDE) + + $(OBJ_TK_CORE): $(FILES) + @echo " $(LD) $(notdir $(@))" +- @$(LD) $(MERGE_FLAGS) $(PACKAGES) -o $(OBJ_TK_CORE) $(FILES) ++ @$(LD) -o $(OBJ_TK_CORE) $(MERGE_FLAGS) $(PACKAGES) $(FILES) + + all: $(OBJ_TK_CORE) +diff -ruN lsp-plugins/src/ui/ws/Makefile lsp-plugins-fix/src/ui/ws/Makefile +--- lsp-plugins/src/ui/ws/Makefile 2018-10-02 19:34:34.273723405 +0200 ++++ lsp-plugins-fix/src/ui/ws/Makefile 2018-10-04 23:39:10.818524204 +0200 +@@ -13,10 +13,10 @@ + + $(FILES): + @echo " $(CC) $(FILE)" +- @$(CC) -c $(CPPFLAGS) $(CFLAGS) $(INCLUDE) $(FILE) -o $(@) ++ @$(CC) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CFLAGS) $(INCLUDE) + + $(OBJ_WS_CORE): $(FILES) $(OBJ_WS_X11_CORE) + @echo " $(LD) $(notdir $(@))" +- @$(LD) $(MERGE_FLAGS) $(PACKAGES) -o $(OBJ_WS_CORE) $(FILES) $(OBJ_WS_X11_CORE) ++ @$(LD) -o $(OBJ_WS_CORE) $(MERGE_FLAGS) $(PACKAGES) $(OBJ_WS_X11_CORE) $(FILES) + + $(OBJ_WS_X11_CORE): $(SUBDIRS) +diff -ruN lsp-plugins/src/ui/ws/x11/Makefile lsp-plugins-fix/src/ui/ws/x11/Makefile +--- lsp-plugins/src/ui/ws/x11/Makefile 2018-10-02 19:34:34.273723405 +0200 ++++ lsp-plugins-fix/src/ui/ws/x11/Makefile 2018-10-04 23:39:10.818524204 +0200 +@@ -12,5 +12,5 @@ + + $(FILES): + @echo " $(CC) $(FILE)" +- @$(CC) -c $(CPPFLAGS) $(CFLAGS) $(INCLUDE) $(FILE) -o $(@) ++ @$(CC) -o $(@) -c $(FILE) -fPIC $(CPPFLAGS) $(CFLAGS) $(INCLUDE) + +diff -ruN lsp-plugins/src/utils/Makefile lsp-plugins-fix/src/utils/Makefile +--- lsp-plugins/src/utils/Makefile 2018-10-02 19:34:34.273723405 +0200 ++++ lsp-plugins-fix/src/utils/Makefile 2018-10-04 23:39:10.818524204 +0200 +@@ -3,6 +3,8 @@ + FILES = $(addprefix $(OBJDIR)/, $(FILELIST)) + FILE = $(@:$(OBJDIR)/%.o=%.cpp) + SUBDIRS = ++OBJ_FILES = $(OBJ_CORE) $(OBJ_METADATA) ++OBJ_LIBS = $(PTHREAD_LIBS) $(MATH_LIBS) + + .PHONY: all target files subdirs $(SUBDIRS) + +@@ -18,25 +20,25 @@ + + $(FILES): + @echo " $(CC) $(FILE)" +- @$(CC) -c $(CPPFLAGS) $(CFLAGS) $(INCLUDE) $(FILE) -o $(@) ++ @$(CC) -o $(@) -c $(FILE) $(CPPFLAGS) -fPIC $(CFLAGS) $(INCLUDE) + + # Rules for each utility + $(UTL_GENTTL): $(FILES) $(SUBDIRS) + @echo " $(CC) $(notdir $(UTL_GENTTL))" +- @$(CC) $(EXE_FLAGS) $(SNDFILE_LIBS) -o $(UTL_GENTTL) $(OBJDIR)/lv2_genttl.o $(OBJ_CORE) $(OBJ_METADATA) ++ @$(CC) -o $(UTL_GENTTL) $(OBJDIR)/lv2_genttl.o $(OBJ_FILES) $(EXE_FLAGS) $(SNDFILE_LIBS) $(OBJ_LIBS) + + $(UTL_JACKMAKE): $(FILES) $(SUBDIRS) + @echo " $(CC) $(notdir $(UTL_JACKMAKE))" +- @$(CC) $(EXE_FLAGS) $(SNDFILE_LIBS) -o $(UTL_JACKMAKE) $(OBJDIR)/jack_genmake.o $(OBJ_CORE) $(OBJ_METADATA) ++ @$(CC) -o $(UTL_JACKMAKE) $(OBJDIR)/jack_genmake.o $(OBJ_FILES) $(EXE_FLAGS) $(SNDFILE_LIBS) $(OBJ_LIBS) + + $(UTL_VSTMAKE): $(FILES) $(SUBDIRS) + @echo " $(CC) $(notdir $(UTL_VSTMAKE))" +- @$(CC) $(EXE_FLAGS) $(SNDFILE_LIBS) -o $(UTL_VSTMAKE) $(OBJDIR)/vst_genmake.o $(OBJ_CORE) $(OBJ_METADATA) ++ @$(CC) -o $(UTL_VSTMAKE) $(OBJDIR)/vst_genmake.o $(OBJ_FILES) $(EXE_FLAGS) $(OBJ_LIBS) + + $(UTL_GENPHP): $(FILES) $(SUBDIRS) + @echo " $(CC) $(notdir $(UTL_GENPHP))" +- @$(CC) $(EXE_FLAGS) $(SNDFILE_LIBS) -o $(UTL_GENPHP) $(OBJDIR)/gen_php.o $(OBJ_CORE) $(OBJ_METADATA) ++ @$(CC) -o $(UTL_GENPHP) $(OBJDIR)/gen_php.o $(OBJ_FILES) $(EXE_FLAGS) $(SNDFILE_LIBS) $(OBJ_LIBS) + + $(UTL_RESGEN): $(FILES) $(SUBDIRS) + @echo " $(CC) $(notdir $(UTL_RESGEN))" +- @$(CC) $(EXE_FLAGS) $(SNDFILE_LIBS) $(EXPAT_HEADERS) $(EXPAT_LIBS) -o $(UTL_RESGEN) $(OBJDIR)/resource_gen.o $(OBJ_CORE) $(OBJ_METADATA) ++ @$(CC) -o $(UTL_RESGEN) $(OBJDIR)/resource_gen.o $(OBJ_FILES) $(EXPAT_HEADERS) $(EXE_FLAGS) $(EXPAT_LIBS) $(SNDFILE_LIBS) $(OBJ_LIBS) +diff -ruN lsp-plugins/src/utils/jack_genmake.cpp lsp-plugins-fix/src/utils/jack_genmake.cpp +--- lsp-plugins/src/utils/jack_genmake.cpp 2018-10-02 19:34:34.273723405 +0200 ++++ lsp-plugins-fix/src/utils/jack_genmake.cpp 2018-10-02 19:35:32.626431501 +0200 +@@ -3,6 +3,7 @@ + #include <stdio.h> + #include <string.h> + #include <alloca.h> ++#include <errno.h> + + #include <metadata/metadata.h> + #include <plugins/plugins.h> +@@ -11,13 +12,16 @@ + { + static int gen_cpp_file(const char *path, const plugin_metadata_t *meta, const char *plugin_name, const char *cpp_name) + { +- char fname[PATH_MAX]; +- snprintf(fname, PATH_MAX, "%s/%s", path, cpp_name); ++ char fname[PATH_MAX], cppfile[PATH_MAX]; ++ ++ // Replace all underscores ++ strncpy(cppfile, cpp_name, PATH_MAX); ++ cppfile[PATH_MAX-1] = '\0'; ++ for (char *p=cppfile; *p != '\0'; ++p) ++ if (*p == '_') ++ *p = '-'; + +- // Replace character '_' to '-' +- for (char *dst = fname; *dst != '\0'; ++dst) +- if (*dst == '_') +- *dst = '-'; ++ snprintf(fname, PATH_MAX, "%s/%s", path, cppfile); + + printf("Generating source file %s\n", fname); + +@@ -25,7 +29,8 @@ + FILE *out = fopen(fname, "w"); + if (out == NULL) + { +- fprintf(stderr, "Error creating file %s\n", fname); ++ int code = errno; ++ fprintf(stderr, "Error creating file %s, code=%d\n", fname, code); + return -1; + } + +@@ -64,7 +69,8 @@ + FILE *out = fopen(fname, "w"); + if (out == NULL) + { +- fprintf(stderr, "Error creating file %s\n", fname); ++ int code = errno; ++ fprintf(stderr, "Error creating file %s, code=%d\n", fname, code); + return -2; + } + +@@ -72,7 +78,6 @@ + + fprintf(out, "FILES = $(patsubst %%.cpp, %%, $(wildcard *.cpp))\n"); + fprintf(out, "FILE = $(@:%%=%%.cpp)\n"); +- fprintf(out, "EXE_FLAGS += -ldl\n"); + fprintf(out, "\n"); + + fprintf(out, ".PHONY: all\n\n"); +@@ -81,10 +86,9 @@ + + fprintf(out, "$(FILES):\n"); + fprintf(out, "\t@echo \" $(CC) $(FILE)\"\n"); +-// fprintf(out, "\t@echo $(CC) $(CPPFLAGS) $(CFLAGS) $(EXE_FLAGS) $(INCLUDE) $(FILE) -o $(@)\n"); +- fprintf(out, "\t@$(CC) $(CPPFLAGS) $(CFLAGS) $(EXE_FLAGS) $(INCLUDE) $(FILE) -o $(@)\n\n"); ++ fprintf(out, "\t@$(CC) -o $(@) $(CPPFLAGS) $(CFLAGS) $(INCLUDE) $(FILE) $(EXE_FLAGS) $(DL_LIBS)\n\n"); + +- fprintf(out, "install: $(FILES)\n\n"); ++ fprintf(out, "install: $(FILES)\n"); + fprintf(out, "\t@$(INSTALL) $(FILES) $(TARGET_PATH)/"); + + // Close file +diff -ruN lsp-plugins/src/utils/vst_genmake.cpp lsp-plugins-fix/src/utils/vst_genmake.cpp +--- lsp-plugins/src/utils/vst_genmake.cpp 2018-10-02 19:34:34.273723405 +0200 ++++ lsp-plugins-fix/src/utils/vst_genmake.cpp 2018-10-02 19:35:32.626431501 +0200 +@@ -3,6 +3,7 @@ + #include <stdio.h> + #include <string.h> + #include <alloca.h> ++#include <errno.h> + + #include <metadata/metadata.h> + #include <plugins/plugins.h> +@@ -30,8 +31,9 @@ + FILE *out = fopen(fname, "w"); + if (out == NULL) + { +- fprintf(stderr, "Error creating file %s\n", fname); +- return -1; ++ int code = errno; ++ fprintf(stderr, "Error creating file %s, code=%d\n", fname, code); ++ return -2; + } + + // Write to file +@@ -70,7 +72,8 @@ + FILE *out = fopen(fname, "w"); + if (out == NULL) + { +- fprintf(stderr, "Error creating file %s\n", fname); ++ int code = errno; ++ fprintf(stderr, "Error creating file %s, code=%d\n", fname, code); + return -2; + } + +@@ -86,8 +89,7 @@ + + fprintf(out, "$(FILES):\n"); + fprintf(out, "\t@echo \" $(CC) $(FILE)\"\n"); +-// fprintf(out, "\t@echo $(CC) $(CPPFLAGS) $(CFLAGS) $(SO_FLAGS) $(INCLUDE) $(FILE) -o $(@)\n"); +- fprintf(out, "\t@$(CC) $(CPPFLAGS) $(CFLAGS) $(SO_FLAGS) $(INCLUDE) $(FILE) -o $(@)\n\n"); ++ fprintf(out, "\t@$(CC) -o $(@) $(CPPFLAGS) $(CFLAGS) $(INCLUDE) $(FILE) $(SO_FLAGS) $(DL_LIBS)\n\n"); + + // Close file + fclose(out);