aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2022-02-19 23:15:33 +0100
committerMattias Andrée <maandree@kth.se>2022-02-19 23:15:33 +0100
commit2d78ce8dce3d7b06e55806d5f34d0bad60cc774b (patch)
tree966d68dc06a635a3d2b536bc19b6d28b55c7f61b
parentAdd liberror-backtrace (diff)
downloadliberror-backtrace-2d78ce8dce3d7b06e55806d5f34d0bad60cc774b.tar.gz
liberror-backtrace-2d78ce8dce3d7b06e55806d5f34d0bad60cc774b.tar.bz2
liberror-backtrace-2d78ce8dce3d7b06e55806d5f34d0bad60cc774b.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 f429d50..5acbe3c 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 = 0
@@ -50,6 +52,7 @@ install: liberror-backtrace.a liberror-backtrace.$(LIBEXT)
mkdir -p -- "$(DESTDIR)$(MANPREFIX)/man7"
cp -- liberror-backtrace.a "$(DESTDIR)$(PREFIX)/lib"
cp -- liberror-backtrace.$(LIBEXT) "$(DESTDIR)$(PREFIX)/lib/liberror-backtrace.$(LIBMINOREXT)"
+ $(FIX_INSTALL_NAME) "$(DESTDIR)$(PREFIX)/lib/liberror-backtrace.$(LIBMINOREXT)"
ln -sf -- liberror-backtrace.$(LIBMINOREXT) "$(DESTDIR)$(PREFIX)/lib/liberror-backtrace.$(LIBMAJOREXT)"
ln -sf -- liberror-backtrace.$(LIBMINOREXT) "$(DESTDIR)$(PREFIX)/lib/liberror-backtrace.$(LIBEXT)"
cp -- LICENSE "$(DESTDIR)$(PREFIX)/share/licenses/liberror-backtrace"
diff --git a/config.mk b/config.mk
index df0ba5d..48a3555 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 -lunwind -ldw -lerror
diff --git a/linux.mk b/mk/linux.mk
index 696c3fe..603dd13 100644
--- a/linux.mk
+++ b/mk/linux.mk
@@ -3,3 +3,5 @@ LIBFLAGS = -shared -Wl,-soname,liberror-backtrace.$(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..1988a7e
--- /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-backtrace.$(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 = :