aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2022-02-19 23:13:14 +0100
committerMattias Andrée <maandree@kth.se>2022-02-19 23:13:14 +0100
commit57d1c6d3d5bf5f14b8b1755e78b5e0545cb11af7 (patch)
tree9ecd9eb9e925fd5634f225c44fc21e86abed4892
parentBump year in license (diff)
downloadliberror-57d1c6d3d5bf5f14b8b1755e78b5e0545cb11af7.tar.gz
liberror-57d1c6d3d5bf5f14b8b1755e78b5e0545cb11af7.tar.bz2
liberror-57d1c6d3d5bf5f14b8b1755e78b5e0545cb11af7.tar.xz
Improve makefile
Signed-off-by: Mattias Andrée <maandree@kth.se>
-rw-r--r--Makefile5
-rw-r--r--config.mk4
-rw-r--r--mk/linux.mk (renamed from linux.mk)2
-rw-r--r--mk/macos.mk7
-rw-r--r--mk/windows.mk (renamed from macos.mk)6
5 files changed, 20 insertions, 4 deletions
diff --git a/Makefile b/Makefile
index 4eab1f9..c15dda3 100644
--- a/Makefile
+++ b/Makefile
@@ -6,7 +6,9 @@ include $(CONFIGFILE)
OS = linux
# linux = Linux
# macos = Mac OS
-include $(OS).mk
+# windows = Windows
+include mk/$(OS).mk
+
LIB_MAJOR = 1
LIB_MINOR = 1
@@ -84,6 +86,7 @@ install: liberror.a liberror.$(LIBEXT)
mkdir -p -- "$(DESTDIR)$(MANPREFIX)/man7"
cp -- liberror.a "$(DESTDIR)$(PREFIX)/lib"
cp -- liberror.$(LIBEXT) "$(DESTDIR)$(PREFIX)/lib/liberror.$(LIBMINOREXT)"
+ $(FIX_INSTALL_NAME) "$(DESTDIR)$(PREFIX)/lib/liberror.$(LIBMINOREXT)"
ln -sf -- liberror.$(LIBMINOREXT) "$(DESTDIR)$(PREFIX)/lib/liberror.$(LIBMAJOREXT)"
ln -sf -- liberror.$(LIBMINOREXT) "$(DESTDIR)$(PREFIX)/lib/liberror.$(LIBEXT)"
cp -- liberror.h "$(DESTDIR)$(PREFIX)/include"
diff --git a/config.mk b/config.mk
index fdfd458..30c7a1b 100644
--- a/config.mk
+++ b/config.mk
@@ -1,6 +1,8 @@
PREFIX = /usr
MANPREFIX = $(PREFIX)/share/man
+CC = cc -std=c11
+
CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=700
-CFLAGS = -std=c11 -Wall -pedantic
+CFLAGS = -Wall -pedantic
LDFLAGS = -s
diff --git a/linux.mk b/mk/linux.mk
index eda970e..cea065d 100644
--- a/linux.mk
+++ b/mk/linux.mk
@@ -3,3 +3,5 @@ LIBFLAGS = -shared -Wl,-soname,liberror.$(LIBEXT).$(LIB_MAJOR)
LIBMAJOREXT = $(LIBEXT).$(LIB_MAJOR)
LIBMINOREXT = $(LIBEXT).$(LIB_VERSION)
+
+FIX_INSTALL_NAME = :
diff --git a/mk/macos.mk b/mk/macos.mk
new file mode 100644
index 0000000..8eabdcb
--- /dev/null
+++ b/mk/macos.mk
@@ -0,0 +1,7 @@
+LIBEXT = dylib
+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/liberror.$(LIBMAJOREXT)"
diff --git a/macos.mk b/mk/windows.mk
index b475197..88c99dd 100644
--- a/macos.mk
+++ b/mk/windows.mk
@@ -1,5 +1,7 @@
-LIBEXT = dylib
-LIBFLAGS = -dynamiclib
+LIBEXT = dll
+LIBFLAGS = -shared
LIBMAJOREXT = $(LIB_MAJOR).$(LIBEXT)
LIBMINOREXT = $(LIB_VERSION).$(LIBEXT)
+
+FIX_INSTALL_NAME = :