hypre/babel/Makefile.in
falgout a4685c37cc Changed package name to 'bHYPRE' to avoid file name conflicts on
systems that ignore case (e.g, Windows boxes).
Changed parameter strings to conform to convention voted on by SLS project.
2003-03-14 22:56:14 +00:00

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}