1# -*- mode: makefile -*- 2# ----------------------------------------------------------------- 3# Programmer(s): Steven Smith @ LLNL 4# David J. Gardner @ LLNL 5# ----------------------------------------------------------------- 6# SUNDIALS Copyright Start 7# Copyright (c) 2002-2021, Lawrence Livermore National Security 8# and Southern Methodist University. 9# All rights reserved. 10# 11# See the top-level LICENSE and NOTICE files for details. 12# 13# SPDX-License-Identifier: BSD-3-Clause 14# SUNDIALS Copyright End 15# ----------------------------------------------------------------- 16# Makefile for @SOLVER@ pthreads examples 17# 18# This file is generated from a template using variables 19# set at configuration time. It can be used as a template for 20# other user Makefiles. 21# ----------------------------------------------------------------- 22 23SHELL = @SHELL@ 24 25prefix = @prefix@ 26exec_prefix = @exec_prefix@ 27includedir = @includedir@ 28libdir = @libdir@ 29 30CPP = @CPP@ 31CPPFLAGS = @CPPFLAGS@ 32CC = @CC@ 33CFLAGS = @CFLAGS@ 34LDFLAGS = @LDFLAGS@ @CMAKE_THREAD_LIBS_INIT@ 35LIBS = @LIBS@ 36 37LINKFLAGS = -Wl,-rpath,@libdir@ 38 39# ----------------------------------------------------------------------------------------- 40 41LIBRARIES_LAPACK = -lsundials_sunlinsollapackdense -lsundials_sunlinsollapackband @LAPACK_LIBS@ 42LINKFLAGS_LAPACK = ${LINKFLAGS}:@LAPACK_LIBRARY_DIR@ 43 44INCLUDES_KLU = @KLU_INCLUDE_DIR@ 45LIBRARIES_KLU = -lsundials_sunlinsolklu @KLU_LIBS@ 46LINKFLAGS_KLU = ${LINKFLAGS}:@KLU_LIBRARY_DIR@ 47 48INCLUDES_SLUMT = @SUPERLUMT_INCLUDE_DIR@ 49LIBRARIES_SLUMT = -lsundials_sunlinsolsuperlumt @SUPERLUMT_LIBS@ 50LINKFLAGS_SLUMT = ${LINKFLAGS}:@SUPERLUMT_LIBRARY_DIR@ 51 52TMP_INCS = ${includedir} ${INCLUDES_SLUMT} ${INCLUDES_KLU} 53INCLUDES = $(addprefix -I, ${TMP_INCS}) 54LIBRARIES = -l@SOLVER_LIB@ -lsundials_nvecpthreads ${LIBS} 55 56# ----------------------------------------------------------------------------------------- 57 58EXAMPLES = @EXAMPLES@ 59EXAMPLES_DEPENDENCIES = @EXAMPLES_DEPENDENCIES@ 60 61OBJECTS = ${EXAMPLES:=.o} 62OBJECTS_DEPENDENCIES = ${EXAMPLES_DEPENDENCIES:=.o} 63 64# LAPACK Examples 65EXAMPLES_BL = @EXAMPLES_BL@ 66EXAMPLES_DEPENDENCIES_BL = @EXAMPLES_DEPENDENCIES_BL@ 67 68OBJECTS_BL = ${EXAMPLES_BL:=.o} 69OBJECTS_DEPENDENCIES_BL = ${EXAMPLES_DEPENDENCIES_BL:=.o} 70 71# KLU Examples 72EXAMPLES_KLU = @EXAMPLES_KLU@ 73EXAMPLES_DEPENDENCIES_KLU = @EXAMPLES_DEPENDENCIES_KLU@ 74 75OBJECTS_KLU = ${EXAMPLES_KLU:=.o} 76OBJECTS_DEPENDENCIES_KLU = ${EXAMPLES_DEPENDENCIES_KLU:=.o} 77 78# SuperLU_MT Examples 79EXAMPLES_SLUMT = @EXAMPLES_SLUMT@ 80EXAMPLES_DEPENDENCIES_SLUMT = @EXAMPLES_DEPENDENCIES_SLUMT@ 81 82OBJECTS_SLUMT = ${EXAMPLES_SLUMT:=.o} 83OBJECTS_DEPENDENCIES_SLUMT = ${EXAMPLES_DEPENDENCIES_SLUMT:=.o} 84 85# ----------------------------------------------------------------------------------------- 86 87.SUFFIXES : .o .c 88 89.c.o : 90 ${CC} ${CPPFLAGS} ${CFLAGS} ${INCLUDES} -c $< 91 92# ----------------------------------------------------------------------------------------- 93 94all: examples examples_bl examples_klu examples_slumt 95 96examples: ${OBJECTS} 97 @for i in ${EXAMPLES} ; do \ 98 echo "${CC} -o $${i} $${i}.o ${OBJECTS_DEPENDENCIES} ${CFLAGS} ${LDFLAGS} ${INCLUDES} -L${libdir} ${LIBRARIES} ${LINKFLAGS}" ; \ 99 ${CC} -o $${i} $${i}.o ${OBJECTS_DEPENDENCIES} ${CFLAGS} ${LDFLAGS} ${INCLUDES} -L${libdir} ${LIBRARIES} ${LINKFLAGS} ; \ 100 done 101 102examples_bl: ${OBJECTS_BL} 103 @for i in ${EXAMPLES_BL} ; do \ 104 echo "${CC} -o $${i} $${i}.o ${OBJECTS_DEPENDENCIES_BL} ${CFLAGS} ${LDFLAGS} ${INCLUDES} -L${libdir} ${LIBRARIES} ${LIBRARIES_LAPACK} ${LINKFLAGS_LAPACK}" ; \ 105 ${CC} -o $${i} $${i}.o ${OBJECTS_DEPENDENCIES_BL} ${CFLAGS} ${LDFLAGS} ${INCLUDES} -L${libdir} ${LIBRARIES} ${LIBRARIES_LAPACK} ${LINKFLAGS_LAPACK} ; \ 106 done 107 108examples_klu: ${OBJECTS_KLU} 109 @for i in ${EXAMPLES_KLU} ; do \ 110 echo "${CC} -o $${i} $${i}.o ${OBJECTS_DEPENDENCIES_KLU} ${CFLAGS} ${LDFLAGS} ${INCLUDES} -L${libdir} ${LIBRARIES} ${LIBRARIES_KLU} ${LINKFLAGS_KLU}" ; \ 111 ${CC} -o $${i} $${i}.o ${OBJECTS_DEPENDENCIES_KLU} ${CFLAGS} ${LDFLAGS} ${INCLUDES} -L${libdir} ${LIBRARIES} ${LIBRARIES_KLU} ${LINKFLAGS_KLU} ; \ 112 done 113 114examples_slumt: ${OBJECTS_SLUMT} 115 @for i in ${EXAMPLES_SLUMT} ; do \ 116 echo "${CC} -o $${i} $${i}.o ${OBJECTS_DEPENDENCIES_SLUMT} ${CFLAGS} ${LDFLAGS} ${INCLUDES} -L${libdir} ${LIBRARIES} ${LIBRARIES_SLUMT} ${LINKFLAGS_SLUMT}" ; \ 117 ${CC} -o $${i} $${i}.o ${OBJECTS_DEPENDENCIES_SLUMT} ${CFLAGS} ${LDFLAGS} ${INCLUDES} -L${libdir} ${LIBRARIES} ${LIBRARIES_SLUMT} ${LINKFLAGS_SLUMT} ; \ 118 done 119 120${OBJECTS}: ${OBJECTS_DEPENDENCIES} 121 122${OBJECTS_BL}: ${OBJECTS_DEPENDENCIES_BL} 123 124${OBJECTS_KLU}: ${OBJECTS_DEPENDENCIES_KLU} 125 126${OBJECTS_SLUMT}: ${OBJECTS_DEPENDENCIES_SLUMT} 127 128clean: 129 rm -f ${OBJECTS_DEPENDENCIES} ${OBJECTS_DEPENDENCIES_BL} ${OBJECTS_DEPENDENCIES_KLU} ${OBJECTS_DEPENDENCIES_SLUMT} 130 rm -f ${OBJECTS} ${OBJECTS_BL} ${OBJECTS_KLU} ${OBJECTS_SLUMT} 131 rm -f ${EXAMPLES} ${EXAMPLES_BL} ${EXAMPLES_KLU} ${EXAMPLES_SLUMT} 132 133# ----------------------------------------------------------------------------------------- 134