hypre/parcsr_linear_solvers/Makefile.in
1999-06-03 23:20:46 +00:00

152 lines
3.2 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 = @HYPREDEFS@
#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_DistributedMatrix \
-l_HYPRE_MatrixMatrix \
$(BLAS_LIB)
CFLAGS =\
${C_COMPILE_FLAGS}\
-I../utilities\
-I../seq_matrix_vector\
-I../parcsr_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_mv\
-lHYPRE_utilities\
${MPILIBFLAGS} ${LIBFLAGS} ${LDLIBFLAGS}
HEADERS =\
headers.h\
par_amg.h\
parcsr_linear_solvers.h\
HYPRE_parcsr_ls.h
FILES =\
driver.c\
cgnr.c\
gmres.c\
par_amg.c\
par_amg_setup.c\
par_amg_solve.c\
par_amg_solveT.c\
par_stats.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_cgnr.c\
HYPRE_parcsr_gmres.c\
HYPRE_parcsr_pcg.c\
HYPRE_parcsr_pilut.c
OBJS = ${FILES:.c=.o}
##################################################################
# Targets
##################################################################
all: libHYPRE_parcsr_ls.a driver
install: all
clean:
@rm -f *.o
veryclean: clean
@rm -f driver driver_interp driver_rap
@rm -f libHYPRE_parcsr_ls.a
##################################################################
# Rules
##################################################################
driver: driver.o libHYPRE_parcsr_ls.a
@echo "Linking" $@ "... "
${CC} -o driver driver.o ${LFLAGS}
driver_interp: driver_interp.o libHYPRE_parcsr_ls.a
@echo "Linking" $@ "... "
${CC} -o driver_interp driver_interp.o ${LFLAGS}
driver_rap: driver_rap.o libHYPRE_parcsr_ls.a
@echo "Linking" $@ "... "
${CC} -o driver_rap driver_rap.o ${LFLAGS}
libHYPRE_parcsr_ls.a: ${OBJS}
@echo "Building $@ ... "
ar -rcu $@ ${OBJS}
@RANLIB@ $@
${OBJS}: ${HEADERS}
##################################################################
# Generic rules
##################################################################
.c.o:
${CC} -o $@ -c ${CFLAGS} $<