diff --git a/Makefile b/Makefile index c52b4a1e..d630faf3 100644 --- a/Makefile +++ b/Makefile @@ -3,8 +3,7 @@ .PHONY: dist mips-dist cleaner test test-all test-dist checkdefs .DEFAULT_GOAL := all -VERSION ?= $(shell cat VERSION) -SOVERSION ?= $(shell echo "$(VERSION)" | sed "s/^\(\(\.\?[0-9]\+\)*\).*$$/\1/") +SOVERSION ?= $(shell cat VERSION) SOVERSION_MAJOR ?= $(shell echo "$(SOVERSION)" | sed "s/\..*//") CHIBI_FFI ?= $(CHIBI) -q tools/chibi-ffi @@ -101,7 +100,7 @@ libchibi-sexp$(SO): $(SEXP_OBJS) $(CC) $(CLIBFLAGS) $(CLINKFLAGS) -o $@ $^ $(XLDFLAGS) libchibi-scheme$(SO).$(SOVERSION): $(SEXP_OBJS) $(EVAL_OBJS) - $(CC) $(CLIBFLAGS) $(CLINKFLAGS) -Wl,-soname,libchibi-scheme$(SO).$(SOVERSION_MAJOR) -o $@ $^ $(XLDFLAGS) + $(CC) $(CLIBFLAGS) $(CLINKFLAGS) $(LIBCHIBI_FLAGS) -o $@ $^ $(XLDFLAGS) libchibi-scheme$(SO).$(SOVERSION_MAJOR): libchibi-scheme$(SO).$(SOVERSION) $(LN) -sf $< $@ diff --git a/Makefile.detect b/Makefile.detect index cb78d7c0..7deb968d 100644 --- a/Makefile.detect +++ b/Makefile.detect @@ -53,7 +53,7 @@ EXE = CLIBFLAGS = CLINKFLAGS = -dynamiclib STATICFLAGS = -static-libgcc -DSEXP_USE_DL=0 -LDFLAGS += -install_name $(DESTDIR)$(SOLIBDIR)/libchibi-scheme.dylib +LIBCHIBI_FLAGS = -install_name $(DESTDIR)$(SOLIBDIR)/libchibi-scheme.dylib.$(SOVERSION) else ifeq ($(PLATFORM),bsd) SO = .so @@ -69,7 +69,7 @@ CC = gcc CLIBFLAGS = CLINKFLAGS = -shared CPPFLAGS += -DSEXP_USE_STRING_STREAMS=0 -DBUILDING_DLL -LDFLAGS += -Wl,--out-implib,libchibi-scheme$(SO).a +LIBCHIBI_FLAGS = -Wl,--out-implib,libchibi-scheme$(SO).a STATICFLAGS = -DSEXP_USE_DL=0 LIBDL = else @@ -80,13 +80,14 @@ CC = gcc CLIBFLAGS = CLINKFLAGS = -shared CPPFLAGS += -DSEXP_USE_STRING_STREAMS=0 -LDFLAGS += -Wl,--out-implib,libchibi-scheme$(SO).a +LIBCHIBI_FLAGS = -Wl,--out-implib,libchibi-scheme$(SO).a else SO = .so EXE = CLIBFLAGS = -fPIC CLINKFLAGS = -shared STATICFLAGS = -static -DSEXP_USE_DL=0 +LIBCHIBI_FLAGS = -Wl,-soname,libchibi-scheme$(SO).$(SOVERSION_MAJOR) ifeq ($(PLATFORM),BSD) LIBDL= RLDFLAGS=-Wl,-R$(DESTDIR)$(LIBDIR)