64 lines
2.6 KiB
Diff
64 lines
2.6 KiB
Diff
|
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.1.2.so -L$(libdir) $(LORDERINGS) -lpthread $(MPIFLIB) $(MPICLIB) $(LEXTRAS) -o $(libdir)/libmumps_common$(PLAT)-5.1.2.so -Wl,-z,defs
|
||
|
+ ln -s libmumps_common$(PLAT)-5.1.2.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.1.2.so -L$(libdir) -lmumps_common$(PLAT) $(LORDERINGS) $(MPIFLIB) $(LEXTRAS) $(LIBBLAS) $(SCALAP) $(LAPACK) -o $(libdir)/lib$(ARITH)mumps$(PLAT)-5.1.2.so -Wl,-z,defs
|
||
|
+ ln -s lib$(ARITH)mumps$(PLAT)-5.1.2.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:
|