65 lines
2.7 KiB
Text
65 lines
2.7 KiB
Text
$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
|
|
|