64 lines
1.7 KiB
Makefile
64 lines
1.7 KiB
Makefile
# Makefile for lobpcg; AK 080802, MEA 081802
|
|
|
|
.SUFFIXES:
|
|
.SUFFIXES: .c .C .f .o .CXX.o
|
|
|
|
srcdir = .
|
|
HYPRE_DIR = ..
|
|
|
|
# This is for our Linux Beowulf, when hypre configured with:
|
|
# configure --with-CC=mpicc --with-CXX=mpiCC --with-mpi-include=/opt/mpich/include --with-mpi-lib-dirs=/opt/mpich/lib --with-mpi-libs=mpich
|
|
|
|
CC= mpicc
|
|
FORTRAN_LIB = -lg2c -L/opt/mpich/lib -lmpich
|
|
LIBS =
|
|
C_COMPILE_FLAGS= -O -O3 -D_REENTRANT -Wall -I/opt/mpich/include
|
|
|
|
LAPACK_LIB = -llapack
|
|
BLAS_LIB = -lblas
|
|
|
|
HYPRE_LIB = -L../hypre/lib
|
|
|
|
CDEFS = -DHYPRE_TIMING
|
|
CFLAGS = \
|
|
${C_COMPILE_FLAGS}\
|
|
-I$(srcdir)\
|
|
-I$(srcdir)/..\
|
|
-I../hypre/include\
|
|
${CDEFS}
|
|
|
|
##################################################################
|
|
# Targets
|
|
##################################################################
|
|
|
|
HYPRE_STANDARD_DRIVERS =\
|
|
IJ_eigen_solver.c lobpcg.c lobpcg_matrix.c lobpcg_utilities.c
|
|
CTARGET = IJ_eigen_solver
|
|
OBJS = ${HYPRE_STANDARD_DRIVERS:.c=.o}
|
|
INCS = HYPRE_lobpcg.h lobpcg.h mmio.h
|
|
|
|
HYPRE_DRIVERS = ${HYPRE_STANDARD_DRIVERS}
|
|
HYPRE_DRIVER_OBJS=${HYPRE_DRIVERS:.c=.o}
|
|
|
|
all: ${CTARGET}
|
|
|
|
clean:
|
|
@rm -f *.o
|
|
|
|
##################################################################
|
|
# Rules
|
|
##################################################################
|
|
|
|
${HYPRE_DRIVER_OBJS}: ${INCS} Makefile.beowulf_mpich
|
|
|
|
${CTARGET}: ${HYPRE_DRIVER_OBJS}
|
|
${CC} -O ${CFLAGS} -o ${CTARGET} ${HYPRE_DRIVER_OBJS}\
|
|
${LIBS} ${LAPACK_LIB} ${BLAS_LIB} ${HYPRE_LIB} -lHYPRE_LSI ${FORTRAN_LIB}
|
|
|
|
##################################################################
|
|
# Generic rules
|
|
##################################################################
|
|
|
|
.c.o:
|
|
${CC} -o $@ -c ${CFLAGS} $<
|