191 lines
3.9 KiB
Makefile
191 lines
3.9 KiB
Makefile
#BHEADER***********************************************************************
|
|
# (c) 1997 The Regents of the University of California
|
|
#
|
|
# See the file COPYRIGHT_and_DISCLAIMER for a complete copyright
|
|
# notice, contact person, and disclaimer.
|
|
#
|
|
# $Revision$
|
|
#EHEADER***********************************************************************
|
|
|
|
.SUFFIXES:
|
|
.SUFFIXES: .c .f .o
|
|
|
|
srcdir = @srcdir@
|
|
VPATH = @srcdir@
|
|
|
|
CC = @CC@
|
|
|
|
C_COMPILE_FLAGS=@CFLAGS@
|
|
CXX_COMPILE_FLAGS=@CXXFLAGS@
|
|
F77_COMPILE_FLAGS=@F77FLAGS@
|
|
CINCLUDES=@INCLUDES@ @MPIINCLUDE@
|
|
CDEFS =
|
|
|
|
#Pilut flags and definitions
|
|
|
|
HYPRE_DIR = @HYPRE_TOP_SRC_DIR@
|
|
|
|
# FC_LIB contains the libraries for a CLINKER to use for code containing
|
|
# FORTRAN code (such as I/O or special Fortran runtimes).
|
|
#
|
|
FC_LIB = -L/opt/SUNWspro/SC4.2/lib -lF77 -lM77 -lsunmath
|
|
BLAS_LIB = @BLASLIBFLAGS@
|
|
|
|
PILUT_LIBFLAGS =\
|
|
-L${HYPRE_DIR}/distributed_linear_solvers/pilut\
|
|
-L${HYPRE_DIR}/distributed_matrix\
|
|
-L${HYPRE_DIR}/matrix_matrix\
|
|
-l_HYPRE_DistributedMatrixPilutSolver \
|
|
-l_HYPRE_MatrixMatrix \
|
|
-l_HYPRE_DistributedMatrix \
|
|
$(BLAS_LIB)
|
|
|
|
CFLAGS =\
|
|
${C_COMPILE_FLAGS}\
|
|
-I..\
|
|
-I../utilities\
|
|
-I../seq_matrix_vector\
|
|
-I../parcsr_matrix_vector\
|
|
-I../distributed_matrix\
|
|
-I../matrix_matrix\
|
|
-I../IJ_matrix_vector\
|
|
${CINCLUDES}\
|
|
${CDEFS}
|
|
|
|
RANLIB= @RANLIB@
|
|
|
|
MPILIBFLAGS = @MPILIBDIRS@ @MPILIBS@ @MPIFLAGS@
|
|
LIBFLAGS = @LIBDIRS@ @LIBS@
|
|
LDLIBFLAGS = @LDLIBDIRS@ @LDLIBS@
|
|
|
|
LFLAGS =\
|
|
-L.\
|
|
-L../parcsr_matrix_vector\
|
|
-L../seq_matrix_vector\
|
|
-L../utilities\
|
|
-lHYPRE_parcsr_ls\
|
|
$(PILUT_LIBFLAGS)\
|
|
-lHYPRE_parcsr_mv\
|
|
-lHYPRE_seq_mv\
|
|
-lHYPRE_utilities\
|
|
${MPILIBFLAGS} ${LIBFLAGS} ${LDLIBFLAGS}
|
|
|
|
HEADERS =\
|
|
headers.h\
|
|
par_amg.h\
|
|
parcsr_linear_solvers.h\
|
|
HYPRE_parcsr_ls.h
|
|
|
|
FILES =\
|
|
bicgstab.c\
|
|
cgnr.c\
|
|
gmres.c\
|
|
par_amg.c\
|
|
par_amg_setup.c\
|
|
par_amg_solve.c\
|
|
par_amg_solveT.c\
|
|
par_stats.c\
|
|
par_strength.c\
|
|
par_cycle.c\
|
|
par_difconv.c\
|
|
par_interp.c\
|
|
par_coarsen.c\
|
|
par_relax.c\
|
|
par_indepset.c\
|
|
par_laplace.c\
|
|
par_laplace_9pt.c\
|
|
par_laplace_27pt.c\
|
|
par_rap.c\
|
|
par_rap_communication.c\
|
|
par_scaled_matnorm.c\
|
|
pcg.c\
|
|
pcg_par.c\
|
|
transpose.c\
|
|
HYPRE_parcsr_amg.c\
|
|
HYPRE_parcsr_bicgstab.c\
|
|
HYPRE_parcsr_cgnr.c\
|
|
HYPRE_parcsr_gmres.c\
|
|
HYPRE_parcsr_pcg.c\
|
|
HYPRE_parcsr_pilut.c\
|
|
HYPRE_parcsr_ParaSails.c\
|
|
F90_par_laplace.c\
|
|
F90_HYPRE_parcsr_amg.c\
|
|
F90_HYPRE_parcsr_bicgstab.c\
|
|
F90_HYPRE_parcsr_cgnr.c\
|
|
F90_HYPRE_parcsr_gmres.c\
|
|
F90_HYPRE_parcsr_pcg.c\
|
|
F90_HYPRE_parcsr_pilut.c\
|
|
F90_HYPRE_parcsr_ParaSails.c
|
|
|
|
DRIVER_FILES =\
|
|
driver.c
|
|
|
|
OBJS = ${FILES:.c=.o}
|
|
DRIVER_OBJS = ${FILES:.c=.o}
|
|
|
|
##################################################################
|
|
# Targets
|
|
##################################################################
|
|
|
|
all: libHYPRE_parcsr_ls.a
|
|
|
|
install: all
|
|
@cp -f HYPRE_*.h parcsr_linear_solvers.h $$HYPRE_INSTALL_DIR/include/.
|
|
@cp -f libHYPRE_*.a $$HYPRE_INSTALL_DIR/lib/.
|
|
|
|
clean:
|
|
@rm -f *.o
|
|
|
|
veryclean: clean
|
|
@rm -f libHYPRE_parcsr_ls.a
|
|
@rm -f driver
|
|
|
|
##################################################################
|
|
# Temporary Targets
|
|
##################################################################
|
|
|
|
####################
|
|
# AMGe
|
|
####################
|
|
|
|
AMGE_HEADERS =\
|
|
amge1.h\
|
|
amge2.h
|
|
|
|
AMGE_FILES =\
|
|
amge1.c\
|
|
amge2.c
|
|
|
|
AMGE_OBJS = ${AMGE_FILES:.c=.o}
|
|
|
|
amge: all ${AMGE_OBJS}
|
|
@echo "Linking" $@ "... "
|
|
${CC} -o amge ${AMGE_OBJS} ${LFLAGS}
|
|
|
|
${AMGE_OBJS}: ${AMGE_HEADERS}
|
|
|
|
##################################################################
|
|
# Rules
|
|
##################################################################
|
|
|
|
driver: driver.o libHYPRE_parcsr_ls.a
|
|
@echo "Linking" $@ "... "
|
|
${CC} -o $@ driver.o ${LFLAGS}
|
|
|
|
libHYPRE_parcsr_ls.a: ${OBJS}
|
|
@echo "Building $@ ... "
|
|
ar -rcu $@ ${OBJS}
|
|
@RANLIB@ $@
|
|
|
|
${OBJS}: ${HEADERS}
|
|
|
|
${DRIVER_OBJS}: ${HEADERS}
|
|
|
|
##################################################################
|
|
# Generic rules
|
|
##################################################################
|
|
|
|
.c.o:
|
|
${CC} -o $@ -c ${CFLAGS} $<
|
|
|