summarylogtreecommitdiffstats
path: root/MUMPS-shared.patch
blob: a380f2fb2fa999295c51f0e8e65ba0c78e6db9e9 (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
--- src/Makefile
+++ src/Makefile
@@ -23,9 +23,10 @@ z:
 include $(topdir)/Makefile.inc
 
 mumps_lib:    $(incdir)/mumps_int_def.h \
-              $(libdir)/libmumps_common$(PLAT)$(LIBEXT) \
-              $(libdir)/lib$(ARITH)mumps$(PLAT)$(LIBEXT)
-
+              $(libdir)/libmumps_common$(PLAT).a \
+              $(libdir)/libmumps_common$(PLAT).so \
+              $(libdir)/lib$(ARITH)mumps$(PLAT).a \
+              $(libdir)/lib$(ARITH)mumps$(PLAT).so
 # Build $(incdir)/mumps_int_def.h, needed by mumps_c_types.h
 $(incdir)/mumps_int_def.h: build_mumps_int_def 
 	./build_mumps_int_def > $(incdir)/mumps_int_def.h
@@ -188,14 +189,22 @@ OBJS_OTHER = \
         $(ARITH)tools.o\
         $(ARITH)type3_root.o
 
-$(libdir)/libmumps_common$(PLAT)$(LIBEXT):      $(OBJS_COMMON_MOD) $(OBJS_COMMON_OTHER)
+$(libdir)/libmumps_common$(PLAT).a:      $(OBJS_COMMON_MOD) $(OBJS_COMMON_OTHER)
 	$(AR)$@ $?
 	$(RANLIB) $@
+	
+$(libdir)/libmumps_common$(PLAT).so:	$(OBJS_COMMON_MOD) $(OBJS_COMMON_OTHER)
+	$(FC) -shared $^ -Wl,-soname,libmumps_common$(PLAT).so.$(SONAME_VERSION) $(OPTL) -L$(libdir) $(LORDERINGS) -lpthread $(MPIFLIB) $(MPICLIB) -o $(libdir)/libmumps_common$(PLAT).so.$(SONAME_VERSION) $(OPTL) -Wl,-z,defs
+	ln -fs libmumps_common$(PLAT).so.$(SONAME_VERSION) $@
 
-$(libdir)/lib$(ARITH)mumps$(PLAT)$(LIBEXT):    $(OBJS_MOD) $(OBJS_OTHER)
+$(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).so.$(SONAME_VERSION) $(OPTL) -L$(libdir) -lmumps_common$(PLAT) $(LORDERINGS) $(MPIFLIB) $(SCALAP) -o $(libdir)/lib$(ARITH)mumps$(PLAT).so.$(SONAME_VERSION) $(OPTL) -Wl,-z,defs
+	ln -fs lib$(ARITH)mumps$(PLAT).so.$(SONAME_VERSION) $@
+
 # Dependencies between modules:
 # i) arithmetic-dependent modules:
 $(ARITH)ana_aux.o:              $(ARITH)mumps_struc_def.o \