aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2025-05-26 11:02:27 +0000
committerLaurent Bercot <ska@appnovation.com>2025-05-26 11:02:27 +0000
commitb8f8a5fd6ef87fffb7403ad45d82c687e81c45c8 (patch)
tree375d9b6b9b1f604d008d761e2a5bea8ee87a139f /Makefile
parent0da952ff83d8c5b97bbd350acbadbcd8b616cf19 (diff)
downloadskalibs-b8f8a5fd6ef87fffb7403ad45d82c687e81c45c8.tar.gz
Theoretical correctness in Makefile
Signed-off-by: Laurent Bercot <ska@appnovation.com>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile27
1 files changed, 14 insertions, 13 deletions
diff --git a/Makefile b/Makefile
index d34b055..6be14fe 100644
--- a/Makefile
+++ b/Makefile
@@ -94,9 +94,9 @@ $(DESTDIR)$(exthome): $(DESTDIR)$(home)
update: $(DESTDIR)$(exthome)
-global-links: $(DESTDIR)$(exthome) $(SHARED_LIBS:lib%.$(SHLIB_EXT).xyzzy=$(DESTDIR)$(sproot)/library.so/lib%.$(SHLIB_EXT).$(version_M))
+global-links: $(DESTDIR)$(exthome) $(SHARED_LIBS:lib%.so.xyzzy=$(DESTDIR)$(sproot)/library.so/lib%.so.$(version_M))
-$(DESTDIR)$(sproot)/library.so/lib%.$(SHLIB_EXT).$(version_M): $(DESTDIR)$(dynlibdir)/lib%.$(SHLIB_EXT).$(version_M)
+$(DESTDIR)$(sproot)/library.so/lib%.so.$(version_M): $(DESTDIR)$(dynlibdir)/lib%.so.$(version_M)
exec $(INSTALL) -D -l ..$(subst $(sproot),,$(exthome))/library.so/$(<F) $@
.PHONY: update global-links
@@ -109,10 +109,10 @@ $(DESTDIR)$(sysconfdir)/%: src/etc/%
$(DESTDIR)$(sysdepdir)/%: $(sysdeps)/%
exec $(INSTALL) -D -m 644 $< $@
-$(DESTDIR)$(dynlibdir)/lib%.$(SHLIB_EXT) $(DESTDIR)$(dynlibdir)/lib%.$(SHLIB_EXT).$(version_M): lib%.$(SHLIB_EXT).xyzzy
- $(INSTALL) -D -m 755 $< $@.$(version) && \
- $(INSTALL) -l $(@F).$(version) $@.$(version_M) && \
- exec $(INSTALL) -l $(@F).$(version_M) $@
+$(DESTDIR)$(dynlibdir)/lib%.so $(DESTDIR)$(dynlibdir)/lib%.so.$(version_M) $(DESTDIR)$(dynlibdir)/lib%.so.$(version): lib%.so.xyzzy
+ $(INSTALL) -D -m 755 $< $(@D)/lib$(*F).so.$(version) && \
+ $(INSTALL) -l lib$(*F).so.$(version) $(@D)/lib$(*F).so.$(version_M) && \
+ exec $(INSTALL) -l lib$(*F).so.$(version_M) $(@D)/lib$(*F).so
$(DESTDIR)$(libdir)/lib%.a: lib%.a.xyzzy
exec $(INSTALL) -D -m 644 $< $@
@@ -186,16 +186,17 @@ version_X := $(shell exec expr 256 '*' $(version_l) + $(subst .,,$(suffix $(vers
version_XY := $(version_X)$(suffix $(version_m))
version_XYZ := $(version_XY)$(suffix $(version))
-install-dynlib: $(SHARED_LIBS:lib%.dylib.xyzzy=$(DESTDIR)$(dynlibdir)/lib%.dylib.$(version_X))
-global-links: $(SHARED_LIBS:lib%.dylib.xyzzy=$(DESTDIR)$(sproot)/library.so/lib%.dylib.$(version_X))
+global-links: $(SHARED_LIBS:lib%.dylib.xyzzy=$(DESTDIR)$(sproot)/library.so/lib%.$(version_X).dylib)
-$(DESTDIR)$(sproot)/library.so/lib%.dylib.$(version_X): $(DESTDIR)$(sproot)/library.so/lib%.dylib.$(version_M)
- exec $(INSTALL) -D -l $(@F).$(version_M) $@
+$(DESTDIR)$(sproot)/library.so/lib%.$(version_X).dylib: $(DESTDIR)$(sproot)/library.so/lib%.$(version_M).dylib
+ exec $(INSTALL) -l $(<F) $@
-$(DESTDIR)$(dynlibdir)/lib%.dylib.$(version_X): $(DESTDIR)$(dynlibdir)/lib%.dylib.$(version_M)
- exec $(INSTALL) -l $(@F).$(version_M) $@
+$(DESTDIR)$(dynlibdir)/lib%.dylib $(DESTDIR)$(dynlibdir)/lib%.$(version_X).dylib $(DESTDIR)$(dynlibdir)/lib%.$(version_M).dylib $(DESTDIR)$(dynlibdir)/lib%.$(version).dylib: lib%.$dylib.xyzzy
+ $(INSTALL) -D -m 755 $< $(@D)/lib$(*F).$(version).dylib && \
+ $(INSTALL) -l lib$(*F).$(version).dylib $(@D)/lib$(*F).$(version_M).dylib && \
+ $(INSTALL) -l lib$(*F).$(version_M).dylib $(@D)/lib$(*F).$(version_X).dylib && \
+ exec $(INSTALL) -l lib$(*F).$(version_X).dylib $(@D)/lib$(*F).dylib
libskarnet.dylib.xyzzy: $(ALL_DOBJS)
exec $(CC) -o $@ $(CFLAGS_ALL) $(CFLAGS_SHARED) $(LDFLAGS_ALL) $(LDFLAGS_SHARED) -Wl,-dylib_install_name,$(dynlibdir)/libskarnet.$(version_M).dylib -Wl,-dylib_compatibility_version,$(version_XY) -Wl,-dylib_current_version,$(version_XYZ) $^ $(SOCKET_LIB) $(SPAWN_LIB) $(SYSCLOCK_LIB) $(TAINNOW_LIB) $(TIMER_LIB) $(UTIL_LIB)
endif
-