hypre/parcsr_ls/Makefile.in
2000-07-13 22:59:17 +00:00

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} $<