systems that ignore case (e.g, Windows boxes). Changed parameter strings to conform to convention voted on by SLS project.
210 lines
4.6 KiB
Makefile
210 lines
4.6 KiB
Makefile
#BHEADER***********************************************************************
|
|
# (c) 1998 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 .C .f .o .CXX.o
|
|
|
|
srcdir = @srcdir@
|
|
VPATH = @srcdir@
|
|
|
|
CC=@CC@
|
|
CXX=@CXX@
|
|
F77=@F77@
|
|
|
|
C_COMPILE_FLAGS=@CFLAGS@
|
|
CXX_COMPILE_FLAGS=@CXXFLAGS@
|
|
F77_COMPILE_FLAGS=@F77FLAGS@
|
|
LD_LINK_FLAGS=@LDFLAGS@
|
|
CDEFS = -DHYPRE_TIMING
|
|
BABEL_HYPRE_INCLUDES = @BABEL_HYPRE_INCLUDES@
|
|
CINCLUDES=@INCLUDES@ @MPIINCLUDE@ @BABEL_HYPRE_INCLUDES@
|
|
|
|
CFLAGS = \
|
|
${C_COMPILE_FLAGS}\
|
|
-I$(srcdir)\
|
|
-I$(srcdir)/..\
|
|
${BABEL_HYPRE_INCLUDES}\
|
|
-I../hypre/include\
|
|
${CINCLUDES}\
|
|
${CDEFS}
|
|
|
|
FFLAGS = \
|
|
${F77_COMPILE_FLAGS}\
|
|
${BABEL_HYPRE_INCLUDES}
|
|
|
|
MPILIBFLAGS = @MPILIBDIRS@ @MPILIBS@ @MPIFLAGS@
|
|
LIBFLAGS = @LIBDIRS@ @LIBS@
|
|
LDLIBFLAGS = @LDLIBDIRS@ @LDLIBS@
|
|
BLASLIBFLAGS = @BLASLIBFLAGS@
|
|
BABELLIBFLAGS = @BABELLIBFLAGS@
|
|
|
|
LFLAGS =\
|
|
${LD_LINK_FLAGS}\
|
|
-L../hypre/lib\
|
|
-lHYPRE_sstruct_ls\
|
|
-lHYPRE_sstruct_mv\
|
|
-lHYPRE_struct_ls\
|
|
-lHYPRE_struct_mv\
|
|
-lHYPRE_parcsr_ls\
|
|
-lHYPRE_DistributedMatrixPilutSolver \
|
|
-lHYPRE_ParaSails \
|
|
-lHYPRE_Euclid \
|
|
-lHYPRE_MatrixMatrix \
|
|
-lHYPRE_DistributedMatrix \
|
|
-lHYPRE_IJ_mv\
|
|
-lHYPRE_parcsr_mv\
|
|
-lHYPRE_seq_mv\
|
|
-lHYPRE_krylov\
|
|
-lHYPRE_utilities\
|
|
${BLASLIBFLAGS} \
|
|
${MPILIBFLAGS} ${LIBFLAGS} ${LDLIBFLAGS}
|
|
|
|
##################################################################
|
|
# Targets
|
|
##################################################################
|
|
|
|
HYPRE_BABEL_DRIVERS =
|
|
#IJ_linear_solvers_wBabel.c
|
|
|
|
# HYPRE_BABEL_DRIVERS_CXX =
|
|
#
|
|
# HYPRE_BABEL_DRIVERS_F77 =\
|
|
# f77_struct_linear_solvers_b.f
|
|
|
|
HYPRE_BABEL_DRIVER_OBJS=${HYPRE_BABEL_DRIVERS:.c=.o}
|
|
HYPRE_BABEL_DRIVER_CXX_OBJS=${HYPRE_BABEL_DRIVERS_CXX:.C=.o}
|
|
|
|
HYPRE_BABEL_DRIVER_EXECS=${HYPRE_BABEL_DRIVERS:.c=}
|
|
HYPRE_BABEL_DRIVER_CXX_EXECS=${HYPRE_BABEL_DRIVERS_CXX:.C=}
|
|
|
|
all: babel-interfaces babel-driver
|
|
|
|
babel-driver: ${HYPRE_BABEL_DRIVER_EXECS} ${HYPRE_BABEL_DRIVER_F77_EXECS}
|
|
|
|
babel-interfaces:
|
|
@ \
|
|
if [ -d bHYPRE ]; \
|
|
then \
|
|
echo "Making bHYPRE Server..."; \
|
|
(cd bHYPRE; $(MAKE)); \
|
|
echo ""; \
|
|
fi; \
|
|
|
|
@ \
|
|
if [ -d bHYPREClient-C ]; \
|
|
then \
|
|
echo "Making bHYPRE C Client..."; \
|
|
(cd bHYPREClient-C; $(MAKE)); \
|
|
echo ""; \
|
|
fi; \
|
|
|
|
@ \
|
|
if [ -d bHYPREClient-F ]; \
|
|
then \
|
|
echo "Making bHYPRE Fortran Client ..."; \
|
|
(cd bHYPREClient-F; $(MAKE)); \
|
|
echo ""; \
|
|
fi; \
|
|
|
|
install: all
|
|
@cp -f $(srcdir)/bHYPRE*/*.h $$HYPRE_INSTALL_DIR/include/.
|
|
@cp -f $(srcdir)/bHYPRE*/libbHYPRE*.a $$HYPRE_INSTALL_DIR/lib/.
|
|
|
|
clean:
|
|
@rm -f *.o
|
|
@ \
|
|
if [ -d bHYPRE ]; \
|
|
then \
|
|
echo "Making bHYPRE Server clean ..."; \
|
|
(cd bHYPRE; $(MAKE) clean); \
|
|
echo ""; \
|
|
fi; \
|
|
|
|
@rm -f *.o
|
|
@ \
|
|
if [ -d bHYPREClient-C ]; \
|
|
then \
|
|
echo "Making bHYPRE C Client clean ..."; \
|
|
(cd bHYPREClient-C; $(MAKE) clean); \
|
|
echo ""; \
|
|
fi; \
|
|
|
|
@rm -f *.o
|
|
@ \
|
|
if [ -d bHYPREClient-F ]; \
|
|
then \
|
|
echo "Making bHYPRE Fortran Client clean ..."; \
|
|
(cd bHYPREClient-F; $(MAKE) clean); \
|
|
echo ""; \
|
|
fi; \
|
|
|
|
veryclean: clean
|
|
@rm -f ${HYPRE_BABEL_DRIVER_EXECS}
|
|
@rm -f ${HYPRE_BABEL_DRIVER_CXX_EXECS}
|
|
@rm -f ${HYPRE_BABEL_DRIVER_F77_EXECS}
|
|
@rm -f *.o
|
|
@ \
|
|
if [ -d bHYPRE ]; \
|
|
then \
|
|
echo "Making bHYPRE Server very clean ..."; \
|
|
(cd bHYPRE; $(MAKE) veryclean); \
|
|
echo ""; \
|
|
fi; \
|
|
|
|
if [ -d bHYPREClient-C ]; \
|
|
then \
|
|
echo "Making bHYPRE C Client very clean ..."; \
|
|
(cd bHYPREClient-C; $(MAKE) veryclean); \
|
|
echo ""; \
|
|
fi; \
|
|
|
|
if [ -d bHYPREClient-F ]; \
|
|
then \
|
|
echo "Making bHYPRE Fortran Client very clean ..."; \
|
|
(cd bHYPREClient-F; $(MAKE) veryclean); \
|
|
echo ""; \
|
|
fi; \
|
|
|
|
##################################################################
|
|
# Rules
|
|
##################################################################
|
|
|
|
PURIFY = purify
|
|
|
|
${HYPRE_BABEL_DRIVER_EXECS}: ${HYPRE_BABEL_DRIVER_OBJS}
|
|
@echo "Building" $@ "... "
|
|
${CC} -o $@ $@.o ${BABELLIBFLAGS} ${LFLAGS} ${IJ_LS_FLAGS}
|
|
|
|
#${HYPRE_BABEL_DRIVER_CXX_EXECS}: ${HYPRE_BABEL_DRIVER_CXX_OBJS}
|
|
# @echo "Building" $@ "... "
|
|
# ${CXX} -o $@ $@.o ${LFLAGS}
|
|
|
|
${HYPRE_BABEL_DRIVER_F77_EXECS}: ${HYPRE_BABEL_DRIVER_F77_OBJS}
|
|
@echo "Building" $@ "... "
|
|
${F77} -o $@ $@.o ${FFLAGS} ${LFLAGS}
|
|
|
|
##################################################################
|
|
# Generic rules
|
|
##################################################################
|
|
|
|
.c.o:
|
|
${CC} -o $@ -c ${CFLAGS} $<
|
|
|
|
.C.o:
|
|
${CXX} -o $@ -c -DNOFEI ${CFLAGS} $<
|
|
|
|
.f.o:
|
|
${F77} -o $@ -c ${FFLAGS} $<
|
|
|
|
# rule to compile C files with C++
|
|
.c.CXX.o:
|
|
cp -f $< ${@:.o=.C}
|
|
${CXX} -o $@ -c ${CFLAGS} ${@:.o=.C}
|
|
rm -f ${@:.o=.C}
|