gnu: mumps: Update to 5.5.1
* gnu/packages/maths.scm (mumps): Update to 5.5.1. Stop applying patches as the build configuration has been updated upstream. Allow for further optimized BLR compression by specifying the -DBLR_MT build option. * gnu/packages/patches/mumps-build-parallelism.patch: File removed. * gnu/packages/patches/mumps-shared-libseq.patch: File removed. * gnu/packages/patches/mumps-shared-mumps.patch: File removed. * gnu/packages/patches/mumps-shared-pord.patch: File removed. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
parent
81faecf77c
commit
b70d6ce627
|
@ -1525,10 +1525,6 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/mosaicatcher-unbundle-htslib.patch \
|
%D%/packages/patches/mosaicatcher-unbundle-htslib.patch \
|
||||||
%D%/packages/patches/mrrescue-support-love-11.patch \
|
%D%/packages/patches/mrrescue-support-love-11.patch \
|
||||||
%D%/packages/patches/mtools-mformat-uninitialized.patch \
|
%D%/packages/patches/mtools-mformat-uninitialized.patch \
|
||||||
%D%/packages/patches/mumps-build-parallelism.patch \
|
|
||||||
%D%/packages/patches/mumps-shared-libseq.patch \
|
|
||||||
%D%/packages/patches/mumps-shared-mumps.patch \
|
|
||||||
%D%/packages/patches/mumps-shared-pord.patch \
|
|
||||||
%D%/packages/patches/mupen64plus-ui-console-notice.patch \
|
%D%/packages/patches/mupen64plus-ui-console-notice.patch \
|
||||||
%D%/packages/patches/mupen64plus-video-z64-glew-correct-path.patch \
|
%D%/packages/patches/mupen64plus-video-z64-glew-correct-path.patch \
|
||||||
%D%/packages/patches/musl-cross-locale.patch \
|
%D%/packages/patches/musl-cross-locale.patch \
|
||||||
|
|
|
@ -53,6 +53,7 @@
|
||||||
;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
|
;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
|
||||||
;;; Copyright © 2022 Sharlatan Hellseher <sharlatanus@gmail.com>
|
;;; Copyright © 2022 Sharlatan Hellseher <sharlatanus@gmail.com>
|
||||||
;;; Copyright © 2022 Philip McGrath <philip@philipmcgrath.com>
|
;;; Copyright © 2022 Philip McGrath <philip@philipmcgrath.com>
|
||||||
|
;;; Copyright © 2022 Marek Felšöci <marek@felsoci.sk>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -3735,7 +3736,7 @@ language understood by many solvers.")
|
||||||
(define-public mumps
|
(define-public mumps
|
||||||
(package
|
(package
|
||||||
(name "mumps")
|
(name "mumps")
|
||||||
(version "5.2.1")
|
(version "5.5.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -3743,11 +3744,7 @@ language understood by many solvers.")
|
||||||
version ".tar.gz"))
|
version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0jklh54x4y3ik1zkw6db7766kakjm5910diyaghfxxf8vwsgr26r"))
|
"05gs2i8b76m9flm1826fxpyfnwibjjawbmfza3ylrvj7zaag5gqs"))))
|
||||||
(patches (search-patches "mumps-build-parallelism.patch"
|
|
||||||
"mumps-shared-libseq.patch"
|
|
||||||
"mumps-shared-mumps.patch"
|
|
||||||
"mumps-shared-pord.patch"))))
|
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(inputs
|
(inputs
|
||||||
(list gfortran
|
(list gfortran
|
||||||
|
@ -3764,58 +3761,71 @@ language understood by many solvers.")
|
||||||
#:phases
|
#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
(replace 'configure
|
(replace 'configure
|
||||||
(lambda* (#:key inputs #:allow-other-keys)
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
(call-with-output-file "Makefile.inc"
|
(call-with-output-file "Makefile.inc"
|
||||||
(lambda (port)
|
(lambda (port)
|
||||||
(format port "
|
(format port "
|
||||||
PLAT =
|
PLAT =
|
||||||
LIBEXT = .a
|
LIBEXT = .a
|
||||||
OUTC = -o
|
LIBEXT_SHARED = .so
|
||||||
OUTF = -o
|
OUTC = -o
|
||||||
RM = rm -f~:[
|
OUTF = -o
|
||||||
CC = gcc
|
BLASDIR = ~a
|
||||||
FC = gfortran
|
LIBBLAS = -Wl,-rpath=$(BLASDIR)/lib -Wl,-rpath='$$ORIGIN'
|
||||||
FL = gfortran
|
LIBBLAS += -L$(BLASDIR)/lib
|
||||||
INCSEQ = -I$(topdir)/libseq
|
LIBBLAS += -lopenblas~@[
|
||||||
LIBSEQ = $(topdir)/libseq/libmpiseq.a
|
SCALAPDIR = ~a
|
||||||
LIBSEQNEEDED = libseqneeded~;
|
SCALAP = -Wl,-rpath=$(SCALAPDIR)/lib -Wl,-rpath='$$ORIGIN'
|
||||||
CC = mpicc
|
SCALAP += -L$(SCALAPDIR)/lib -lscalapack~]
|
||||||
FC = mpifort
|
RM = rm -f~:[
|
||||||
FL = mpifort~]
|
CC = gcc
|
||||||
AR = ar vr # rules require trailing space, ugh...
|
FC = gfortran
|
||||||
RANLIB = ranlib
|
FL = gfortran
|
||||||
BLASDIR = ~a
|
INCSEQ = -I$(topdir)/libseq
|
||||||
LIBBLAS = -Wl,-rpath=$(BLASDIR) -Wl,-rpath='$$ORIGIN' -L$(BLASDIR) -lopenblas~@[
|
LIBSEQ = $(LAPACK) -L$(topdir)/libseq -lmpiseq
|
||||||
SCALAPDIR = ~a
|
LIBSEQNEEDED = libseqneeded
|
||||||
SCALAP = -Wl,-rpath=$(SCALAPDIR) -Wl,-rpath='$$ORIGIN' -L$(SCALAPDIR) -lscalapack~]
|
INCS = $(INCSEQ)
|
||||||
LIBOTHERS = -pthread
|
LIBS = $(LIBSEQ)~;
|
||||||
CDEFS = -DAdd_
|
CC = mpicc
|
||||||
PIC = -fPIC
|
FC = mpifort
|
||||||
OPTF = -O2 -DALLOW_NON_INIT -fallow-argument-mismatch $(PIC)
|
FL = mpifort
|
||||||
OPTL = -O2 $(PIC)
|
INCPAR =
|
||||||
OPTC = -O2 $(PIC)
|
LIBPAR = $(SCALAP) $(LAPACK)
|
||||||
INCS = $(INCSEQ)
|
LIBSEQNEEDED =
|
||||||
LIBS = $(SCALAP) $(LIBSEQ)
|
INCS = $(INCPAR)
|
||||||
LPORDDIR = $(topdir)/PORD/lib
|
LIBS = $(LIBPAR)~]
|
||||||
IPORD = -I$(topdir)/PORD/include
|
AR = ar vr # rules require trailing space, ugh...
|
||||||
LPORD = $(LPORDDIR)/libpord.a
|
RANLIB = ranlib
|
||||||
ORDERINGSF = -Dpord~@[
|
LIBOTHERS = -pthread
|
||||||
METISDIR = ~a
|
CDEFS = -DAdd_
|
||||||
IMETIS = -I$(METISDIR)/include
|
PIC = -fPIC
|
||||||
LMETIS = -Wl,-rpath $(METISDIR)/lib -L$(METISDIR)/lib -lmetis
|
FPIC_OPT = $(PIC)
|
||||||
ORDERINGSF += -Dmetis~]~@[~:{
|
RPATH_OPT = -Wl,-rpath,~a/lib
|
||||||
SCOTCHDIR = ~a
|
OPTF = -O2 -fopenmp -DALLOW_NON_INIT -DBLR_MT
|
||||||
ISCOTCH = -I$(SCOTCHDIR)/include
|
OPTF += -fallow-argument-mismatch $(PIC)
|
||||||
LSCOTCH = -Wl,-rpath $(SCOTCHDIR)/lib -L$(SCOTCHDIR)/lib ~a-lesmumps -lscotch -lscotcherr
|
OPTL = -O2 -fopenmp $(PIC)
|
||||||
ORDERINGSF += ~a~}~]
|
OPTC = -O2 -fopenmp $(PIC)
|
||||||
ORDERINGSC = $(ORDERINGSF)
|
LPORDDIR = $(topdir)/PORD/lib
|
||||||
LORDERINGS = $(LPORD) $(LMETIS) $(LSCOTCH) $(LIBSEQ)
|
IPORD = -I$(topdir)/PORD/include
|
||||||
IORDERINGSF = $(ISCOTCH)
|
LPORD = $(LPORDDIR)/libpord.a
|
||||||
IORDERINGSC = $(IPORD) $(IMETIS) $(ISCOTCH)"
|
ORDERINGSF = -Dpord~@[
|
||||||
(->bool (which "mpicc")) ;MPI support enabled?
|
METISDIR = ~a
|
||||||
(dirname
|
IMETIS = -I$(METISDIR)/include
|
||||||
(dirname (search-input-file inputs "/include/cblas.h")))
|
LMETIS = -Wl,-rpath $(METISDIR)/lib -L$(METISDIR)/lib -lmetis
|
||||||
|
ORDERINGSF += -Dmetis~]~@[~:{
|
||||||
|
SCOTCHDIR = ~a
|
||||||
|
ISCOTCH = -I$(SCOTCHDIR)/include
|
||||||
|
LSCOTCH = -Wl,-rpath $(SCOTCHDIR)/lib -L$(SCOTCHDIR)/lib ~a -lesmumps
|
||||||
|
LSCOTCH += -lscotch -lscotcherr
|
||||||
|
ORDERINGSF += ~a~}~]
|
||||||
|
ORDERINGSC = $(ORDERINGSF)
|
||||||
|
LORDERINGS = $(LPORD) $(LMETIS) $(LSCOTCH)
|
||||||
|
IORDERINGSF = $(ISCOTCH)
|
||||||
|
IORDERINGSC = $(IPORD) $(IMETIS) $(ISCOTCH)"
|
||||||
|
(assoc-ref inputs "openblas")
|
||||||
(assoc-ref inputs "scalapack")
|
(assoc-ref inputs "scalapack")
|
||||||
|
(->bool (which "mpicc")) ;; MPI support enabled?
|
||||||
|
(assoc-ref outputs "out")
|
||||||
(assoc-ref inputs "metis")
|
(assoc-ref inputs "metis")
|
||||||
(match (list (assoc-ref inputs "pt-scotch")
|
(match (list (assoc-ref inputs "pt-scotch")
|
||||||
(assoc-ref inputs "scotch"))
|
(assoc-ref inputs "scotch"))
|
||||||
|
@ -3828,11 +3838,14 @@ IORDERINGSC = $(IPORD) $(IMETIS) $(ISCOTCH)"
|
||||||
"-lesmumps -lptscotch -lptscotcherr "
|
"-lesmumps -lptscotch -lptscotcherr "
|
||||||
"-Dptscotch")))))))))
|
"-Dptscotch")))))))))
|
||||||
(replace 'build
|
(replace 'build
|
||||||
;; By default only the d-precision library is built. Make with "all"
|
;; By default only the d-precision library is built. Make with "all"
|
||||||
;; target so that all precision libraries and examples are built.
|
;; target so that all precision libraries and examples are built.
|
||||||
(lambda _
|
;; Then, "make allshared" builts equivalent shared libraries as well.
|
||||||
(invoke "make" "all"
|
(lambda _
|
||||||
(format #f "-j~a" (parallel-job-count)))))
|
(invoke "make" "all"
|
||||||
|
(format #f "-j~a" (parallel-job-count)))
|
||||||
|
(invoke "make" "allshared"
|
||||||
|
(format #f "-j~a" (parallel-job-count)))))
|
||||||
(replace 'check
|
(replace 'check
|
||||||
;; Run the simple test drivers, which read test input from stdin:
|
;; Run the simple test drivers, which read test input from stdin:
|
||||||
;; from the "real" input for the single- and double-precision
|
;; from the "real" input for the single- and double-precision
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
Building sublibraries in parallel can lead to race conditions on the libseq
|
|
||||||
and lipord targets.
|
|
||||||
|
|
||||||
--- MUMPS_5.0.0/Makefile.orig 2015-06-15 10:08:54.523146562 -0500
|
|
||||||
+++ MUMPS_5.0.0/Makefile 2015-06-15 10:19:44.074367512 -0500
|
|
||||||
@@ -11,6 +11,7 @@
|
|
||||||
sexamples dexamples cexamples zexamples \
|
|
||||||
mumps_lib requiredobj libseqneeded clean
|
|
||||||
|
|
||||||
+.NOTPARALLEL:
|
|
||||||
alllib: c z s d
|
|
||||||
all: cexamples zexamples sexamples dexamples
|
|
||||||
|
|
|
@ -1,42 +0,0 @@
|
||||||
Create a shared version of the sequential library, MUST BE LAST IN SERIES
|
|
||||||
|
|
||||||
Index: mumps/libseq/Makefile
|
|
||||||
===================================================================
|
|
||||||
--- mumps.orig/libseq/Makefile
|
|
||||||
+++ mumps/libseq/Makefile
|
|
||||||
@@ -8,15 +8,17 @@ all: libmpiseq
|
|
||||||
|
|
||||||
include ../Makefile.inc
|
|
||||||
|
|
||||||
-libmpiseq: libmpiseq$(PLAT)$(LIBEXT)
|
|
||||||
+libmpiseq: libmpiseq$(PLAT).a libmpiseq$(PLAT).so
|
|
||||||
|
|
||||||
-libmpiseq$(PLAT)$(LIBEXT): mpi.o mpic.o elapse.o
|
|
||||||
- $(AR)$@ mpi.o mpic.o elapse.o
|
|
||||||
+libmpiseq$(PLAT).a: mpi.o mpic.o elapse.o
|
|
||||||
+ $(AR) $@ mpi.o mpic.o elapse.o
|
|
||||||
$(RANLIB) $@
|
|
||||||
+libmpiseq$(PLAT).so: mpi.o mpic.o elapse.o
|
|
||||||
+ $(FC) -shared $^ -Wl,-soname,libmpiseq$(PLAT)-5.2.1.so -o libmpiseq$(PLAT)-5.2.1.so -Wl,-z,defs
|
|
||||||
.f.o:
|
|
||||||
- $(FC) $(OPTF) -c $*.f $(OUTF)$*.o
|
|
||||||
+ $(FC) $(OPTF) -fPIC -c $*.f $(OUTF)$*.o
|
|
||||||
.c.o:
|
|
||||||
- $(CC) $(OPTC) $(CDEFS) -I. -c $*.c $(OUTC)$*.o
|
|
||||||
+ $(CC) $(OPTC) $(CDEFS) -I. -fPIC -c $*.c $(OUTC)$*.o
|
|
||||||
|
|
||||||
clean:
|
|
||||||
- $(RM) *.o *$(LIBEXT)
|
|
||||||
+ $(RM) *.o *.a *.so
|
|
||||||
Index: mumps/Makefile
|
|
||||||
===================================================================
|
|
||||||
--- mumps.orig/Makefile
|
|
||||||
+++ mumps/Makefile
|
|
||||||
@@ -60,6 +60,7 @@ requiredobj: Makefile.inc $(LIBSEQNEEDED
|
|
||||||
|
|
||||||
libseqneeded:
|
|
||||||
(cd libseq; $(MAKE))
|
|
||||||
+ cp libseq/lib* $(libdir)
|
|
||||||
|
|
||||||
# Build the libpord.a library and copy it into $(topdir)/lib
|
|
||||||
$(libdir)/libpord$(PLAT).a:
|
|
|
@ -1,63 +0,0 @@
|
||||||
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:
|
|
|
@ -1,77 +0,0 @@
|
||||||
Create static and shared versions of the PORD library.
|
|
||||||
|
|
||||||
Index: mumps/PORD/lib/Makefile
|
|
||||||
===================================================================
|
|
||||||
--- mumps.orig/PORD/lib/Makefile
|
|
||||||
+++ mumps/PORD/lib/Makefile
|
|
||||||
@@ -9,7 +9,7 @@
|
|
||||||
|
|
||||||
INCLUDES = -I../include
|
|
||||||
|
|
||||||
-COPTIONS = $(INCLUDES) $(CFLAGS) $(OPTFLAGS)
|
|
||||||
+COPTIONS = $(INCLUDES) $(CFLAGS) $(OPTFLAGS) -fPIC
|
|
||||||
|
|
||||||
OBJS = graph.o gbipart.o gbisect.o ddcreate.o ddbisect.o nestdiss.o \
|
|
||||||
multisector.o gelim.o bucket.o tree.o \
|
|
||||||
@@ -24,12 +24,16 @@ OBJS = graph.o gbipart.o gbisect.o ddcre
|
|
||||||
.c.o:
|
|
||||||
$(CC) $(COPTIONS) -c $*.c $(OUTC)$*.o
|
|
||||||
|
|
||||||
-libpord$(LIBEXT):$(OBJS)
|
|
||||||
- $(AR)$@ $(OBJS)
|
|
||||||
+libpord$(PLAT).a:$(OBJS)
|
|
||||||
+ $(AR) $@ $(OBJS)
|
|
||||||
$(RANLIB) $@
|
|
||||||
|
|
||||||
+libpord$(PLAT).so: $(OBJS)
|
|
||||||
+ $(CC) -shared $(OBJS) -Wl,-soname,libpord$(PLAT)-5.2.1.so -o libpord$(PLAT)-5.2.1.so -Wl,-z,defs
|
|
||||||
+ ln -s libpord$(PLAT)-5.2.1.so $@
|
|
||||||
+
|
|
||||||
clean:
|
|
||||||
rm -f *.o
|
|
||||||
|
|
||||||
realclean:
|
|
||||||
- rm -f *.o libpord.a
|
|
||||||
+ rm -f *.o libpord*.a *.so
|
|
||||||
Index: mumps/Makefile
|
|
||||||
===================================================================
|
|
||||||
--- mumps.orig/Makefile
|
|
||||||
+++ mumps/Makefile
|
|
||||||
@@ -54,7 +54,7 @@ dexamples: d
|
|
||||||
multi_example: s d c z
|
|
||||||
(cd examples ; $(MAKE) multi)
|
|
||||||
|
|
||||||
-requiredobj: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord$(PLAT)$(LIBEXT)
|
|
||||||
+requiredobj: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord$(PLAT).a $(libdir)/libpord$(PLAT).so
|
|
||||||
|
|
||||||
# dummy MPI library (sequential version)
|
|
||||||
|
|
||||||
@@ -62,19 +62,25 @@ libseqneeded:
|
|
||||||
(cd libseq; $(MAKE))
|
|
||||||
|
|
||||||
# Build the libpord.a library and copy it into $(topdir)/lib
|
|
||||||
-$(libdir)/libpord$(PLAT)$(LIBEXT):
|
|
||||||
+$(libdir)/libpord$(PLAT).a:
|
|
||||||
if [ "$(LPORDDIR)" != "" ] ; then \
|
|
||||||
cd $(LPORDDIR); \
|
|
||||||
$(MAKE) CC="$(CC)" CFLAGS="$(OPTC)" AR="$(AR)" RANLIB="$(RANLIB)" OUTC="$(OUTC)" LIBEXT=$(LIBEXT); \
|
|
||||||
fi;
|
|
||||||
if [ "$(LPORDDIR)" != "" ] ; then \
|
|
||||||
- cp $(LPORDDIR)/libpord$(LIBEXT) $@; \
|
|
||||||
+ cp $(LPORDDIR)/libpord$(PLAT).a $@; \
|
|
||||||
fi;
|
|
||||||
|
|
||||||
+$(libdir)/libpord$(PLAT).so:
|
|
||||||
+ if [ "$(LPORDDIR)" != "" ] ; then \
|
|
||||||
+ cd $(LPORDDIR); make CC="$(CC)" CFLAGS="$(OPTC)" AR="$(AR)" ARFUNCT= RANLIB="$(RANLIB)" libpord$(PLAT).so; fi;
|
|
||||||
+ if [ "$(LPORDDIR)" != "" ] ; then \
|
|
||||||
+ cp -a $(LPORDDIR)/libpord*.so lib/; fi;
|
|
||||||
+
|
|
||||||
clean:
|
|
||||||
(cd src; $(MAKE) clean)
|
|
||||||
(cd examples; $(MAKE) clean)
|
|
||||||
- (cd $(libdir); $(RM) *$(PLAT)$(LIBEXT))
|
|
||||||
+ (cd $(libdir); $(RM) *$(PLAT).a *$(PLAT).so)
|
|
||||||
(cd libseq; $(MAKE) clean)
|
|
||||||
if [ "$(LPORDDIR)" != "" ] ; then \
|
|
||||||
cd $(LPORDDIR); $(MAKE) realclean; \
|
|
Reference in New Issue