diff --git a/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk b/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk index 5bea5e0ecf3..f2139242948 100644 --- a/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk +++ b/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk @@ -168,6 +168,7 @@ ReleaseABI: $(TARGET) ifneq ($(strip $(PROJECT_ADDONS_DATA)),) @$(MAKE) $(JOBS) copyaddonsdata PROJECT_ADDONS_DATA="$(PROJECT_ADDONS_DATA)" endif + @$(MAKE) $(JOBS) copyaddonslibs ADDONS_SHARED_LIBS_SO="$(ADDONS_SHARED_LIBS_SO)" ADDONS_SHARED_LIBS_DLL="$(ADDONS_SHARED_LIBS_DLL)" ADDONS_SHARED_LIBS_DYLIB="$(ADDONS_SHARED_LIBS_DYLIB)" @$(MAKE) $(JOBS) afterplatform BIN_NAME=$(BIN_NAME) ABIS_TO_COMPILE="$(ABIS_TO_COMPILE_RELEASE)" RUN_TARGET=$(RUN_TARGET) TARGET=$(TARGET) @$(PROJECT_AFTER) @@ -175,6 +176,7 @@ DebugABI: $(TARGET) ifneq ($(strip $(PROJECT_ADDONS_DATA)),) @$(MAKE) $(JOBS) copyaddonsdata PROJECT_ADDONS_DATA="$(PROJECT_ADDONS_DATA)" endif + @$(MAKE) $(JOBS) copyaddonslibs ADDONS_SHARED_LIBS_SO="$(ADDONS_SHARED_LIBS_SO)" ADDONS_SHARED_LIBS_DLL="$(ADDONS_SHARED_LIBS_DLL)" ADDONS_SHARED_LIBS_DYLIB="$(ADDONS_SHARED_LIBS_DYLIB)" @$(MAKE) $(JOBS) afterplatform BIN_NAME=$(BIN_NAME) ABIS_TO_COMPILE="$(ABIS_TO_COMPILE_DEBUG)" RUN_TARGET=$(RUN_TARGET) TARGET=$(TARGET) @$(PROJECT_AFTER) @@ -453,6 +455,25 @@ copyaddonsdata: @mkdir -p bin/data @cp -rf $(PROJECT_ADDONS_DATA) bin/data/ +copyaddonslibs: + @if [ -n "$(ADDONS_SHARED_LIBS_SO)" ]; then \ + echo "Copying shared libraries"; \ + for lib in $(ADDONS_SHARED_LIBS_SO); do \ + cp -f $$lib bin/; \ + done \ + fi + @if [ -n "$(ADDONS_SHARED_LIBS_DLL)" ]; then \ + echo "Copying shared libraries"; \ + for lib in $(ADDONS_SHARED_LIBS_DLL); do \ + cp -f $$lib bin/; \ + done \ + fi + @if [ -n "$(ADDONS_SHARED_LIBS_DYLIB)" ]; then \ + echo "Copying shared libraries"; \ + for lib in $(ADDONS_SHARED_LIBS_DYLIB); do \ + cp -f $$lib bin/; \ + done \ + fi help: @echo @echo openFrameworks universal makefile diff --git a/libs/openFrameworksCompiled/project/makefileCommon/config.addons.mk b/libs/openFrameworksCompiled/project/makefileCommon/config.addons.mk index 35ad82510e6..60fe7936d94 100644 --- a/libs/openFrameworksCompiled/project/makefileCommon/config.addons.mk +++ b/libs/openFrameworksCompiled/project/makefileCommon/config.addons.mk @@ -38,10 +38,13 @@ define parse_addons_libraries $(eval PARSED_ADDONS_LIBS_PLATFORM_LIB_PATHS = $(filter-out $(ADDON_LIBS_EXCLUDE),$(addsuffix /libs/*/lib/$(ABI_LIB_SUBPATH), $1))) \ $(eval PARSED_ALL_PLATFORM_LIBS = $(shell $(FIND) $(PARSED_ADDONS_LIBS_PLATFORM_LIB_PATHS) -type d 2> /dev/null | grep -v "/\.[^\.]" )) \ $(if $(PARSED_ALL_PLATFORM_LIBS), \ + $(eval ADDONS_SHARED_LIBS_SO = $(shell $(FIND) $(PARSED_ALL_PLATFORM_LIBS) -name *.so 2> /dev/null | grep -v "/\.[^\.]" )) \ + $(eval ADDONS_SHARED_LIBS_DLL = $(shell $(FIND) $(PARSED_ALL_PLATFORM_LIBS) -name *.dll 2> /dev/null | grep -v "/\.[^\.]" )) \ + $(eval ADDONS_SHARED_LIBS_DYLIB = $(shell $(FIND) $(PARSED_ALL_PLATFORM_LIBS) -name *.dylib 2> /dev/null | grep -v "/\.[^\.]" )) \ $(eval PARSED_ADDONS_LIBS_PLATFORM_LIBS_STATICS = $(shell $(FIND) $(PARSED_ALL_PLATFORM_LIBS) -name *.a 2> /dev/null | grep -v "/\.[^\.]" )) \ - $(eval PARSED_ADDONS_LIBS_PLATFORM_LIBS_SHARED = $(shell $(FIND) $(PARSED_ALL_PLATFORM_LIBS) -name *.so 2> /dev/null | grep -v "/\.[^\.]" )) \ - $(eval PARSED_ADDONS_LIBS_PLATFORM_LIBS_SHARED += $(shell $(FIND) $(PARSED_ALL_PLATFORM_LIBS) -name *.dylib 2> /dev/null | grep -v "/\.[^\.]" )) \ - $(eval PARSED_ADDONS_LIBS_PLATFORM_LIBS_SHARED += $(shell $(FIND) $(PARSED_ALL_PLATFORM_LIBS) -name *.dll 2> /dev/null | grep -v "/\.[^\.]" )) \ + $(eval PARSED_ADDONS_LIBS_PLATFORM_LIBS_SHARED = $(ADDONS_SHARED_LIBS_SO)) \ + $(eval PARSED_ADDONS_LIBS_PLATFORM_LIBS_SHARED += $(ADDONS_SHARED_LIBS_DLL)) \ + $(eval PARSED_ADDONS_LIBS_PLATFORM_LIBS_SHARED += $(ADDONS_SHARED_LIBS_DYLIB)) \ $(eval PARSED_ADDONS_LIBS = $(PARSED_ADDONS_LIBS_PLATFORM_LIBS_STATICS)) \ $(eval PARSED_ADDONS_LIBS += $(PARSED_ADDONS_LIBS_PLATFORM_LIBS_SHARED)) \ ) diff --git a/libs/openFrameworksCompiled/project/makefileCommon/config.linux.common.mk b/libs/openFrameworksCompiled/project/makefileCommon/config.linux.common.mk index 52e75c08662..c567cd83ce0 100755 --- a/libs/openFrameworksCompiled/project/makefileCommon/config.linux.common.mk +++ b/libs/openFrameworksCompiled/project/makefileCommon/config.linux.common.mk @@ -188,7 +188,7 @@ PLATFORM_CXXFLAGS += $(PLATFORM_CXXVER) # Note: Leave a leading space when adding list items with the += operator ################################################################################ -PLATFORM_LDFLAGS = -Wl,-rpath=./libs:./bin/libs -Wl,--as-needed -Wl,--gc-sections +PLATFORM_LDFLAGS = -Wl,-rpath=./libs:./bin/libs:./ -Wl,--as-needed -Wl,--gc-sections ifeq ($(OF_USING_STD_FS),1) # gcc 8 need special file system linking with -lstdc++fs. gcc 9 onwards doesn't