# -*- mode: makefile -*-
# -----------------------------------------------------------------
# Programmer: Radu Serban @ LLNL
# -----------------------------------------------------------------
# SUNDIALS Copyright Start
# Copyright (c) 2002-2021, Lawrence Livermore National Security
# and Southern Methodist University.
# All rights reserved.
#
# See the top-level LICENSE and NOTICE files for details.
#
# SPDX-License-Identifier: BSD-3-Clause
# SUNDIALS Copyright End
# -----------------------------------------------------------------
# Makefile for ARKODE fortran parallel examples
#
# This file is generated from a template using various variables
# set at configuration time. It can be used as a template for
# other user Makefiles.
# -----------------------------------------------------------------

SHELL = sh

prefix       = /usr
exec_prefix  = /usr
includedir   = /usr/include
libdir       = /usr/lib

FFLAGS       = -O3 -DNDEBUG -O3
F77_LDFLAGS  = -O3 -DNDEBUG -O3
F77_LIBS     =  -lm /usr/lib/librt.so

LINKFLAGS = -Wl,-rpath,/usr/lib

MPIF77       = /usr/bin/mpif90
MPI_INC_DIR  = .
MPI_FLAGS    = 
MPIF77_LNKR  = /usr/bin/mpif90
MPI_LIB_DIR  = .
MPI_LIBS     = 

TMP_INCS = ${includedir} ${MPI_INC_DIR}
INCLUDES = $(addprefix -I, ${TMP_INCS})
LIBRARIES = -lsundials_farkode -lsundials_arkode -lsundials_fnvecparallel -lsundials_nvecparallel ${LIBS}

EXAMPLES =  fark_diag_non_p fark_diag_kry_bbd_p
OBJECTS  = ${EXAMPLES:=.o}

# -----------------------------------------------------------------------------------------

.SUFFIXES : .o .f

.f.o :
	${MPIF77} ${FFLAGS} ${MPI_FLAGS} -I${MPI_INC_DIR} ${INCLUDES} -c $<

# -----------------------------------------------------------------------------------------

all: ${OBJECTS}
	@for i in ${EXAMPLES} ; do \
	  echo "${MPIF77_LNKR} -o $${i} $${i}.o ${MPI_FLAGS} ${F77_LDFLAGS} ${F77_LIBS} ${INCLUDES} -L${libdir} ${LIBRARIES} -L${MPI_LIB_DIR} ${MPI_LIBS} ${LINKFLAGS}" ; \
	  ${MPIF77_LNKR} -o $${i} $${i}.o ${MPI_FLAGS} ${F77_LDFLAGS} ${F77_LIBS} ${INCLUDES} -L${libdir} ${LIBRARIES} -L${MPI_LIB_DIR} ${MPI_LIBS} ${LINKFLAGS} ; \
	done

clean:
	rm -f ${OBJECTS}
	rm -f ${EXAMPLES}

# -----------------------------------------------------------------------------------------
