hypre/Makefile.sample

91 lines
3.0 KiB
Makefile

#BHEADER**********************************************************************
# Copyright (c) 2007, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory.
# Written by the HYPRE team. UCRL-CODE-222953.
# All rights reserved.
#
# This file is part of HYPRE (see http://www.llnl.gov/CASC/hypre/).
# Please see the COPYRIGHT_and_LICENSE file for the copyright notice,
# disclaimer, contact information and the GNU Lesser General Public License.
#
# HYPRE is free software; you can redistribute it and/or modify it under the
# terms of the GNU General Public License (as published by the Free Software
# Foundation) version 2.1 dated February 1999.
#
# HYPRE is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU General
# Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# $Revision$
#EHEADER**********************************************************************
#### This is a template file for a Makefile to create a libHYPRE_*
#### Lines not relevant to your sub-directory can be deleted.
#### The name of your resulting file MUST be Makefile
#### ALL of the configured information is in the included file
#### named Makefile.config
include ../config/Makefile.config
CINCLUDES = ## any include files needed for C code ##
CXXINCLUDES = ## any include files needed for CXX code ##
F77INCLUDES = ## any include files needed for F77 code ##
C_COMPILE_FLAGS = ## any needed CFLAGS ##
CXX_COMPILE_FLAGS = ## any needed CXXFLAGS ##
F77_COMPILE_FLAGS = ## any needed FFLAGS ##
HEADERS = ## all *.h files ##
FILESC = ## all C source code files ##
FILESCXX = ## all CXX source code files ##
FILESF = ## all F source code files ##
FILES = ${FILESC} ${FILESCXX} ${FILESF}
OBJSC = ${FILES:.c=.o} ## object files for C ##
OBJSCXX = ${FILES:.cxx=.o} ## object files for C++ ##
OBJSF = ${FILES:.f=.o} ## object files for F77 ##
OBJS = ${OBJSC} ${OBJSCXX} ${OBJSF}
##################################################################
# Targets
##################################################################
all: libHYPRE_*** ${HYPRE_LIB_SUFFIX}
@cp -fp $(srcdir)/***.h $(HYPRE_BUILD_DIR)/include/.
@cp -fp libHYPRE* $(HYPRE_BUILD_DIR)/lib/.
install: all
@cp -fp $(srcdir)/***.h $(HYPRE_INC_INSTALL)/.
@cp -fp libHYPRE* $(HYPRE_LIB_INSTALL)/.
clean:
@rm -f *.o libHYPRE*
distclean: clean
##################################################################
# Rules
##################################################################
libHYPRE_***.a: ${OBJS}
@echo "Building $@ ... "
${AR} $@ ${OBJS}
${RANLIB} $@
libHYPRE_***.so: ${OBJS}
@echo "Building $@ ... "
${LINK_CC} -o $@ ${OBJS}
${OBJS}: ${HEADERS}