From bace259b6f8d16739d96a464435f7aab7951a23f Mon Sep 17 00:00:00 2001
From: Mattias Andrée <maandree@kth.se>
Date: Sat, 19 Feb 2022 23:02:45 +0100
Subject: Improve makefile
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Mattias Andrée <maandree@kth.se>
---
 Makefile      | 1 +
 config.mk     | 4 ++--
 mk/linux.mk   | 2 ++
 mk/macos.mk   | 4 +++-
 mk/windows.mk | 4 +++-
 5 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/Makefile b/Makefile
index 0c406ea..11fa042 100644
--- a/Makefile
+++ b/Makefile
@@ -73,6 +73,7 @@ install: libparsepcf.a libparsepcf.$(LIBEXT)
 	mkdir -p -- "$(DESTDIR)$(PREFIX)/include"
 	cp -- libparsepcf.a "$(DESTDIR)$(PREFIX)/lib/"
 	cp -- libparsepcf.$(LIBEXT) "$(DESTDIR)$(PREFIX)/lib/libparsepcf.$(LIBMINOREXT)"
+	$(FIX_INSTALL_NAME) "$(DESTDIR)$(PREFIX)/lib/libparsepcf.$(LIBMINOREXT)"
 	ln -sf -- libparsepcf.$(LIBMINOREXT) "$(DESTDIR)$(PREFIX)/lib/libparsepcf.$(LIBMAJOREXT)"
 	ln -sf -- libparsepcf.$(LIBMAJOREXT) "$(DESTDIR)$(PREFIX)/lib/libparsepcf.$(LIBEXT)"
 	cp -- libparsepcf.h "$(DESTDIR)$(PREFIX)/include/"
diff --git a/config.mk b/config.mk
index 9b16e1d..ab163d4 100644
--- a/config.mk
+++ b/config.mk
@@ -1,8 +1,8 @@
 PREFIX    = /usr
 MANPREFIX = $(PREFIX)/share/man
 
-CC = cc
+CC = c99
 
 CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=700 -D_GNU_SOURCE
-CFLAGS   = -std=c99 -Wall -g
+CFLAGS   = -Wall -g
 LDFLAGS  =
diff --git a/mk/linux.mk b/mk/linux.mk
index d016d31..ad58f69 100644
--- a/mk/linux.mk
+++ b/mk/linux.mk
@@ -2,3 +2,5 @@ LIBEXT      = so
 LIBFLAGS    = -shared -Wl,-soname,lib$(LIB_NAME).$(LIBEXT).$(LIB_MAJOR)
 LIBMAJOREXT = $(LIBEXT).$(LIB_MAJOR)
 LIBMINOREXT = $(LIBEXT).$(LIB_VERSION)
+
+FIX_INSTALL_NAME = :
diff --git a/mk/macos.mk b/mk/macos.mk
index bd92de6..bd7e30b 100644
--- a/mk/macos.mk
+++ b/mk/macos.mk
@@ -1,4 +1,6 @@
 LIBEXT      = dylib
-LIBFLAGS    = -dynamiclib
+LIBFLAGS    = -dynamiclib -Wl,-compatibility_version,$(LIB_MAJOR) -Wl,-current_version,$(LIB_VERSION)
 LIBMAJOREXT = $(LIB_MAJOR).$(LIBEXT)
 LIBMINOREXT = $(LIB_VERSION).$(LIBEXT)
+
+FIX_INSTALL_NAME = install_name_tool -id "$(PREFIX)/lib/libparsepcf.$(LIBMAJOREXT)"
diff --git a/mk/windows.mk b/mk/windows.mk
index e9602e1..ed5ec8d 100644
--- a/mk/windows.mk
+++ b/mk/windows.mk
@@ -1,4 +1,6 @@
 LIBEXT      = dll
-LIBFLAGS    = -mdll
+LIBFLAGS    = -shared
 LIBMAJOREXT = $(LIB_MAJOR).$(LIBEXT)
 LIBMINOREXT = $(LIB_VERSION).$(LIBEXT)
+
+FIX_INSTALL_NAME = :
-- 
cgit v1.2.3-70-g09d2