hypre/FEI_mv/fei-hypre/Makefile
2012-09-25 16:25:23 +00:00

210 lines
5.6 KiB
Makefile

#BHEADER**********************************************************************
# Copyright (c) 2008, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory.
# This file is part of HYPRE. See file COPYRIGHT for details.
#
# HYPRE is free software; you can redistribute it and/or modify it under the
# terms of the GNU Lesser General Public License (as published by the Free
# Software Foundation) version 2.1 dated February 1999.
#
# $Revision$
#EHEADER**********************************************************************
include ../../config/Makefile.config
BASE_DIR = ${HYPRE_FEI_BASE_DIR}
SUPERLU_INCLUDE = -I$(srcdir)/../SuperLU/SRC
SUPERLU_LIB = -L$(srcdir)/../SuperLU
CINCLUDES=${INCLUDES} ${MPIINCLUDE} -I../ml/src/Include
CXXINCLUDES=${INCLUDES} ${MPIINCLUDE} -I../ml/src/Include
CDEFS = -DHAVE_SUPERLU -DBOOL_NOT_SUPPORTED -DHAVE_MLI
CXXDEFS = -DHAVE_SUPERLU -DBOOL_NOT_SUPPORTED -DMPICH_SKIP_MPICXX -DHAVE_MLI
C_COMPILE_FLAGS = \
${CDEFS}\
-I../..\
-I$(BASE_DIR)\
-I$(srcdir)\
-I$(srcdir)/../..\
-I$(srcdir)/../../IJ_mv\
-I$(srcdir)/../../utilities\
-I$(srcdir)/../../multivector\
-I$(srcdir)/../../krylov\
-I$(srcdir)/../../parcsr_mv\
-I$(srcdir)/../../parcsr_ls\
-I$(srcdir)/../../seq_mv\
-I$(srcdir)/../../distributed_matrix\
-I$(srcdir)/../../distributed_ls\
-I$(srcdir)/../fei-base\
${SUPERLU_INCLUDE}\
${CINCLUDES}
CXX_COMPILE_FLAGS = \
${CXXDEFS}\
-I../..\
-I$(BASE_DIR)\
-I$(srcdir)/../..\
-I$(srcdir)/../../IJ_mv\
-I$(srcdir)/../../utilities\
-I$(srcdir)/../../multivector\
-I$(srcdir)/../../krylov\
-I$(srcdir)/../../parcsr_mv\
-I$(srcdir)/../../parcsr_ls\
-I$(srcdir)/../../seq_mv\
-I$(srcdir)/../../distributed_matrix\
-I$(srcdir)/../../distributed_ls\
-I$(srcdir)/../femli\
-I$(srcdir)/../fei-base\
${SUPERLU_INCLUDE}\
${CXXINCLUDES}
HEADERS =\
cfei-hypre.h\
cfei_hypre.h\
hypre_cfei.h\
HYPRE_LinSysCore.h\
HYPRE_FEI_includes.h \
$(BASE_DIR)/base/Data.h \
$(BASE_DIR)/base/Lookup.h \
$(BASE_DIR)/base/LinearSystemCore.h \
$(BASE_DIR)/fei_defs.h\
LLNL_FEI_Impl.h\
LLNL_FEI_Fei.h\
LLNL_FEI_LSCore.h\
LLNL_FEI_Solver.h\
LLNL_FEI_Matrix.h\
FEI_HYPRE_Impl.h\
FEI_HYPRE_include.h\
HYPRE_Builder.h\
HYPRE_LSI_Dsuperlu.h\
HYPRE_LSI_UZAWA.h\
HYPRE_LSI_Uzawa_c.h\
HYPRE_LSI_blkprec.h\
HYPRE_LSI_block.h\
HYPRE_LSI_ddict.h\
HYPRE_LSI_ddilut.h\
HYPRE_LSI_mli.h\
HYPRE_LSI_poly.h\
HYPRE_LSI_schur.h\
HYPRE_LSI_schwarz.h\
HYPRE_MHMatrix.h\
HYPRE_MLMatrix.h\
HYPRE_MLMaxwell.h\
HYPRE_SlideReduction.h\
HYPRE_parcsr_TFQmr.h\
HYPRE_parcsr_bicgs.h\
HYPRE_parcsr_bicgstabl.h\
HYPRE_parcsr_fgmres.h\
HYPRE_parcsr_lsicg.h\
HYPRE_parcsr_symqmr.h\
fei_mv.h
FILESC = \
HYPRE_LSI_Dsuperlu.c\
HYPRE_LSI_ddict.c\
HYPRE_LSI_ddilut.c\
HYPRE_LSI_ml.c\
HYPRE_LSI_mlmaxwell.c\
HYPRE_LSI_poly.c\
HYPRE_LSI_schwarz.c\
HYPRE_parcsr_TFQmr.c\
HYPRE_parcsr_bicgs.c\
HYPRE_parcsr_bicgstabl.c\
HYPRE_parcsr_fgmres.c\
HYPRE_parcsr_lsicg.c\
HYPRE_parcsr_symqmr.c\
HYPRE_parcsr_maxwell.c\
SymQMR.c\
TFQmr.c\
bicgs.c\
bicgstabl.c\
fgmres.c\
hypre_lsi_amge.c\
hypre_lsi_ddamg.c\
hypre_lsi_misc.c\
lsicg.c
FILESCXX = \
FEI_HYPRE_Impl.cxx\
LLNL_FEI_Impl.cxx\
LLNL_FEI_Fei.cxx\
LLNL_FEI_LSCore.cxx\
LLNL_FEI_Solver.cxx\
LLNL_FEI_Matrix.cxx\
HYPRE_LSC_aux.cxx\
HYPRE_LSI_UZAWA.cxx\
HYPRE_LSI_blkprec.cxx\
HYPRE_LSI_mli.cxx\
HYPRE_LinSysCore.cxx\
HYPRE_SlideReduction.cxx\
cfei_hypre.cxx\
hypre_cfei.cxx\
hypre_schur_reduce.cxx\
hypre_slide_reduce.cxx\
HYPRE_fei_mesh.cxx\
HYPRE_fei_matrix.cxx\
HYPRE_fei_vector.cxx
OBJSC = ${FILESC:.c=.o}
OBJSCXX = ${FILESCXX:.cxx=.o}
OBJS = ${OBJSC} ${OBJSCXX}
SONAME = libHYPRE_FEI-${HYPRE_RELEASE_VERSION}.so
##################################################################
# Targets
##################################################################
all: libHYPRE_FEI${HYPRE_LIB_SUFFIX}
cp -fpPR $(srcdir)/cfei-hypre.h $(HYPRE_BUILD_DIR)/include
cp -fpPR $(srcdir)/cfei_hypre.h $(HYPRE_BUILD_DIR)/include
cp -fpPR $(srcdir)/hypre_cfei.h $(HYPRE_BUILD_DIR)/include
cp -fpPR $(srcdir)/HYPRE_LinSysCore.h $(HYPRE_BUILD_DIR)/include
cp -fpPR $(srcdir)/HYPRE_FEI*.h $(HYPRE_BUILD_DIR)/include
cp -fpPR $(srcdir)/LLNL_FEI*.h $(HYPRE_BUILD_DIR)/include
cp -fpPR $(BASE_DIR)/base/Data.h $(HYPRE_BUILD_DIR)/include
cp -fpPR $(BASE_DIR)/base/Lookup.h $(HYPRE_BUILD_DIR)/include
cp -fpPR $(BASE_DIR)/base/LinearSystemCore.h $(HYPRE_BUILD_DIR)/include
cp -fpPR $(BASE_DIR)/fei_defs.h $(HYPRE_BUILD_DIR)/include
# cp -fpPR libHYPRE* $(HYPRE_BUILD_DIR)/lib
install: libHYPRE_FEI${HYPRE_LIB_SUFFIX}
cp -fpPR $(srcdir)/cfei-hypre.h $(HYPRE_INC_INSTALL)
cp -fpPR $(srcdir)/cfei_hypre.h $(HYPRE_INC_INSTALL)
cp -fpPR $(srcdir)/hypre_cfei.h $(HYPRE_BUILD_DIR)/include
cp -fpPR $(srcdir)/HYPRE_LinSysCore.h $(HYPRE_INC_INSTALL)
cp -fpPR $(srcdir)/HYPRE_FEI*.h $(HYPRE_INC_INSTALL)
cp -fpPR $(srcdir)/LLNL_FEI*.h $(HYPRE_INC_INSTALL)
cp -fpPR $(BASE_DIR)/base/Data.h $(HYPRE_INC_INSTALL)
cp -fpPR $(BASE_DIR)/base/Lookup.h $(HYPRE_INC_INSTALL)
cp -fpPR $(BASE_DIR)/base/LinearSystemCore.h $(HYPRE_INC_INSTALL)
cp -fpPR $(BASE_DIR)/fei_defs.h $(HYPRE_INC_INSTALL)
# cp -fpPR libHYPRE* $(HYPRE_LIB_INSTALL)
@echo ""
clean:
rm -rf *.o libHYPRE*
rm -rf pchdir tca.map *inslog*
distclean: clean
##################################################################
# Rules
##################################################################
libHYPRE_FEI.a: ${OBJS}
@echo "Building $@ ... "
${AR} $@ ${OBJS}
${RANLIB} $@
libHYPRE_FEI.so: ${OBJS}
@echo "Building $@ ... "
${BUILD_CC_SHARED} -o ${SONAME} ${OBJS} ${SHARED_SET_SONAME}${SONAME}
ln -s ${SONAME} $@
${OBJS}: ${HEADERS}