blob: 83966661d65d2cef22b838b71059cc793f374abc [file] [log] [blame]
diff -urN MUMPS_5.3.1.orig/Makefile.inc.PAR MUMPS_5.3.1/Makefile.inc.PAR
--- MUMPS_5.3.1.orig/Makefile.inc.PAR 1970-01-01 05:00:00.000000000 +0500
+++ MUMPS_5.3.1/Makefile.inc.PAR 2020-04-17 22:07:50.881403400 +0500
@@ -0,0 +1,168 @@
+#
+# This file is part of MUMPS 5.1.2, released
+# on Mon Oct 2 07:37:01 UTC 2017
+#
+################################################################################
+#
+# Makefile.inc.generic
+#
+# This defines some parameters dependent on your platform; you should
+# look for the approriate file in the directory ./Make.inc/ and copy it
+# into a file called Makefile.inc. For example, from the MUMPS root
+# directory, use
+# "cp Make.inc/Makefile.inc.generic ./Makefile.inc"
+# (see the main README file for details)
+#
+# If you do not find any suitable Makefile in Makefile.inc, use this file:
+# "cp Make.inc/Makefile.inc.generic ./Makefile.inc" and modify it according
+# to the comments given below. If you manage to build MUMPS on a new platform,
+# and think that this could be useful to others, you may want to send us
+# the corresponding Makefile.inc file.
+#
+################################################################################
+
+
+########################################################################
+#Begin orderings
+#
+# NOTE that PORD is distributed within MUMPS by default. It is recommended to
+# install other orderings. For that, you need to obtain the corresponding package
+# and modify the variables below accordingly.
+# For example, to have Metis available within MUMPS:
+# 1/ download Metis and compile it
+# 2/ uncomment (suppress # in first column) lines
+# starting with LMETISDIR, LMETIS
+# 3/ add -Dmetis in line ORDERINGSF
+# ORDERINGSF = -Dpord -Dmetis
+# 4/ Compile and install MUMPS
+# make clean; make (to clean up previous installation)
+#
+# Metis/ParMetis and SCOTCH/PT-SCOTCH (ver 6.0 and later) orderings are recommended.
+#
+
+#SCOTCHDIR = ${HOME}/scotch_6.0
+ISCOTCH = $(shell pkg-config ptscotch --cflags)
+#
+# You have to choose one among the following two lines depending on
+# the type of analysis you want to perform. If you want to perform only
+# sequential analysis choose the first (remember to add -Dscotch in the ORDERINGSF
+# variable below); for both parallel and sequential analysis choose the second
+# line (remember to add -Dptscotch in the ORDERINGSF variable below)
+
+LSCOTCH = $(shell pkg-config ptscotch --libs) -lptesmumps # -L$(SCOTCHDIR)/lib -lesmumps -lscotch -lscotcherr
+#LSCOTCH = -L$(SCOTCHDIR)/lib -lptesmumps -lptscotch -lptscotcherr
+
+
+LPORDDIR = $(topdir)/PORD/lib/
+IPORD = -I$(topdir)/PORD/include/
+LPORD = -L$(LPORDDIR) -lpord
+
+#LMETISDIR = /opt/metis-5.1.0/build/Linux-x86_64/libmetis
+IMETIS = $(shell pkg-config parmetis --cflags)
+
+# You have to choose one among the following two lines depending on
+# the type of analysis you want to perform. If you want to perform only
+# sequential analysis choose the first (remember to add -Dmetis in the ORDERINGSF
+# variable below); for both parallel and sequential analysis choose the second
+# line (remember to add -Dparmetis in the ORDERINGSF variable below)
+
+#LMETIS = -L$(LMETISDIR) -lmetis
+LMETIS = $(shell pkg-config parmetis --libs)
+
+# The following variables will be used in the compilation process.
+# Please note that -Dptscotch and -Dparmetis imply -Dscotch and -Dmetis respectively.
+# If you want to use Metis 4.X or an older version, you should use -Dmetis4 instead of -Dmetis
+# or in addition with -Dparmetis (if you are using parmetis 3.X or older).
+#ORDERINGSF = -Dscotch -Dmetis -Dpord -Dptscotch -Dparmetis
+ORDERINGSF = -Dpord -Dparmetis -Dptscotch
+ORDERINGSC = $(ORDERINGSF)
+
+LORDERINGS = $(LMETIS) $(LPORD) $(LSCOTCH)
+IORDERINGSF = $(ISCOTCH)
+IORDERINGSC = $(IMETIS) $(IPORD) $(ISCOTCH)
+
+#End orderings
+########################################################################
+
+########################################################################
+# DEFINE HERE SOME COMMON COMMANDS, THE COMPILER NAMES, ETC...
+
+# PLAT : use it to add a default suffix to the generated libraries
+PLAT = _mpi
+# Library extension, + C and Fortran "-o" option
+# may be different under Windows
+LIBEXT = .a
+OUTC = -o
+OUTF = -o
+# RM : remove files
+RM = /bin/rm -f
+# CC : C compiler
+CC = mpicc
+# FC : Fortran 90 compiler
+FC = mpif90
+# FL : Fortran linker
+FL = mpif90
+# AR : Archive object in a library
+# keep a space at the end if options have to be separated from lib name
+AR = sleep 3 && ar cr
+# RANLIB : generate index of an archive file
+# (optionnal use "RANLIB = echo" in case of problem)
+#RANLIB = ranlib
+RANLIB = echo
+
+# DEFINE HERE YOUR LAPACK LIBRARY
+
+LAPACK = #-llapack
+
+# SCALAP should define the SCALAPACK and BLACS libraries.
+SCALAP = $(shell pkg-config scalapack --libs)
+
+# INCLUDE DIRECTORY FOR MPI
+INCPAR = #-I/usr/include
+
+# LIBRARIES USED BY THE PARALLEL VERSION OF MUMPS: $(SCALAP) and MPI
+LIBPAR = $(SCALAP) $(LAPACK) #-L/usr/lib -lmpi
+
+# The parallel version is not concerned by the next two lines.
+# They are related to the sequential library provided by MUMPS,
+# to use instead of ScaLAPACK and MPI.
+INCSEQ = -I$(topdir)/libseq
+LIBSEQ = $(LAPACK) -L$(topdir)/libseq -lmpi_seq
+
+# DEFINE HERE YOUR BLAS LIBRARY
+
+LIBBLAS = $(shell pkg-config openblas --libs)
+
+# DEFINE HERE YOUR PTHREAD LIBRARY
+#LIBOTHERS = -lpthread
+
+# FORTRAN/C COMPATIBILITY:
+# Use:
+# -DAdd_ if your Fortran compiler adds an underscore at the end
+# of symbols,
+# -DAdd__ if your Fortran compiler adds 2 underscores,
+#
+# -DUPPER if your Fortran compiler uses uppercase symbols
+#
+# leave empty if your Fortran compiler does not change the symbols.
+#
+
+CDEFS = -DAdd_
+
+#COMPILER OPTIONS
+OPTF = $(CFLAGS) -I. -fopenmp -DBLR_MT -fallow-argument-mismatch
+OPTC = $(CFLAGS) -I.
+OPTL = $(CFLAGS) -fopenmp
+
+# CHOOSE BETWEEN USING THE SEQUENTIAL OR THE PARALLEL VERSION.
+
+#Sequential:
+#INCS = $(INCSEQ)
+#LIBS = $(LIBSEQ)
+#LIBSEQNEEDED = libseqneeded
+
+#Parallel:
+INCS = $(INCPAR)
+LIBS = $(LIBPAR)
+LIBSEQNEEDED =
+
diff -urN MUMPS_5.3.1.orig/Makefile.inc.SEQ MUMPS_5.3.1/Makefile.inc.SEQ
--- MUMPS_5.3.1.orig/Makefile.inc.SEQ 1970-01-01 05:00:00.000000000 +0500
+++ MUMPS_5.3.1/Makefile.inc.SEQ 2020-04-17 18:45:12.387663600 +0500
@@ -0,0 +1,154 @@
+#
+# This file is part of MUMPS 5.1.2, released
+# on Mon Oct 2 07:37:01 UTC 2017
+#
+################################################################################
+#
+# Makefile.inc.generic.SEQ
+#
+# Generic Makefile.inc for sequential (MPI free, Scalapack free) version
+#
+#
+# This defines some parameters dependent on your platform; you should
+# look for the approriate file in the directory ./Make.inc/ and copy it
+# into a file called Makefile.inc. For example, from the MUMPS root
+# directory, use
+# "cp Make.inc/Makefile.inc.generic.SEQ ./Makefile.inc"
+# (see the main README file for details)
+#
+# If you do not find any suitable Makefile in Makefile.inc, use this file:
+# "cp Make.inc/Makefile.inc.generic ./Makefile.inc" and modify it according
+# to the comments given below. If you manage to build MUMPS on a new platform,
+# and think that this could be useful to others, you may want to send us
+# the corresponding Makefile.inc file.
+#
+################################################################################
+
+
+########################################################################
+#Begin orderings
+#
+# NOTE that PORD is distributed within MUMPS by default. It is recommended to
+# install other orderings. For that, you need to obtain the corresponding package
+# and modify the variables below accordingly.
+# For example, to have Metis available within MUMPS:
+# 1/ download Metis and compile it
+# 2/ uncomment (suppress # in first column) lines
+# starting with LMETISDIR, LMETIS
+# 3/ add -Dmetis in line ORDERINGSF
+# ORDERINGSF = -Dpord -Dmetis
+# 4/ Compile and install MUMPS
+# make clean; make (to clean up previous installation)
+#
+# Metis/ParMetis and SCOTCH/PT-SCOTCH (ver 6.0 and later) orderings are recommended.
+#
+
+#SCOTCHDIR = ${HOME}/scotch_6.0
+ISCOTCH = $(shell pkg-config scotch --cflags)
+#
+# You have to choose one among the following two lines depending on
+# the type of analysis you want to perform. If you want to perform only
+# sequential analysis choose the first (remember to add -Dscotch in the ORDERINGSF
+# variable below); for both parallel and sequential analysis choose the second
+# line (remember to add -Dptscotch in the ORDERINGSF variable below)
+
+LSCOTCH = $(shell pkg-config scotch --libs) -lesmumps # -L$(SCOTCHDIR)/lib -lesmumps -lscotch -lscotcherr
+#LSCOTCH = -L$(SCOTCHDIR)/lib -lptesmumps -lptscotch -lptscotcherr
+
+
+LPORDDIR = $(topdir)/PORD/lib/
+IPORD = -I$(topdir)/PORD/include/
+LPORD = -L$(LPORDDIR) -lpord
+
+#LMETISDIR = /opt/metis-5.1.0/build/Linux-x86_64/libmetis
+IMETIS = $(shell pkg-config metis --cflags)
+
+# You have to choose one among the following two lines depending on
+# the type of analysis you want to perform. If you want to perform only
+# sequential analysis choose the first (remember to add -Dmetis in the ORDERINGSF
+# variable below); for both parallel and sequential analysis choose the second
+# line (remember to add -Dparmetis in the ORDERINGSF variable below)
+
+LMETIS = $(shell pkg-config metis --libs)
+#LMETIS = -L$(LMETISDIR) -lparmetis -lmetis
+
+# The following variables will be used in the compilation process.
+# Please note that -Dptscotch and -Dparmetis imply -Dscotch and -Dmetis respectively.
+# If you want to use Metis 4.X or an older version, you should use -Dmetis4 instead of -Dmetis
+# or in addition with -Dparmetis (if you are using parmetis 3.X or older).
+#ORDERINGSF = -Dscotch -Dmetis -Dpord -Dptscotch -Dparmetis
+ORDERINGSF = -Dpord -Dmetis -Dscotch
+ORDERINGSC = $(ORDERINGSF)
+
+LORDERINGS = $(LMETIS) $(LPORD) $(LSCOTCH)
+IORDERINGSF = $(ISCOTCH)
+IORDERINGSC = $(IMETIS) $(IPORD) $(ISCOTCH)
+
+#End orderings
+########################################################################
+
+########################################################################
+# DEFINE HERE SOME COMMON COMMANDS, THE COMPILER NAMES, ETC...
+
+# PLAT : use it to add a default suffix to the generated libraries
+PLAT = _seq
+# Library extension, + C and Fortran "-o" option
+# may be different under Windows
+LIBEXT = .a
+OUTC = -o
+OUTF = -o
+# RM : remove files
+RM = /bin/rm -f
+# CC : C compiler
+CC = gcc
+# FC : Fortran 90 compiler
+FC = gfortran
+# FL : Fortran linker
+FL = $(FC)
+# AR : Archive object in a library
+# keep a space at the end if options have to be separated from lib name
+AR = sleep 3 && ar cr
+# RANLIB : generate index of an archive file
+# (optionnal use "RANLIB = echo" in case of problem)
+RANLIB = ranlib
+RANLIB = echo
+
+# DEFINE HERE YOUR LAPACK LIBRARY
+
+LAPACK = #-llapack
+# The next two lines should not be modified. They concern
+# the sequential library provided by MUMPS, to use instead
+# of ScaLAPACK and MPI.
+INCSEQ = -I$(topdir)/libseq
+LIBSEQ = $(LAPACK) -L$(topdir)/libseq -lmpi_seq
+
+# DEFINE HERE YOUR BLAS LIBRARY
+
+LIBBLAS = $(shell pkg-config openblas --libs)
+
+# DEFINE HERE YOUR PTHREAD LIBRARY
+#LIBOTHERS = -lpthread
+
+# FORTRAN/C COMPATIBILITY:
+# Use:
+# -DAdd_ if your Fortran compiler adds an underscore at the end
+# of symbols,
+# -DAdd__ if your Fortran compiler adds 2 underscores,
+#
+# -DUPPER if your Fortran compiler uses uppercase symbols
+#
+# leave empty if your Fortran compiler does not change the symbols.
+#
+
+CDEFS = -DAdd_
+
+#COMPILER OPTIONS
+OPTF = $(CFLAGS) -I. -fallow-argument-mismatch
+OPTC = $(CFLAGS) -I.
+OPTL = $(CFLAGS)
+
+#Sequential:
+
+INCS = $(INCSEQ)
+LIBS = $(LIBSEQ)
+LIBSEQNEEDED = libseqneeded
diff -urN MUMPS_5.3.1.orig/Makefile.inc.SHM MUMPS_5.3.1/Makefile.inc.SHM
--- MUMPS_5.3.1.orig/Makefile.inc.SHM 1970-01-01 05:00:00.000000000 +0500
+++ MUMPS_5.3.1/Makefile.inc.SHM 2020-04-17 22:08:10.904570900 +0500
@@ -0,0 +1,154 @@
+#
+# This file is part of MUMPS 5.1.2, released
+# on Mon Oct 2 07:37:01 UTC 2017
+#
+################################################################################
+#
+# Makefile.inc.generic.SEQ
+#
+# Generic Makefile.inc for sequential (MPI free, Scalapack free) version
+#
+#
+# This defines some parameters dependent on your platform; you should
+# look for the approriate file in the directory ./Make.inc/ and copy it
+# into a file called Makefile.inc. For example, from the MUMPS root
+# directory, use
+# "cp Make.inc/Makefile.inc.generic.SEQ ./Makefile.inc"
+# (see the main README file for details)
+#
+# If you do not find any suitable Makefile in Makefile.inc, use this file:
+# "cp Make.inc/Makefile.inc.generic ./Makefile.inc" and modify it according
+# to the comments given below. If you manage to build MUMPS on a new platform,
+# and think that this could be useful to others, you may want to send us
+# the corresponding Makefile.inc file.
+#
+################################################################################
+
+
+########################################################################
+#Begin orderings
+#
+# NOTE that PORD is distributed within MUMPS by default. It is recommended to
+# install other orderings. For that, you need to obtain the corresponding package
+# and modify the variables below accordingly.
+# For example, to have Metis available within MUMPS:
+# 1/ download Metis and compile it
+# 2/ uncomment (suppress # in first column) lines
+# starting with LMETISDIR, LMETIS
+# 3/ add -Dmetis in line ORDERINGSF
+# ORDERINGSF = -Dpord -Dmetis
+# 4/ Compile and install MUMPS
+# make clean; make (to clean up previous installation)
+#
+# Metis/ParMetis and SCOTCH/PT-SCOTCH (ver 6.0 and later) orderings are recommended.
+#
+
+#SCOTCHDIR = ${HOME}/scotch_6.0
+ISCOTCH = $(shell pkg-config scotch --cflags)
+#
+# You have to choose one among the following two lines depending on
+# the type of analysis you want to perform. If you want to perform only
+# sequential analysis choose the first (remember to add -Dscotch in the ORDERINGSF
+# variable below); for both parallel and sequential analysis choose the second
+# line (remember to add -Dptscotch in the ORDERINGSF variable below)
+
+LSCOTCH = $(shell pkg-config scotch --libs) -lesmumps # -L$(SCOTCHDIR)/lib -lesmumps -lscotch -lscotcherr
+#LSCOTCH = -L$(SCOTCHDIR)/lib -lptesmumps -lptscotch -lptscotcherr
+
+
+LPORDDIR = $(topdir)/PORD/lib/
+IPORD = -I$(topdir)/PORD/include/
+LPORD = -L$(LPORDDIR) -lpord
+
+#LMETISDIR = /opt/metis-5.1.0/build/Linux-x86_64/libmetis
+IMETIS = $(shell pkg-config metis --cflags)
+
+# You have to choose one among the following two lines depending on
+# the type of analysis you want to perform. If you want to perform only
+# sequential analysis choose the first (remember to add -Dmetis in the ORDERINGSF
+# variable below); for both parallel and sequential analysis choose the second
+# line (remember to add -Dparmetis in the ORDERINGSF variable below)
+
+LMETIS = $(shell pkg-config metis --libs)
+#LMETIS = -L$(LMETISDIR) -lparmetis -lmetis
+
+# The following variables will be used in the compilation process.
+# Please note that -Dptscotch and -Dparmetis imply -Dscotch and -Dmetis respectively.
+# If you want to use Metis 4.X or an older version, you should use -Dmetis4 instead of -Dmetis
+# or in addition with -Dparmetis (if you are using parmetis 3.X or older).
+#ORDERINGSF = -Dscotch -Dmetis -Dpord -Dptscotch -Dparmetis
+ORDERINGSF = -Dpord -Dmetis -Dscotch
+ORDERINGSC = $(ORDERINGSF)
+
+LORDERINGS = $(LMETIS) $(LPORD) $(LSCOTCH)
+IORDERINGSF = $(ISCOTCH)
+IORDERINGSC = $(IMETIS) $(IPORD) $(ISCOTCH)
+
+#End orderings
+########################################################################
+
+########################################################################
+# DEFINE HERE SOME COMMON COMMANDS, THE COMPILER NAMES, ETC...
+
+# PLAT : use it to add a default suffix to the generated libraries
+PLAT = _shm
+# Library extension, + C and Fortran "-o" option
+# may be different under Windows
+LIBEXT = .a
+OUTC = -o
+OUTF = -o
+# RM : remove files
+RM = /bin/rm -f
+# CC : C compiler
+CC = gcc
+# FC : Fortran 90 compiler
+FC = gfortran
+# FL : Fortran linker
+FL = $(FC)
+# AR : Archive object in a library
+# keep a space at the end if options have to be separated from lib name
+AR = sleep 3 && ar cr
+# RANLIB : generate index of an archive file
+# (optionnal use "RANLIB = echo" in case of problem)
+RANLIB = ranlib
+RANLIB = echo
+
+# DEFINE HERE YOUR LAPACK LIBRARY
+
+LAPACK = #-llapack
+# The next two lines should not be modified. They concern
+# the sequential library provided by MUMPS, to use instead
+# of ScaLAPACK and MPI.
+INCSEQ = -I$(topdir)/libseq
+LIBSEQ = $(LAPACK) -L$(topdir)/libseq -lmpi_seq
+
+# DEFINE HERE YOUR BLAS LIBRARY
+
+LIBBLAS = $(shell pkg-config openblas --libs)
+
+# DEFINE HERE YOUR PTHREAD LIBRARY
+#LIBOTHERS = -lpthread
+
+# FORTRAN/C COMPATIBILITY:
+# Use:
+# -DAdd_ if your Fortran compiler adds an underscore at the end
+# of symbols,
+# -DAdd__ if your Fortran compiler adds 2 underscores,
+#
+# -DUPPER if your Fortran compiler uses uppercase symbols
+#
+# leave empty if your Fortran compiler does not change the symbols.
+#
+
+CDEFS = -DAdd_
+
+#COMPILER OPTIONS
+OPTF = $(CFLAGS) -I. -fopenmp -DBLR_MT -fallow-argument-mismatch
+OPTC = $(CFLAGS) -I.
+OPTL = $(CFLAGS) -fopenmp
+
+#Sequential:
+
+INCS = $(INCSEQ)
+LIBS = $(LIBSEQ)
+LIBSEQNEEDED = libseqneeded