diff --git a/make/defs.mk b/make/defs.mk index 007c5bbb..8d6d0531 100644 --- a/make/defs.mk +++ b/make/defs.mk @@ -215,10 +215,13 @@ BUILD_LIBDIR = $(TOPDIR)/lib LIBNAME ?= $(PROJECT) LIBTYPE ?= shared MEMBERS += $(LIB_A)($(OBJ)) -SHOBJS += $(patsubst %.cpp,lib%.so,$(patsubst %.cc,lib%.so,$(patsubst %.c,lib%.so,$(SRC_ALL_CPP)))) INSTALL_LIBDIR ?= $(EXE_PREFIX)/lib VERSION_SCRIPT = $(BUILD_LIBDIR)/version.ldscript +# TODO: use something like this as unifying variable, there are far too many +# lib-related variables +LOCAL_LIBS += ifneq ($(TARGET),mingw) +SHOBJS += $(patsubst %.cpp,lib%.so,$(patsubst %.cc,lib%.so,$(patsubst %.c,lib%.so,$(SRC_ALL_CPP)))) LIB_A = $(BUILD_LIBDIR)/lib$(LIBNAME).a SO_SUFFIX = so.$(shell echo $(VERSION) | cut -d- -f1) LIB_SO = $(BUILD_LIBDIR)/lib$(LIBNAME).$(SO_SUFFIX) @@ -236,9 +239,11 @@ LIB_SO = $(BUILD_LIBDIR)/$(LIBNAME).dll INSTALLED_LIB_SO = $(INSTALL_LIBDIR)/$(LIBNAME).$(SO_SUFFIX) INSTALLED_LIB_A = $(INSTALL_LIBDIR)/lib$(LIBNAME).a endif +INSTALLED_LIB += $(addprefix $(INSTALL_LIBDIR)/,$(LOCAL_LIBS)) +BUILD_LIB += $(addprefix $(BUILD_LIBDIR)/,$(LOCAL_LIBS)) INSTALLED_SHOBJS += $(addprefix $(INSTALL_LIBDIR)/,$(SHOBJS)) INSTALLED_ALL_LIBS = $(addprefix $(INSTALL_LIBDIR)/,$(wildcard *.a)) -INSTALLED_LIB = $(INSTALLED_LIB_SO) $(INSTALLED_SHOBJS) \ +INSTALLED_LIB += $(INSTALLED_LIB_SO) $(INSTALLED_SHOBJS) \ $(INSTALLED_LINKS_SO) $(sort $(INSTALLED_LIB_A) $(INSTALLED_ALL_LIBS)) \ $(INSTALLED_DEF) BUILD_LIB += $(LIB_SO)