############################## 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 6.0 and later) orderings are now available for MUMPS. # SCOTCHDIR = /usr ISCOTCH = -I$(SCOTCHDIR)/include/scotch # 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 = -L$(SCOTCHDIR)/lib -lesmumps -lbz2 -lscotch -lscotcherr #LSCOTCH = -L$(SCOTCHDIR)/lib -lptesmumps -lptscotch -lptscotcherr -lscotchmetis #LSCOTCH = -L$(SCOTCHDIR)/lib -lptesmumps -lptscotch -lptscotcherr -lscotchmetis -lscotch LPORDDIR = $(topdir)/PORD/lib/ IPORD = -I$(topdir)/PORD/include/ LPORD = -L$(LPORDDIR) -lpord LMETISDIR = /usr/lib IMETIS = -I/usr/include/metis # IPARMETIS = -I/usr/include/parmetis # 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 = -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. ORDERINGSF = -Dscotch -Dmetis -Dpord # ORDERINGSF = -Dscotch -Dmetis -Dpord -Dptscotch -Dparmetis # ORDERINGSF = -Dpord ORDERINGSC = $(ORDERINGSF) LORDERINGS = $(LMETIS) $(LPORD) $(LSCOTCH) IORDERINGSF = $(ISCOTCH) IORDERINGSC = $(IPARMETIS) $(IMETIS) $(IPORD) $(ISCOTCH) ########################### End orderings ################################### PLAT = LIBEXT = .a OUTC = -o OUTF = -o RM = /bin/rm -f CC = mpicc FC = mpif77 FL = mpif77 AR = ar vr RANLIB = ranlib # RANLIB = echo SCALAP = -lscalapack -llapack # -lblacs -lblacsf77 -lblacs # INCPAR = -I/usr/include/openmpi LIBPAR = $(SCALAP) -L/usr/lib/openmpi -lmpi_usempif08 -lmpi_usempi_ignore_tkr -lmpi_mpifh -lmpi # See point 17 in the FAQ to have more details on the compilation of mpich with gfortran INCSEQ = -I$(topdir)/libseq LIBSEQ = -L$(topdir)/libseq -lmpiseq LIBBLAS = -lblas LIBOTHERS = -lpthread # Preprocessor defs for calling Fortran from C (-DAdd_ or -DAdd__ or -DUPPER) CDEFS = -DAdd_ # Begin Optimized options OPTF = -DALLOW_NON_INIT ${CFLAGS} -fPIC OPTL = ${CFLAGS} -fPIC OPTC = ${CFLAGS} -fPIC # End Optimized options INCS = $(INCPAR) LIBS = $(LIBPAR) LIBSEQNEEDED = libseqneeded