diff --git a/configure/RULES_BUILD b/configure/RULES_BUILD index 982de28cd..38f89f5da 100644 --- a/configure/RULES_BUILD +++ b/configure/RULES_BUILD @@ -384,10 +384,10 @@ $(INSTALL_LIB)/%.lib: %.lib $(INSTALL_SHRLIBS): $(INSTALL_SHRLIB)/%: % $(ECHO) "Installing shared library $@" @$(INSTALL_LIBRARY) -d -m $(LIB_PERMISSIONS) $< $(INSTALL_SHRLIB) -ifneq ($(SHRLIB_SUFFIX),.dll) +ifneq ($(SHRLIB_SUFFIX),$(SHRLIB_SUFFIX_BASE)) ifneq (,$(strip $(SHRLIB_VERSION))) - @$(RM) $(subst .$(SHRLIB_VERSION),,$@) - ln -s $< $(@:.$(SHRLIB_VERSION)=) + @$(RM) $(subst $(SHRLIB_SUFFIX),$(SHRLIB_SUFFIX_BASE),$@) + ln -s $< $(subst $(SHRLIB_SUFFIX),$(SHRLIB_SUFFIX_BASE),$@) endif # SHRLIB_VERSION endif # SHRLIB_SUFFIX @@ -408,10 +408,12 @@ $(INSTALL_TCLLIB)/$(TCLINDEX): $(INSTALL_TCLLIBS) $(INSTALL_LOADABLE_SHRLIBS): $(INSTALL_SHRLIB)/%: % $(ECHO) "Installing loadable shared library $@" @$(INSTALL_LIBRARY) -d -m 555 $< $(INSTALL_SHRLIB) +ifneq ($(LOADABLE_SHRLIB_SUFFIX),$(SHRLIB_SUFFIX_BASE)) ifneq (,$(strip $(LOADABLE_SHRLIB_VERSION))) - @$(RM) $(subst .$(LOADABLE_SHRLIB_VERSION),,$@) - ln -s $< $(@:.$(LOADABLE_SHRLIB_VERSION)=) + @$(RM) $(subst $(LOADABLE_SHRLIB_SUFFIX),$(SHRLIB_SUFFIX_BASE),$@) + ln -s $< $(subst $(LOADABLE_SHRLIB_SUFFIX),$(SHRLIB_SUFFIX_BASE),$@) endif # LOADABLE_SHRLIB_VERSION +endif # LOADABLE_SHRLIB_SUFFIX $(INSTALL_CONFIG)/%: % $(ECHO) "Installing config file $@" diff --git a/configure/os/CONFIG.Common.UnixCommon b/configure/os/CONFIG.Common.UnixCommon index fff5a5ee5..24f9a6d9a 100644 --- a/configure/os/CONFIG.Common.UnixCommon +++ b/configure/os/CONFIG.Common.UnixCommon @@ -19,8 +19,9 @@ OBJ = .o #Library prefix and suffixes LIB_PREFIX = lib LIB_SUFFIX = .a -SHRLIB_SUFFIX = .so$(addprefix .,$(SHRLIB_VERSION)) -LOADABLE_SHRLIB_SUFFIX = .so$(addprefix .,$(LOADABLE_SHRLIB_VERSION)) +SHRLIB_SUFFIX_BASE = .so +SHRLIB_SUFFIX = $(SHRLIB_SUFFIX_BASE).$(SHRLIB_VERSION) +LOADABLE_SHRLIB_SUFFIX = $(SHRLIB_SUFFIX_BASE).$(LOADABLE_SHRLIB_VERSION) LOADABLE_SHRLIB_PREFIX = lib #------------------------------------------------------- diff --git a/configure/os/CONFIG.Common.cygwin-x86 b/configure/os/CONFIG.Common.cygwin-x86 index 63eec2768..d31ad2fda 100644 --- a/configure/os/CONFIG.Common.cygwin-x86 +++ b/configure/os/CONFIG.Common.cygwin-x86 @@ -48,11 +48,12 @@ STATIC_CXXFLAGS_NO= $(VISC_DLL) -D_DLL # But: if there are no objects LIBRARY_LD_OBJS to include # in this library (may be for e.g. base/src/libCompat # on some archs), don't define (and build) any library! -SHRLIB_PREFIX= -SHRLIB_SUFFIX=.dll +SHRLIB_PREFIX = +SHRLIB_SUFFIX_BASE = .dll +SHRLIB_SUFFIX = $(SHRLIB_SUFFIX_BASE) SHRLIBNAME_YES = $(BUILD_LIBRARY:%=%$(SHRLIB_SUFFIX)) -LOADABLE_SHRLIB_PREFIX= -LOADABLE_SHRLIB_SUFFIX=.dll +LOADABLE_SHRLIB_PREFIX = +LOADABLE_SHRLIB_SUFFIX = $(SHRLIB_SUFFIX_BASE) LOADABLE_SHRLIBNAME = $(LOADABLE_BUILD_LIBRARY:%=%$(LOADABLE_SHRLIB_SUFFIX)) # diff --git a/configure/os/CONFIG.Common.iosCommon b/configure/os/CONFIG.Common.iosCommon index 1a2521985..0bd045027 100644 --- a/configure/os/CONFIG.Common.iosCommon +++ b/configure/os/CONFIG.Common.iosCommon @@ -73,7 +73,8 @@ SHRLIB_LDFLAGS = -dynamiclib -flat_namespace -undefined suppress \ -install_name $(shell perl $(TOOLS)/fullPathName.pl $(INSTALL_LIB))/$@ \ -compatibility_version $(EPICS_VERSION).$(EPICS_REVISION) \ -current_version $(SHRLIB_VERSION) -SHRLIB_SUFFIX = .$(SHRLIB_VERSION).dylib +SHRLIB_SUFFIX_BASE = .dylib +SHRLIB_SUFFIX = .$(SHRLIB_VERSION)$(SHRLIB_SUFFIX_BASE) LOADABLE_SHRLIB_LDFLAGS = -bundle -flat_namespace -undefined suppress diff --git a/configure/os/CONFIG.Common.win32-x86-cygwin b/configure/os/CONFIG.Common.win32-x86-cygwin index 4ee133578..4994ea682 100644 --- a/configure/os/CONFIG.Common.win32-x86-cygwin +++ b/configure/os/CONFIG.Common.win32-x86-cygwin @@ -55,11 +55,12 @@ STATIC_CXXFLAGS_NO= $(VISC_DLL) -D_DLL # But: if there are no objects LIBRARY_LD_OBJS to include # in this library (may be for e.g. base/src/libCompat # on some archs), don't define (and build) any library! -SHRLIB_PREFIX= -SHRLIB_SUFFIX=.dll +SHRLIB_PREFIX = +SHRLIB_SUFFIX_BASE = .dll +SHRLIB_SUFFIX = $(SHRLIB_SUFFIX_BASE) SHRLIBNAME_YES = $(BUILD_LIBRARY:%=%$(SHRLIB_SUFFIX)) -LOADABLE_SHRLIB_PREFIX= -LOADABLE_SHRLIB_SUFFIX=.dll +LOADABLE_SHRLIB_PREFIX = +LOADABLE_SHRLIB_SUFFIX = $(SHRLIB_SUFFIX_BASE) LOADABLE_SHRLIBNAME = $(LOADABLE_BUILD_LIBRARY:%=%$(LOADABLE_SHRLIB_SUFFIX)) # diff --git a/configure/os/CONFIG.Common.win32-x86-mingw b/configure/os/CONFIG.Common.win32-x86-mingw index 3eda940a8..a229902a7 100644 --- a/configure/os/CONFIG.Common.win32-x86-mingw +++ b/configure/os/CONFIG.Common.win32-x86-mingw @@ -49,11 +49,12 @@ STATIC_CXXFLAGS_NO= $(VISC_DLL) -D_DLL # But: if there are no objects LIBRARY_LD_OBJS to include # in this library (may be for e.g. base/src/libCompat # on some archs), don't define (and build) any library! -SHRLIB_PREFIX= -SHRLIB_SUFFIX=.dll +SHRLIB_PREFIX = +SHRLIB_SUFFIX_BASE = .dll +SHRLIB_SUFFIX = $(SHRLIB_SUFFIX_BASE) SHRLIBNAME_YES = $(BUILD_LIBRARY:%=%$(SHRLIB_SUFFIX)) -LOADABLE_SHRLIB_PREFIX= -LOADABLE_SHRLIB_SUFFIX=.dll +LOADABLE_SHRLIB_PREFIX = +LOADABLE_SHRLIB_SUFFIX = $(SHRLIB_SUFFIX_BASE) LOADABLE_SHRLIBNAME = $(LOADABLE_BUILD_LIBRARY:%=%$(LOADABLE_SHRLIB_SUFFIX)) # diff --git a/configure/os/CONFIG.darwinCommon.darwinCommon b/configure/os/CONFIG.darwinCommon.darwinCommon index 454dfaf20..7e02bbf82 100644 --- a/configure/os/CONFIG.darwinCommon.darwinCommon +++ b/configure/os/CONFIG.darwinCommon.darwinCommon @@ -70,7 +70,8 @@ SHRLIB_LDFLAGS = -dynamiclib -flat_namespace -undefined suppress \ -install_name $(shell perl $(TOOLS)/fullPathName.pl $(INSTALL_LIB))/$@ \ -compatibility_version $(EPICS_VERSION).$(EPICS_REVISION) \ -current_version $(SHRLIB_VERSION) -SHRLIB_SUFFIX = .$(SHRLIB_VERSION).dylib +SHRLIB_SUFFIX_BASE = .dylib +SHRLIB_SUFFIX = .$(SHRLIB_VERSION)$(SHRLIB_SUFFIX_BASE) LOADABLE_SHRLIB_LDFLAGS = -bundle -flat_namespace -undefined suppress diff --git a/configure/os/CONFIG.win32-x86-borland.win32-x86-borland b/configure/os/CONFIG.win32-x86-borland.win32-x86-borland index c2c93e106..5be025f73 100644 --- a/configure/os/CONFIG.win32-x86-borland.win32-x86-borland +++ b/configure/os/CONFIG.win32-x86-borland.win32-x86-borland @@ -176,7 +176,8 @@ LINK.shrlib+= $(DLL_DEF_FLAG),$(LIBRARY_LD_RESS) # But: if there are no objects LIBRARY_LD_OBJS to include # in this library (may be for e.g. base/src/libCompat # on some archs), don't define (and build) any library! -SHRLIB_SUFFIX=.dll +SHRLIB_SUFFIX_BASE = .dll +SHRLIB_SUFFIX = $(SHRLIB_SUFFIX_BASE) SHRLIBNAME_YES = $(BUILD_LIBRARY:%=%$(SHRLIB_SUFFIX)) LOADABLE_SHRLIBNAME = $(LOADABLE_BUILD_LIBRARY:%=%$(SHRLIB_SUFFIX)) diff --git a/configure/os/CONFIG.win32-x86.win32-x86 b/configure/os/CONFIG.win32-x86.win32-x86 index 65a2be4eb..a9fa77ca8 100644 --- a/configure/os/CONFIG.win32-x86.win32-x86 +++ b/configure/os/CONFIG.win32-x86.win32-x86 @@ -212,7 +212,8 @@ MUNCH_CMD = $(CCC) /Fo $@ $^ # But: if there are no objects LIBRARY_LD_OBJS to include # in this library (may be for e.g. base/src/libCompat # on some archs), don't define (and build) any library! -SHRLIB_SUFFIX=.dll +SHRLIB_SUFFIX_BASE = .dll +SHRLIB_SUFFIX = $(SHRLIB_SUFFIX_BASE) SHRLIBNAME_YES = $(BUILD_LIBRARY:%=%$(SHRLIB_SUFFIX)) LOADABLE_SHRLIBNAME = $(LOADABLE_BUILD_LIBRARY:%=%$(SHRLIB_SUFFIX))