123 lines
2.4 KiB
Makefile
123 lines
2.4 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@
|
|
|
|
CINCLUDES=@INCLUDES@ @MPIINCLUDE@
|
|
COPT= @COPT@
|
|
CDEBUG = @CDEBUG@
|
|
CDEFS = @HYPREDEFS@ -DHYPRE_TIMING
|
|
|
|
CFLAGS = \
|
|
${CINCLUDES} \
|
|
${COPT} \
|
|
${CDEBUG} \
|
|
${CDEFS}
|
|
|
|
RANLIB = @RANLIB@
|
|
|
|
MPILIBFLAGS = @MPILIBDIRS@ @MPILIBS@ @MPIFLAGS@
|
|
LIBFLAGS = @LIBDIRS@ @LIBS@
|
|
LDLIBFLAGS = @LDLIBDIRS@ @LDLIBS@
|
|
|
|
LFLAGS =\
|
|
-L.\
|
|
-L../struct_matrix_vector\
|
|
-L../utilities\
|
|
-lHYPRE_ls\
|
|
-lHYPRE_mv\
|
|
-lHYPRE_timing\
|
|
-lHYPRE_memory\
|
|
${MPILIBFLAGS} ${LIBFLAGS} ${LDLIBFLAGS}
|
|
|
|
|
|
HEADERS =\
|
|
headers.h\
|
|
smg.h\
|
|
hypre_ls.h\
|
|
HYPRE_ls.h
|
|
|
|
FILES =\
|
|
cyclic_reduction.c\
|
|
general.c\
|
|
pcg.c\
|
|
pcg_struct.c\
|
|
smg2_setup_rap.c\
|
|
smg3_setup_rap.c\
|
|
smg.c\
|
|
smg_intadd.c\
|
|
smg_relax.c\
|
|
smg_residual.c\
|
|
smg_restrict.c\
|
|
smg_setup.c\
|
|
smg_setup_interp.c\
|
|
smg_setup_rap.c\
|
|
smg_setup_restrict.c\
|
|
smg_solve.c\
|
|
HYPRE_struct_smg.c\
|
|
HYPRE_struct_pcg.c
|
|
|
|
OBJS = ${FILES:.c=.o}
|
|
|
|
##################################################################
|
|
# Main rules
|
|
##################################################################
|
|
|
|
default: libHYPRE_ls.a driver
|
|
|
|
driver: driver.o libHYPRE_ls.a
|
|
@echo "Linking" $@ "... "
|
|
${CC} -o driver driver.o ${LFLAGS}
|
|
|
|
driver_internal: driver_internal.o libHYPRE_ls.a
|
|
@echo "Linking" $@ "... "
|
|
${CC} -o driver_internal driver_internal.o ${LFLAGS}
|
|
|
|
driver_internal_cgsmg: driver_internal_cgsmg.o libHYPRE_ls.a
|
|
@echo "Linking" $@ "... "
|
|
${CC} -o driver_internal_cgsmg driver_internal_cgsmg.o ${LFLAGS}
|
|
|
|
libHYPRE_ls.a: ${OBJS}
|
|
@echo "Building $@ ... "
|
|
ar -ru $@ ${OBJS}
|
|
${RANLIB} $@
|
|
|
|
${OBJS}: ${HEADERS}
|
|
|
|
##################################################################
|
|
# Generic rules
|
|
##################################################################
|
|
|
|
.c.o:
|
|
@echo "Making (c) " $@
|
|
@${CC} -o $@ -c ${CFLAGS} $<
|
|
|
|
.f.${AMG_ARCH}.o:
|
|
@echo "Making (f) " $@
|
|
@${F77} -o $@ -c ${FFLAGS} $<
|
|
|
|
##################################################################
|
|
# Miscellaneous rules
|
|
##################################################################
|
|
|
|
veryclean: clean
|
|
@rm -f libHYPRE_ls.a
|
|
@rm -f driver driver_internal
|
|
|
|
clean:
|
|
@rm -f *.o
|
|
|