Create a shared version of the MUMPS library. Index: mumps/src/Makefile =================================================================== --- mumps.orig/src/Makefile +++ mumps/src/Makefile @@ -23,8 +23,10 @@ z: include $(topdir)/Makefile.inc -mumps_lib: $(libdir)/libmumps_common$(PLAT)$(LIBEXT) \ - $(libdir)/lib$(ARITH)mumps$(PLAT)$(LIBEXT) +mumps_lib: $(libdir)/libmumps_common$(PLAT).a \ + $(libdir)/libmumps_common$(PLAT).so \ + $(libdir)/lib$(ARITH)mumps$(PLAT).a \ + $(libdir)/lib$(ARITH)mumps$(PLAT).so OBJS_COMMON_MOD = \ lr_common.o \ @@ -167,14 +169,22 @@ OBJS_OTHER = \ $(ARITH)tools.o\ $(ARITH)type3_root.o -$(libdir)/libmumps_common$(PLAT)$(LIBEXT): $(OBJS_COMMON_MOD) $(OBJS_COMMON_OTHER) - $(AR)$@ $? +$(libdir)/libmumps_common$(PLAT).a: $(OBJS_COMMON_MOD) $(OBJS_COMMON_OTHER) + $(AR) $@ $? $(RANLIB) $@ -$(libdir)/lib$(ARITH)mumps$(PLAT)$(LIBEXT): $(OBJS_MOD) $(OBJS_OTHER) - $(AR)$@ $? +$(libdir)/libmumps_common$(PLAT).so: $(OBJS_COMMON_MOD) $(OBJS_COMMON_OTHER) + $(FC) -shared $^ -Wl,-soname,libmumps_common$(PLAT)-5.2.1.so -L$(libdir) $(LORDERINGS) -lpthread $(MPIFLIB) $(MPICLIB) $(LEXTRAS) -o $(libdir)/libmumps_common$(PLAT)-5.2.1.so -Wl,-z,defs + ln -s libmumps_common$(PLAT)-5.2.1.so $@ + +$(libdir)/lib$(ARITH)mumps$(PLAT).a: $(OBJS_MOD) $(OBJS_OTHER) + $(AR) $@ $? $(RANLIB) $@ +$(libdir)/lib$(ARITH)mumps$(PLAT).so: $(OBJS_MOD) $(OBJS_OTHER) + $(FC) -shared $^ -Wl,-soname,lib$(ARITH)mumps$(PLAT)-5.2.1.so -L$(libdir) -lmumps_common$(PLAT) $(LORDERINGS) $(MPIFLIB) $(LEXTRAS) $(LIBBLAS) $(SCALAP) $(LAPACK) -o $(libdir)/lib$(ARITH)mumps$(PLAT)-5.2.1.so -Wl,-z,defs + ln -s lib$(ARITH)mumps$(PLAT)-5.2.1.so $@ + # Dependencies between modules: $(ARITH)mumps_load.o: $(ARITH)mumps_comm_buffer.o \ $(ARITH)mumps_struc_def.o \ @@ -290,13 +300,13 @@ $(OBJS_OTHER):$(OBJS_COMMON_MOD) $(OBJS_ .SUFFIXES: .c .F .o .F.o: - $(FC) $(OPTF) $(INCS) $(IORDERINGSF) $(ORDERINGSF) -I. -I../include -c $*.F $(OUTF)$*.o + $(FC) $(OPTF) $(INCS) $(IORDERINGSF) $(ORDERINGSF) -I. -I../include -fPIC -c $*.F $(OUTF)$*.o .c.o: - $(CC) $(OPTC) $(INCS) -I../include $(CDEFS) $(IORDERINGSC) $(ORDERINGSC) -c $*.c $(OUTC)$*.o + $(CC) $(OPTC) $(INCS) -I../include $(CDEFS) $(IORDERINGSC) $(ORDERINGSC) -fPIC -c $*.c $(OUTC)$*.o $(ARITH)mumps_c.o: mumps_c.c $(CC) $(OPTC) $(INCS) $(CDEFS) -DMUMPS_ARITH=MUMPS_ARITH_$(ARITH) \ - $(IORDERINGSC) $(ORDERINGSC) -I../include -c mumps_c.c $(OUTC)$@ + $(IORDERINGSC) $(ORDERINGSC) -I../include -fPIC -c mumps_c.c $(OUTC)$@ clean: s='left'>Author 2024-02-05services: kernel-module-lodaer: Add udev requirement....Hilton Chain 2023-10-07services: fstrim-service-type: Serialize with SRFI-171 transducers....Bruno Victal 2023-08-21gnu: earlyoom: Improve description....Ludovic Courtès 2023-08-21services: earlyoom: Move 'user-processes' to 'requirements'....Ludovic Courtès 2023-08-21services: Add missing 'user-processes' requirements....Ludovic Courtès 2023-08-15services: Add cachefilesd service....Felix Lechner 2023-05-04services: earlyoom: Rotate log files....Efraim Flashner 2023-04-02services: replace bare serializers with (serializer ...)...Bruno Victal 2023-03-28services: fstrim: Fix schedule ungexp....Bruno Victal 2023-03-22services: Add fstrim-service-type....Bruno Victal 2022-06-11system: Align zram priority with swap-space spec to clarify....Josselin Poiret