diff --git a/MUMPS_4.10.0.orig/Makefile b/MUMPS_4.10.0/Makefile index fc1cb67..9a1dbb5 100644 --- a/MUMPS_4.10.0.orig/Makefile +++ b/MUMPS_4.10.0/Makefile @@ -8,7 +8,7 @@ default: dexamples .PHONY: default alllib all s d c z \ sexamples dexamples cexamples zexamples \ - mumps_lib requiredobj libseqneeded clean + mumps_lib requiredobj libseqneeded install clean alllib: s d c z all: sexamples dexamples cexamples zexamples @@ -51,29 +51,47 @@ zexamples: z (cd examples ; $(MAKE) z) -requiredobj: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord$(PLAT)$(LIBEXT) +requiredobj: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord$(PLAT)$(LIBEXT) $(libdir)/libpord$(PLAT)$(SHLIBEXT) # dummy MPI library (sequential version) libseqneeded: (cd libseq; $(MAKE)) + cp libseq/lib* $(libdir) # Build the libpord.a library and copy it into $(topdir)/lib $(libdir)/libpord$(PLAT)$(LIBEXT): if [ "$(LPORDDIR)" != "" ] ; then \ cd $(LPORDDIR); \ - $(MAKE) CC="$(CC)" CFLAGS="$(OPTC)" AR="$(AR)" RANLIB="$(RANLIB)" OUTC=$(OUTC) LIBEXT=$(LIBEXT); \ + $(MAKE) CC="$(CC)" CFLAGS="$(OPTC)" AR="$(AR)" RANLIB="$(RANLIB)" OUTC=$(OUTC) LIBEXT=$(LIBEXT) PLAT=$(PLAT) SHLIBEXT=$(SHLIBEXT); \ fi; if [ "$(LPORDDIR)" != "" ] ; then \ - cp $(LPORDDIR)/libpord$(LIBEXT) $@; \ + cp $(LPORDDIR)/libpord$(PLAT)$(LIBEXT) $@; \ fi; +$(libdir)/libpord$(PLAT)$(SHLIBEXT): + if [ "$(LPORDDIR)" != "" ] ; then \ + cd $(LPORDDIR); \ + $(MAKE) CC="$(CC)" CFLAGS="$(OPTC)" AR="$(AR)" RANLIB="$(RANLIB)" OUTC=$(OUTC) LIBEXT=$(LIBEXT) PLAT=$(PLAT) SHLIBEXT=$(SHLIBEXT) libpord$(PLAT)$(SHLIBEXT); \ + fi; + if [ "$(LPORDDIR)" != "" ] ; then \ + cp $(LPORDDIR)/libpord$(PLAT)$(SHLIBEXT) $@; \ + fi; + +prefix ?= /usr/local + +install: mumps_lib + -$(MKDIR) $(prefix)/include/ + -$(MKDIR) $(prefix)/lib/ + -$(CP) include/* $(prefix)/include/ + -$(CP) lib/* $(prefix)/lib/ + clean: (cd src; $(MAKE) clean) (cd examples; $(MAKE) clean) - (cd $(libdir); $(RM) *$(PLAT)$(LIBEXT)) + (cd $(libdir); $(RM) *$(PLAT)$(LIBEXT) *$(PLAT)$(SHLIBEXT)) (cd libseq; $(MAKE) clean) if [ $(LPORDDIR) != "" ] ; then \ - cd $(LPORDDIR); $(MAKE) realclean; \ + cd $(LPORDDIR); $(MAKE) LIBEXT=$(LIBEXT) PLAT=$(PLAT) SHLIBEXT=$(SHLIBEXT) realclean; \ fi; diff --git a/MUMPS_4.10.0.orig/PORD/lib/Makefile b/MUMPS_4.10.0/PORD/lib/Makefile index de56d23..f1defbf 100644 --- a/MUMPS_4.10.0.orig/PORD/lib/Makefile +++ b/MUMPS_4.10.0/PORD/lib/Makefile @@ -12,7 +12,7 @@ COPTIONS = $(INCLUDES) $(CFLAGS) $(OPTFLAGS) OBJS = graph.o gbipart.o gbisect.o ddcreate.o ddbisect.o nestdiss.o \ multisector.o gelim.o bucket.o tree.o \ - symbfac.o interface.o sort.o minpriority.o + symbfac.o interface.o sort.o minpriority.o # Note: numfac.c read.c mapping.c triangular.c matrix.c kernel.c # were not direcly used by MUMPS and have been removed from the @@ -21,12 +21,15 @@ OBJS = graph.o gbipart.o gbisect.o ddcreate.o ddbisect.o nestdiss.o \ .c.o: $(CC) $(COPTIONS) -c $*.c $(OUTC)$*.o -libpord$(LIBEXT):$(OBJS) +libpord$(PLAT)$(LIBEXT):$(OBJS) $(AR)$@ $(OBJS) $(RANLIB) $@ +libpord$(PLAT)$(SHLIBEXT): $(OBJS) + $(CC) -shared $(OBJS) -o libpord$(PLAT)$(SHLIBEXT) + clean: rm -f *.o realclean: - rm -f *.o libpord.a + rm -f *.o libpord$(PLAT)$(SHLIBEXT) libpord$(PLAT)$(LIBEXT) diff --git a/MUMPS_4.10.0/PORD/lib/libpord b/MUMPS_4.10.0/PORD/lib/libpord new file mode 100755 index 0000000..91cd0f2 Binary files /dev/null and b/MUMPS_4.10.0/PORD/lib/libpord differ diff --git a/MUMPS_4.10.0.orig/libseq/Makefile b/MUMPS_4.10.0/libseq/Makefile index 73701c2..cec44d0 100644 --- a/MUMPS_4.10.0.orig/libseq/Makefile +++ b/MUMPS_4.10.0/libseq/Makefile @@ -7,11 +7,15 @@ all: libmpiseq include ../Makefile.inc -libmpiseq: libmpiseq$(PLAT)$(LIBEXT) +libmpiseq: libmpiseq$(PLAT)$(LIBEXT) libmpiseq$(PLAT)$(SHLIBEXT) libmpiseq$(PLAT)$(LIBEXT): mpi.o mpic.o elapse.o $(AR)$@ mpi.o mpic.o elapse.o $(RANLIB) $@ + +libmpiseq$(PLAT)$(SHLIBEXT): mpi.o mpic.o elapse.o + $(FC) -shared $^ -o libmpiseq$(PLAT)$(SHLIBEXT) + .f.o: $(FC) $(OPTF) -c $*.f $(OUTF)$*.o .c.o: diff --git a/MUMPS_4.10.0/libseq/libmpiseq_seq.so b/MUMPS_4.10.0/libseq/libmpiseq_seq.so new file mode 100755 index 0000000..e9c024d Binary files /dev/null and b/MUMPS_4.10.0/libseq/libmpiseq_seq.so differ diff --git a/MUMPS_4.10.0.orig/src/Makefile b/MUMPS_4.10.0/src/Makefile index d42a915..1505fdf 100644 --- a/MUMPS_4.10.0.orig/src/Makefile +++ b/MUMPS_4.10.0/src/Makefile @@ -20,7 +20,10 @@ z: include $(topdir)/Makefile.inc mumps_lib: $(libdir)/libmumps_common$(PLAT)$(LIBEXT) \ - $(libdir)/lib$(ARITH)mumps$(PLAT)$(LIBEXT) + $(libdir)/libmumps_common$(PLAT)$(SHLIBEXT) \ + $(libdir)/lib$(ARITH)mumps$(PLAT)$(LIBEXT) \ + $(libdir)/lib$(ARITH)mumps$(PLAT)$(SHLIBEXT) + OBJS_COMMON = \ mumps_part9.o\ @@ -34,9 +37,9 @@ OBJS_COMMON = \ mumps_io_err.o\ mumps_static_mapping.o\ mumps_sol_es.o\ - tools_common_mod.o + tools_common_mod.o -OBJS = $(ARITH)mumps_part1.o\ +OBJS = $(ARITH)mumps_part1.o\ $(ARITH)mumps_part2.o\ $(ARITH)mumps_part3.o\ $(ARITH)mumps_part4.o\ @@ -60,14 +63,22 @@ $(libdir)/lib$(ARITH)mumps$(PLAT)$(LIBEXT): $(OBJS) $(AR)$@ $? $(RANLIB) $@ +$(libdir)/libmumps_common$(PLAT)$(SHLIBEXT): $(OBJS_COMMON) + $(FC) -shared $^ -L$(libdir) $(LORDERINGS) $(LIBS) $(LIBBLAS) $(LIBOTHERS) -o $(libdir)/libmumps_common$(PLAT)$(SHLIBEXT) + + +$(libdir)/lib$(ARITH)mumps$(PLAT)$(SHLIBEXT): $(OBJS) + $(FC) -shared $^ -L$(libdir) -lmumps_common$(PLAT) $(LORDERINGS) $(LIBS) $(LIBBLAS) $(LIBOTHERS) -o $(libdir)/lib$(ARITH)mumps$(PLAT)$(SHLIBEXT) + + $(ARITH)mumps_load.o: $(ARITH)mumps_comm_buffer.o \ - $(ARITH)mumps_struc_def.o + $(ARITH)mumps_struc_def.o -$(ARITH)mumps_ooc.o: $(ARITH)mumps_struc_def.o \ - $(ARITH)mumps_ooc_buffer.o \ - mumps_ooc_common.o +$(ARITH)mumps_ooc.o: $(ARITH)mumps_struc_def.o \ + $(ARITH)mumps_ooc_buffer.o \ + mumps_ooc_common.o -$(ARITH)mumps_ooc_buffer.o: mumps_ooc_common.o +$(ARITH)mumps_ooc_buffer.o: mumps_ooc_common.o $(ARITH)mumps_part1.o \ @@ -78,8 +89,8 @@ $(ARITH)mumps_part5.o \ $(ARITH)mumps_part6.o \ $(ARITH)mumps_part7.o \ $(ARITH)mumps_part8.o: $(ARITH)mumps_comm_buffer.o \ - $(ARITH)mumps_load.o \ - $(ARITH)mumps_ooc.o + $(ARITH)mumps_load.o \ + $(ARITH)mumps_ooc.o $(ARITH)mumps_part5.o: mumps_static_mapping.o $(ARITH)mumps_part5.o: $(ARITH)mumps_part2.o @@ -95,7 +106,7 @@ $(ARITH)mumps_part8.o : mumps_sol_es.o $(ARITH)mumps_c.o: mumps_c.c $(CC) $(OPTC) $(INCS) $(CDEFS) -DMUMPS_ARITH=MUMPS_ARITH_$(ARITH) \ - $(IORDERINGSC) $(ORDERINGSC) -I../include -c $? $(OUTC)$@ + $(IORDERINGSC) $(ORDERINGSC) -I../include -c $? $(OUTC)$@ clean: