#
# This file is part of MUMPS 5.0.1, changed to be configured by waf scripts
# provided by the Code_Aster team.
#
#Begin orderings

# NOTE that PORD is distributed within MUMPS by default. If you would like to
# use other orderings, 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 5.1 and later) orderings are now available for MUMPS.
#

ISCOTCH = -I/opt/scotch-6.0.4/include
# 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 = ?LIBPATH? ?LIB_SCOTCH? ?STLIB_SCOTCH? 
LSCOTCH = -L/opt/scotch-6.0.4/lib -lptesmumps -lptscotch -lptscotcherr -lesmumps -lscotch -lscotcherr


LPORDDIR = $(topdir)/PORD/lib/
IPORD = -I$(topdir)/PORD/include/
LPORD = -L$(LPORDDIR) -lpord

#IMETIS = # Metis doesn't need include files (Fortran interface avail.)
# 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)

IMETIS = -I/opt/aster/public/metis-5.1.0/include
IPARMETIS = -I/opt/parmetis-4.0.3/include

#LMETIS = ?LIBPATH? ?LIB_PARMETIS? ?STLIB_PARMETIS? ?LIB_METIS? ?STLIB_METIS? 
LMETIS = -L/opt/aster/public/metis-5.1.0/lib -lmetis
LPARMETIS = -L/opt/parmetis-4.0.3/lib -lparmetis

# The following variables will be used in the compilation process.
# Please note that -Dptscotch and -Dparmetis imply -Dscotch and -Dmetis respectively.
ORDERINGSF = -Dmetis -Dpord -Dscotch
#ORDERINGSF = -Dscotch -Dmetis -Dpord -Dptscotch -Dparmetis
#ORDERINGSF = ?ORDERINGS?
ORDERINGSC = $(ORDERINGSF)

LORDERINGS = $(LMETIS) $(LPORD) $(LSCOTCH) $(LPARMETIS)
IORDERINGSF = $(ISCOTCH)
IORDERINGSC = $(IMETIS) $(IPORD) $(ISCOTCH) $(IPARMETIS)

#End orderings
########################################################################
################################################################################

PLAT =
LIBEXT = .a
OUTC = -o 
OUTF = -o 
RM = /bin/rm -f
CC = mpicc
FC = mpif90
FL = mpif90
# WARNING: AR must ends with a blank space!
AR = ar vr 
#
RANLIB = echo
SCALAP = /opt/scalapack/lib/libscalapack.a \
/opt/OpenBLAS/lib/libopenblas.a
#
INCPAR = -I/usr/local $(IPORD)
LIBPAR = $(SCALAP) -L/usr/local -lmpi -lmpi_mpifh
#
INCSEQ = -I$(topdir)/libseq
LIBSEQ = -L$(topdir)/libseq -lmpiseq

#
LIBBLAS = -L/opt/OpenBLAS/lib/ -lopenblas
LIBOTHERS = -lpthread
#Preprocessor defs for calling Fortran from C (-DAdd_ or -DAdd__ or -DUPPER)
CDEFS = -DAdd_

#Begin Optimized options
OPTF = -O -Dintel_ -DALLOW_NON_INIT -ffixed-line-length-0 -x f77-cpp-input -fPIC -fopenmp
OPTL = -O -fopenmp
OPTC = -O -fno-stack-protector -fPIC -fopenmp
#End Optimized options

INCS = $(INCPAR)
LIBS = $(LIBPAR)
LIBSEQNEEDED =