From 251814ebb35de3712e75b1b1b90d47eec1c568e4 Mon Sep 17 00:00:00 2001 From: Milan Bouchet-Valat Date: Tue, 7 Jan 2014 21:38:10 +0100 Subject: [PATCH 1/3] Set SONAME Inspired from what openspecfun does. --- Make.inc | 9 +++++---- Makefile | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Make.inc b/Make.inc index 64cdc5b..22ed829 100644 --- a/Make.inc +++ b/Make.inc @@ -69,28 +69,29 @@ override OS=WINNT endif #keep these if statements these separate ifeq ($(OS), WINNT) +SHLIB_EXT = dll +SONAME_FLAG = -soname CFLAGS_add+=-nodefaultlibs FFLAGS+=-nodefaultlibs endif ifeq ($(OS), Linux) SHLIB_EXT = so +SONAME_FLAG = -soname CFLAGS_add+=-fPIC FFLAGS+=-fPIC endif ifeq ($(OS), FreeBSD) SHLIB_EXT = so +SONAME_FLAG = -soname CFLAGS_add+=-fPIC FFLAGS+=-fPIC endif ifeq ($(OS), Darwin) SHLIB_EXT = dylib +SONAME_FLAG = -install_name CFLAGS_add+=-fPIC FFLAGS+=-fPIC endif - -ifeq ($(OS), WINNT) -SHLIB_EXT = dll -endif diff --git a/Makefile b/Makefile index 0db517b..4268453 100644 --- a/Makefile +++ b/Makefile @@ -26,7 +26,7 @@ all: libopenlibm.a libopenlibm.$(SHLIB_EXT) libopenlibm.a: $(OBJS) $(AR) -rcs libopenlibm.a $(OBJS) libopenlibm.$(SHLIB_EXT): $(OBJS) - $(FC) -shared $(OBJS) $(LDFLAGS) -o libopenlibm.$(SHLIB_EXT).$(VERSION) + $(FC) -shared $(OBJS) $(LDFLAGS) -Wl,$(SONAME_FLAG),libopenlibm.$(SHLIB_EXT).$(VERSION) -o libopenlibm.$(SHLIB_EXT).$(VERSION) ln -s libopenlibm.$(SHLIB_EXT).$(VERSION) libopenlibm.$(SHLIB_EXT).$(word 1,$(VERSION_SPLIT)).$(word 2,$(VERSION_SPLIT)) ln -s libopenlibm.$(SHLIB_EXT).$(VERSION) libopenlibm.$(SHLIB_EXT).$(word 1,$(VERSION_SPLIT)) ln -s libopenlibm.$(SHLIB_EXT).$(VERSION) libopenlibm.$(SHLIB_EXT) From bb40f6c7a8e4f24dbbddde7a3d302a540bec252a Mon Sep 17 00:00:00 2001 From: Milan Bouchet-Valat Date: Tue, 7 Jan 2014 21:54:15 +0100 Subject: [PATCH 2/3] Change PREFIX and LIBDIR to lowercase This is the standard name. --- Make.inc | 4 ++-- Makefile | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Make.inc b/Make.inc index 22ed829..4438f8d 100644 --- a/Make.inc +++ b/Make.inc @@ -4,8 +4,8 @@ OS := $(shell uname) VERSION = 0.1.0 VERSION_SPLIT = $(subst ., , $(VERSION)) DESTDIR = -PREFIX = /usr/local -libdir = $(PREFIX)/lib +prefix = /usr/local +libdir = $(prefix)/lib FC = gfortran FFLAGS += -O3 diff --git a/Makefile b/Makefile index 4268453..fa1ae4e 100644 --- a/Makefile +++ b/Makefile @@ -43,6 +43,6 @@ distclean: install: all mkdir -p $(DESTDIR)$(libdir) - mkdir -p $(DESTDIR)$(PREFIX)/include + mkdir -p $(DESTDIR)$(prefix)/include cp -a libopenlibm.$(SHLIB_EXT)* libopenlibm.a $(DESTDIR)$(libdir)/ - cp -a src/openlibm.h $(DESTDIR)$(PREFIX)/include/ + cp -a src/openlibm.h $(DESTDIR)$(prefix)/include/ From b46257839352fcd56f17009a006cd34fbbcd730b Mon Sep 17 00:00:00 2001 From: Milan Bouchet-Valat Date: Tue, 7 Jan 2014 21:57:50 +0100 Subject: [PATCH 3/3] Use $(includedir) instead of hardcoding $(prefix)/include --- Make.inc | 1 + Makefile | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Make.inc b/Make.inc index 4438f8d..6b99266 100644 --- a/Make.inc +++ b/Make.inc @@ -6,6 +6,7 @@ VERSION_SPLIT = $(subst ., , $(VERSION)) DESTDIR = prefix = /usr/local libdir = $(prefix)/lib +includedir = $(prefix)/include FC = gfortran FFLAGS += -O3 diff --git a/Makefile b/Makefile index fa1ae4e..26c8bd5 100644 --- a/Makefile +++ b/Makefile @@ -43,6 +43,6 @@ distclean: install: all mkdir -p $(DESTDIR)$(libdir) - mkdir -p $(DESTDIR)$(prefix)/include + mkdir -p $(DESTDIR)$(includedir) cp -a libopenlibm.$(SHLIB_EXT)* libopenlibm.a $(DESTDIR)$(libdir)/ - cp -a src/openlibm.h $(DESTDIR)$(prefix)/include/ + cp -a src/openlibm.h $(DESTDIR)$(includedir)/