summaryrefslogtreecommitdiff
path: root/devel/skalibs/patches/patch-Makefile
blob: d9e989c57bea29f61feabcc86cb0952338f97522 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
$NetBSD: patch-Makefile,v 1.2 2020/07/07 10:31:03 schmonz Exp $

Libtoolize for shared libraries on Darwin.

--- Makefile.orig	2020-01-27 16:20:44.000000000 +0000
+++ Makefile
@@ -17,6 +17,8 @@ CC = $(error Please use ./configure firs
 -include config.mak
 include package/deps.mak
 
+LIBTOOL=libtool --tag=CC
+
 version_m := $(basename $(version))
 version_M := $(basename $(version_m))
 version_l := $(basename $(version_M))
@@ -79,8 +81,8 @@ endif
 install: install-data install-sysdeps install-dynlib install-lib install-include
 install-data: $(ALL_DATA:src/etc/%=$(DESTDIR)$(datadir)/%)
 install-sysdeps: $(ALL_SYSDEPS:$(sysdeps)/%=$(DESTDIR)$(sysdepdir)/%)
-install-dynlib: $(SHARED_LIBS:lib%.so.xyzzy=$(DESTDIR)$(dynlibdir)/lib%.so)
-install-lib: $(STATIC_LIBS:lib%.a.xyzzy=$(DESTDIR)$(libdir)/lib%.a)
+install-dynlib: $(SHARED_LIBS:lib%.la=$(DESTDIR)$(dynlibdir)/lib%.la)
+install-lib: 
 install-include: $(ALL_INCLUDES:src/include/$(package)/%.h=$(DESTDIR)$(includedir)/$(package)/%.h)
 
 ifneq ($(exthome),)
@@ -105,29 +107,22 @@ $(DESTDIR)$(datadir)/%: src/etc/%
 $(DESTDIR)$(sysdepdir)/%: $(sysdeps)/%
 	exec $(INSTALL) -D -m 644 $< $@
 
-$(DESTDIR)$(dynlibdir)/lib%.so $(DESTDIR)$(dynlibdir)/lib%.so.$(version_M): lib%.so.xyzzy
-	$(INSTALL) -D -m 755 $< $@.$(version) && \
-	$(INSTALL) -l $(@F).$(version) $@.$(version_M) && \
-	exec $(INSTALL) -l $(@F).$(version_M) $@
-
-$(DESTDIR)$(libdir)/lib%.a: lib%.a.xyzzy
-	exec $(INSTALL) -D -m 644 $< $@
+$(DESTDIR)$(dynlibdir)/%.la: %.la
+	exec $(LIBTOOL) --mode=install $(BSD_INSTALL_LIB) $< $@
 
 $(DESTDIR)$(includedir)/$(package)/%.h: src/include/$(package)/%.h
 	exec $(INSTALL) -D -m 644 $< $@
 
-%.o: %.c
-	exec $(CC) $(CPPFLAGS_ALL) $(CFLAGS_ALL) -c -o $@ $<
-
 %.lo: %.c
-	exec $(CC) $(CPPFLAGS_ALL) $(CFLAGS_ALL) $(CFLAGS_SHARED) -c -o $@ $<
+	exec $(LIBTOOL) --mode=compile $(CC) $(CPPFLAGS_ALL) $(CFLAGS_ALL) $(CFLAGS_SHARED) -c -o $@ $<
+
+libskarnet.a.xyzzy: libskarnet.la
 
-libskarnet.a.xyzzy: $(ALL_SOBJS)
-	exec $(AR) rc $@ $^
-	exec $(RANLIB) $@
+libskarnet.la: libtool-version-number $(ALL_DOBJS)
+	exec $(LIBTOOL) --mode=link $(CC) -o $@ $(CFLAGS_ALL) $(CFLAGS_SHARED) $(LDFLAGS_ALL) $^ $(SOCKET_LIB) $(SPAWN_LIB) $(SYSCLOCK_LIB) $(TAINNOW_LIB) $(TIMER_LIB) $(UTIL_LIB) -version-number `cat libtool-version-number` -rpath $(dynlibdir)
 
-libskarnet.so.xyzzy: $(ALL_DOBJS)
-	exec $(CC) -o $@ $(CFLAGS_ALL) $(CFLAGS_SHARED) $(LDFLAGS_ALL) $(LDFLAGS_SHARED) -Wl,-soname,libskarnet.so.$(version_M) $^ $(SOCKET_LIB) $(SPAWN_LIB) $(SYSCLOCK_LIB) $(TAINNOW_LIB) $(TIMER_LIB) $(UTIL_LIB)
+libtool-version-number:
+	echo $(version_m) | awk -F. '{ printf "%d:%d:%d", $$1, $$2, $$3 }' > $@
 
 .PHONY: it all clean distclean tgz strip install install-data install-sysdeps install-dynlib install-lib install-include