diff --git a/makefile b/makefile index a4902667..ee4bde45 100644 --- a/makefile +++ b/makefile @@ -23,11 +23,14 @@ DJLIBC = $(TOP)/lib/libc_s.a DJCRT0 = $(TOP)/lib/crt0.elf DJUCRT0 = $(TOP)/lib/uplt.o DJ64LIB = $(TOP)/lib/libdj64.*.*.* +DJ64LIBV = $(TOP)/lib/libdj64.*.* DJ64DEVL = $(TOP)/lib/libdj64.$(SHLIB_EXT) DJ64LIBS = $(TOP)/lib/libdj64_s.a DJDEV64LIB = $(TOP)/lib/libdjdev64.*.*.* +DJDEV64LIBV = $(TOP)/lib/libdjdev64.*.* DJDEV64DEVL = $(TOP)/lib/libdjdev64.$(SHLIB_EXT) DJSTUB64LIB = $(TOP)/lib/libdjstub64.*.*.* +DJSTUB64LIBV = $(TOP)/lib/libdjstub64.*.* DJSTUB64DEVL = $(TOP)/lib/libdjstub64.$(SHLIB_EXT) DJELFLOAD = $(TOP)/lib/elfload.com NC_BUILD = contrib/ncurses/build @@ -65,6 +68,7 @@ install_dj64: $(INSTALL) -m 0644 $(DJELFLOAD) $(DESTDIR)$(prefix)/i386-pc-dj64/bin $(INSTALL) -d $(DESTDIR)$(prefix)/i386-pc-dj64/lib64 $(INSTALL) $(DJ64LIB) $(DESTDIR)$(prefix)/i386-pc-dj64/lib64 + cp -fP $(DJ64LIBV) $(DESTDIR)$(prefix)/i386-pc-dj64/lib64 cp -fP $(DJ64DEVL) $(DESTDIR)$(prefix)/i386-pc-dj64/lib64 $(INSTALL) -m 0644 $(DJ64LIBS) $(DESTDIR)$(prefix)/i386-pc-dj64/lib64 $(INSTALL) -d $(DESTDIR)$(prefix)/i386-pc-dj64/include @@ -89,8 +93,10 @@ install_djdev64: cp -rL $(abs_top_srcdir)/src/djdev64/include/djdev64 $(DESTDIR)$(includedir) $(INSTALL) -d $(DESTDIR)$(libdir) $(INSTALL) -m 0755 $(DJDEV64LIB) $(DESTDIR)$(libdir) + cp -fP $(DJDEV64LIBV) $(DESTDIR)$(libdir) cp -fP $(DJDEV64DEVL) $(DESTDIR)$(libdir) $(INSTALL) -m 0755 $(DJSTUB64LIB) $(DESTDIR)$(libdir) + cp -fP $(DJSTUB64LIBV) $(DESTDIR)$(libdir) cp -fP $(DJSTUB64DEVL) $(DESTDIR)$(libdir) install: install_dj64 install_djdev64 install_demos @@ -111,8 +117,10 @@ endif $(RM) $(DESTDIR)$(datadir)/pkgconfig/djdev64.pc $(RM) $(DESTDIR)$(datadir)/pkgconfig/djstub64.pc $(RM) $(DESTDIR)$(libdir)/$(notdir $(DJDEV64DEVL)) + $(RM) $(DESTDIR)$(libdir)/$(notdir $(DJDEV64LIBV)) $(RM) $(DESTDIR)$(libdir)/$(notdir $(DJDEV64LIB)) $(RM) $(DESTDIR)$(libdir)/$(notdir $(DJSTUB64DEVL)) + $(RM) $(DESTDIR)$(libdir)/$(notdir $(DJSTUB64LIBV)) $(RM) $(DESTDIR)$(libdir)/$(notdir $(DJSTUB64LIB)) ldconfig $(MAKE) -C demos src_uninstall diff --git a/src/djdev64/makefile b/src/djdev64/makefile index 27e85731..6df42df5 100644 --- a/src/djdev64/makefile +++ b/src/djdev64/makefile @@ -16,14 +16,15 @@ LIBNS = libdjdev64.dylib SHARED_LDFLAGS = $(LDFLAGS) -dynamiclib -install_name $(libdir)/$(LIBN) -compatibility_version 0.2 -current_version 0.2 else LIBN = libdjdev64.so.0.2 +LIBNV = libdjdev64.so.0 LIBNS = libdjdev64.so -SHARED_LDFLAGS = $(LDFLAGS) -shared -Wl,-soname=$(LIBN) +SHARED_LDFLAGS = $(LDFLAGS) -shared -Wl,-soname=$(LIBNV) endif LIB = $(LIBDIR)/$(LIBN) .PHONY: subs -all: $(LIBDIR)/$(LIBNS) subs +all: $(LIBDIR)/$(LIBNS) $(LIBDIR)/$(LIBNV) subs subs: $(MAKE) -C stub @@ -39,7 +40,7 @@ $(LIB): $(OBJECTS) | $(LIBDIR) $(CC) $(SHARED_LDFLAGS) -o $@ $^ \ $(LIBELF_LIBS) -$(LIBDIR)/$(LIBNS): $(LIB) +$(LIBDIR)/$(LIBNS) $(LIBDIR)/$(LIBNV): $(LIB) ln -sf $(LIBN) $@ -include $(wildcard *.d) diff --git a/src/djdev64/stub/makefile b/src/djdev64/stub/makefile index 5c29a59a..6c689399 100644 --- a/src/djdev64/stub/makefile +++ b/src/djdev64/stub/makefile @@ -23,13 +23,14 @@ LIBNS = libdjstub64.dylib SHARED_LDFLAGS = $(LDFLAGS) -dynamiclib -install_name $(libdir)/$(LIBN) -compatibility_version 0.2 -current_version 0.2 else LIBN = libdjstub64.so.0.2 +LIBNV = libdjstub64.so.0 LIBNS = libdjstub64.so -SHARED_LDFLAGS = $(LDFLAGS) -shared -Wl,-soname=$(LIBN) \ +SHARED_LDFLAGS = $(LDFLAGS) -shared -Wl,-soname=$(LIBNV) \ -Wl,--version-script=libdjstub.version endif LIB = $(LIBDIR)/$(LIBN) -all: $(LIBDIR)/$(LIBNS) +all: $(LIBDIR)/$(LIBNS) $(LIBDIR)/$(LIBNV) clean: $(RM) *.o *.d $(LIBDIR)/libdjstub64.so* $(LIBDIR)/libdjstub64.*dylib @@ -41,7 +42,7 @@ $(LIB): $(OBJECTS) libdjstub.version | $(LIBDIR) $(CC) $(SHARED_LDFLAGS) \ -o $@ $(OBJECTS) -$(LIBDIR)/$(LIBNS): $(LIB) +$(LIBDIR)/$(LIBNS) $(LIBDIR)/$(LIBNV): $(LIB) ln -sf $(LIBN) $@ -include $(wildcard *.d) diff --git a/src/libc/dj64/makefile b/src/libc/dj64/makefile index 73ea5112..65a12116 100644 --- a/src/libc/dj64/makefile +++ b/src/libc/dj64/makefile @@ -13,6 +13,7 @@ LIBN = libdj64.0.2.dylib LIBNS = libdj64.dylib else LIBN = libdj64.so.0.2 +LIBNV = libdj64.so.0 LIBNS = libdj64.so endif LIBS = libdj64_s.a @@ -83,7 +84,7 @@ OS = $(shell uname -s) ifeq ($(OS),Darwin) SHARED_LDFLAGS = $(DJ64_LDFLAGS) -dynamiclib -install_name $(prefix)/i386-pc-dj64/lib64/$(LIBN) -compatibility_version 0.2 -current_version 0.2 else -SHARED_LDFLAGS = $(DJ64_LDFLAGS) -shared -Wl,--version-script,$(srcdir)/libdj64.version -Wl,--no-undefined -Wl,--as-needed -Wl,-soname=$(LIBN) -Wl,-Bsymbolic +SHARED_LDFLAGS = $(DJ64_LDFLAGS) -shared -Wl,--version-script,$(srcdir)/libdj64.version -Wl,--no-undefined -Wl,--as-needed -Wl,-soname=$(LIBNV) -Wl,-Bsymbolic endif $(LIB)/$(LIBN): $(TOP)/makefile.rf $(ALL_OBJS) \ @@ -112,10 +113,10 @@ $(LIB)/crt0.elf: $(LIB)/libc_s.a $(LIB)/uplt.o: uplt.o cp $< $@ -$(LIB)/$(LIBNS): $(LIB)/$(LIBN) | $(LIB) +$(LIB)/$(LIBNS) $(LIB)/$(LIBNV): $(LIB)/$(LIBN) | $(LIB) ln -sf $(LIBN) $@ -final: $(LIB)/libc_s.a $(LIB)/$(LIBNS) $(LIB)/$(LIBS) $(LIB)/crt0.elf \ +final: $(LIB)/libc_s.a $(LIB)/$(LIBNS) $(LIB)/$(LIBNV) $(LIB)/$(LIBS) $(LIB)/crt0.elf \ $(LIB)/uplt.o | $(LIB) clean::