-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
114 lines (82 loc) · 2.88 KB
/
Makefile
File metadata and controls
114 lines (82 loc) · 2.88 KB
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
103
104
105
106
107
108
109
110
111
112
113
114
default: nemo2d
BUILDDIR ?= build
# ---------------------------------------------------------------------------- #
# Compiler flags
FC = gfortran
FCFLAGS =
#FCFLAGS += -g
FCFLAGS += -O3
FCFLAGS += -cpp
FCFLAGS += -pedantic
FCFLAGS += -pedantic-errors
FCFLAGS += -fall-intrinsics
FCFLAGS += -Wall
FCFLAGS += -Wno-unused-variable
FCFLAGS += -Wno-unused-dummy-argument
FCFLAGS += -Wno-unused-label
FCFLAGS += -Wno-maybe-uninitialized
FCFLAGS += -Wno-error=unused-function
FCFLAGS += -Wno-error=conversion
FCFLAGS += -Werror
FCFLAGS += -std=f2008
FCFLAGS += -ffree-form
FCFLAGS += -fimplicit-none
FCFLAGS += -ffree-line-length-none
FCFLAGS += -J$(BUILDDIR)
# ---------------------------------------------------------------------------- #
# PARALLELIZATION: Uncomment following flag in order to active OpenMP.
# FCFLAGS += -fopenmp
# ---------------------------------------------------------------------------- #
FCFLAGS += -DPP_N_NODES=4 # number of nodes: Npoly = N_NODES-1
# -------------------------------------- #
TIMEDISC = source/timedisc/rk-5-4-ssp
# -------------------------------------- #
EQUATIONS = source/equations/euler
# -------------------------------------- #
RIEMANN = $(EQUATIONS)/riemann/rusanov
# -------------------------------------- #
# Uncomment when you want to use the 'splitform' kernel.
#TWOPOINT = $(EQUATIONS)/two_point_flux/standard
#TWOPOINT = $(EQUATIONS)/two_point_flux/chandrashekar
# -------------------------------------- #
KERNEL = source/kernel/fv
#KERNEL = source/kernel/dg/weakform
#KERNEL = source/kernel/dg/strongform
#KERNEL = source/kernel/dg/splitform
# -------------------------------------- #
SETUP = source/setups/advecting-bell
# ---------------------------------------------------------------------------- #
# ---------------------------------------------------------------------------- #
# Only change following lines if you know what you are doing!
# !! Sorted in order of dependency. !!
MODULES =
MODULES += source/globals_mod.f90
MODULES += $(SETUP)/config_mod.f90
MODULES += $(EQUATIONS)/equations_mod.f90
ifneq ($(origin TWOPOINT),undefined)
MODULES += $(TWOPOINT)/two_point_flux_mod.f90
endif
MODULES += $(RIEMANN)/riemann_mod.f90
MODULES += $(KERNEL)/kernel_utils_mod.f90
MODULES += source/mesh_mod.f90
MODULES += $(SETUP)/boundary_mod.f90
MODULES += $(SETUP)/source_mod.f90
MODULES += $(KERNEL)/kernel_mod.f90
MODULES += $(EQUATIONS)/timestep_mod.f90
MODULES += $(TIMEDISC)/timedisc_mod.f90
MODULES += $(SETUP)/setup_mod.f90
MODULES += source/nemo2d_prog.f90
$(BUILDDIR)/nemo2d: $(BUILDDIR)/.dummy Makefile $(MODULES)
$(FC) $(FCFLAGS) -o $@ $(MODULES)
@echo
@echo !! COMPILATION SUCCESSFUL !!
@echo
nemo2d: $(BUILDDIR)/.dummy
nemo2d: $(BUILDDIR)/nemo2d
# -------------------------------------- #
clean clear:
rm -rf $(BUILDDIR)
$(BUILDDIR)/.dummy:
mkdir -p $(BUILDDIR)
touch $@
.PHONY: default nemo2d clean clear