-
Notifications
You must be signed in to change notification settings - Fork 10
/
Makefile.defaults
109 lines (87 loc) · 2.34 KB
/
Makefile.defaults
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#
# Default build settings for libpfasst.
#
# Set some variables to determine what is included in the build
# The "?=" checks to see if they have been defined so that applications
# that need the FFT can specify it automatically in the local Makefile
DEBUG ?= FALSE
MKVERBOSE ?= FALSE
USE_PETSC ?= FALSE
USE_HYPRE ?= FALSE
USE_SUNDIALS ?= FALSE
USE_AMREX ?= FALSE
USE_FFT ?= FALSE
# File for compiler options
include $(LIBPFASST)/Makefile.local
VPATHS = $(LIBPFASST)/src
LDFLAGS += -L$(LIBPFASST)/lib -lpfasst
# Source files
FSRC = src/pfasst.f90 \
src/pf_comm.f90 \
src/pf_dtype.f90 \
src/pf_fft.f90 \
src/pf_hooks.f90 \
src/pf_interpolate.f90 \
src/pf_mgrit.f90 \
src/pf_parallel.f90 \
src/pf_parareal.f90 \
src/pf_parallel_oc.f90 \
src/pf_pfasst.f90 \
src/pf_quadrature.f90 \
src/pf_restrict.f90 \
src/pf_results.f90 \
src/pf_rkstepper.f90 \
src/pf_erkstepper.f90 \
src/pf_solutions.f90 \
src/pf_stop.f90 \
src/pf_timer.f90 \
src/pf_utils.f90 \
src/pf_ham_sys_encap.f90 \
src/pf_ndarray_encap.f90 \
src/pf_ndarray_oc_encap.f90 \
src/pf_ndsysarray_encap.f90 \
src/pf_zndsysarray_encap.f90 \
src/pf_zndarray_encap.f90 \
src/pf_exp_sweeper.f90 \
src/pf_fexp_sweeper.f90 \
src/pf_imex_sweeper.f90 \
src/pf_imexR_sweeper.f90 \
src/pf_imexQ_oc_sweeper.f90 \
src/pf_imk_sweeper.f90 \
src/pf_magpicard_sweeper.f90 \
src/pf_misdcQ_sweeper.f90 \
src/pf_misdcQ_oc_sweeper.f90 \
src/pf_verlet_sweeper.f90 \
src/pf_fexp_sweeper.f90 \
# src/pf_amisdc.f90 pf_amisdcQ.f90 \
# AMReX options
ifeq ($(USE_AMREX),TRUE)
include $(LIBPFASST)/Makefile.AMReX
endif
# FFT options
ifeq ($(USE_FFT),TRUE)
include $(LIBPFASST)/Makefile.FFT
endif
# PETSc options
ifeq ($(USE_PETSC),TRUE)
include $(LIBPFASST)/Makefile.PETSc
endif
# SUNDIALS options
ifeq ($(USE_SUNDIALS),TRUE)
include $(LIBPFASST)/Makefile.SUNDIALS
endif
ifeq ($(USE_HYPRE),TRUE)
include $(LIBPFASST)/Makefile.hypre
endif
ifdef NOMPI
FFLAGS += -DNOMPI
else
FSRC += src/pf_mpi.f90
endif
ifdef OMP
FFLAGS += -fopenmp
endif
OBJ = $(subst src, build,$(FSRC:.f90=.o) $(CSRC:.c=.o))
ifeq ($(USE_FFT),TRUE)
OBJ += $(subst src,build,$(F77SRC:.f=.o))
endif