1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
|
############################################################################
#
# Program: ScaLAPACK
#
# Module: SLmake.inc
#
# Purpose: Top-level Definitions
#
# Creation date: February 15, 2000
#
# Modified:
#
# Send bug reports, comments or suggestions to scalapack@cs.utk.edu
#
############################################################################
#
SHELL = /bin/sh
#
# The complete path to the top level of ScaLAPACK directory, usually
# $(HOME)/SCALAPACK
#
home = $(BASEDIR)
#
# The platform identifier to suffix to the end of library names
#
PLAT = LINUX
#
# BLACS setup. All version need the debug level (0 or 1),
# and the directory where the BLACS libraries are
#
BLACSDBGLVL = 0
BLACSdir = /usr/lib
#
# MPI setup; tailor to your system if using MPIBLACS
#
ifeq ($(MPI),lam)
USEMPI = -DUsingMpiBlacs
ifeq ($(BUILD),static)
SMPLIB = -lmpi
BLACSFINIT = /usr/lib/libblacsF77init-lam.a
BLACSCINIT = /usr/lib/libblacsCinit-lam.a
BLACSLIB = /usr/lib/libblacs-lam.a
else
SMPLIB = -lmpi
BLACSFINIT = -lblacsF77init-lam
BLACSCINIT = -lblacsCinit-lam
BLACSLIB = -lblacs-lam
endif
TESTINGdir = $(home)/TESTING
endif
ifeq ($(MPI),mpich)
USEMPI = -DUsingMpiBlacs
ifeq ($(BUILD),static)
SMPLIB = /usr/lib/mpich/lib/libmpich.a
BLACSFINIT = /usr/lib/libblacsF77init-mpich.a
BLACSCINIT = /usr/lib/libblacsCinit-mpich.a
BLACSLIB = /usr/lib/libblacs-mpich.a
else
SMPLIB = /usr/lib/mpich/lib/libmpich.a
BLACSFINIT = -lblacsF77init-mpich
BLACSCINIT = -lblacsCinit-mpich
BLACSLIB = -lblacs-mpich
endif
TESTINGdir = $(home)/TESTING
endif
ifeq ($(MPI),pvm)
USEMPI =
ifeq ($(BUILD),static)
SMPLIB = /usr/lib/libpvm3.a
BLACSFINIT =
BLACSCINIT =
BLACSLIB = /usr/lib/libblacs-pvm.a
else
SMPLIB = -lpvm3
BLACSFINIT =
BLACSCINIT =
BLACSLIB = -lblacs-pvm
endif
#TESTINGdir = $(HOME)/pvm3/bin/$(PLAT)
TESTINGdir = $(home)/TESTING
endif
CBLACSLIB = $(BLACSCINIT) $(BLACSLIB) $(BLACSCINIT)
FBLACSLIB = $(BLACSFINIT) $(BLACSLIB) $(BLACSFINIT)
#
# The directories to find the various pieces of ScaLapack
#
PBLASdir = $(home)/PBLAS
SRCdir = $(home)/SRC
TESTdir = $(home)/TESTING
PBLASTSTdir = $(TESTINGdir)
TOOLSdir = $(home)/TOOLS
REDISTdir = $(home)/REDIST
REDISTTSTdir = $(TESTINGdir)
#
# The fortran and C compilers, loaders, and their flags
#
F77 = g77
#F77 = /usr/local/pgi/linux86/bin/pgf77
CC = gcc
NOOPT = -w -fno-globals -fno-f90 -fugly-complex $(FPIC)
F77FLAGS = -Wall -O6 -funroll-all-loops -ffast-math $(NOOPT)
CCFLAGS = -Wall $(FPIC) -O6 -funroll-all-loops -ffast-math
SRCFLAG =
F77LOADER = $(F77)
ifeq ($(MPI),mpich)
CCLOADER = $(F77)
SYSLIBS = -lm
else
CCLOADER = $(CC)
SYSLIBS = -lm
endif
F77LOADFLAGS =
CCLOADFLAGS =
#
# C preprocessor defs for compilation
# (-DNoChange, -DAdd_, -DUpCase, or -Df77IsF2C)
#
CDEFS = -Df77IsF2C -DNO_IEEE $(USEMPI)
#
# The archiver and the flag(s) to use when building archive (library)
# Also the ranlib routine. If your system has no ranlib, set RANLIB = echo
#
ARCH = ar
ARCHFLAGS = cr
RANLIB = ranlib
#
# The name of the libraries to be created/linked to
#
SCALAPACKLIB = $(home)/scalapack_$(MPI).a
BLASLIB = -llapack-3 -lblas-3
# BLASLIB = /usr/local/lib/libf77blas.a /usr/local/lib/libatlas.a
#
ifeq ($(BUILD),static)
PBLIBS = $(SCALAPACKLIB) $(FBLACSLIB) $(BLASLIB) $(SMPLIB)
PRLIBS = $(SCALAPACKLIB) $(CBLACSLIB) $(SMPLIB) $(BLASLIB) $(SYSLIBS)
RLIBS = $(SCALAPACKLIB) $(FBLACSLIB) $(CBLACSLIB) $(BLASLIB) $(SMPLIB)
LIBS = $(PBLIBS)
else
PBLIBS = -L $(BASEDIR) -lscalapack-$(MPI) $(FBLACSLIB) $(BLASLIB) $(SMPLIB)
PRLIBS = -L $(BASEDIR) -lscalapack-$(MPI) $(CBLACSLIB) $(SMPLIB) $(BLASLIB) $(SYSLIBS)
RLIBS = -L $(BASEDIR) -lscalapack-$(MPI) $(FBLACSLIB) $(CBLACSLIB) $(BLASLIB) $(SMPLIB)
LIBS = $(PBLIBS)
endif
|