-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathmake_gfortran.inc
37 lines (30 loc) · 1.76 KB
/
make_gfortran.inc
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
###############################################################################
########## GNU Fortran Compiler #############################################
FCHOME = /usr
FC = $(FCHOME)/bin/gfortran
COMPINC = -I./ -I$(FCHOME)/include -I$(FCHOME)/lib64/gfortran/modules
COMPLIBS = -L./ -L$(FCHOME)/lib64
LIBS = $(COMPLIBS) $(COMPINC)
# Debugging flags
ifeq ($(RUN), DEBUG)
# consider including -lefence for debugging
# Note that -Wall = -Waliasing -Wampersand -Wconversion -Wsurprising -Wc-binding-type
# -Wintrinsics-std -Wtabs -Wintrinsic-shadow -Wline-truncation
# -Wtarget-lifetime -Winteger-division -Wreal-q-constant -Wunused
# -Wundefined-do-loop
# and -Wextra = -Wcompare-reals, -Wunused-parameter -Wdo-subscript
FFLAGS = -O0 -g3 -Wall -Wextra -Wcharacter-truncation -Wimplicit-interface -Wunderflow -Wuninitialized -Wmaybe-uninitialized -Wno-surprising -fimplicit-none -fwhole-file -fcheck=all -std=f2008 -pedantic -fbacktrace -ffpe-trap=invalid,zero,overflow -ffpe-summary=all -finit-integer=-2147483647 -finit-real=snan -fno-unsafe-math-optimizations -fsignaling-nans -frounding-math
endif
# Profiling flags
ifeq ($(RUN), PROF)
FFLAGS = -g -pg -w -fno-math-errno -funsafe-math-optimizations -fno-trapping-math -fno-signaling-nans -fcx-limited-range -fno-rounding-math
endif
# Production run flags
ifeq ($(RUN), OPT)
FFLAGS = -O3 -w -fno-math-errno -funsafe-math-optimizations -fno-trapping-math -fno-signaling-nans -fcx-limited-range -fno-rounding-math -ftree-vectorize -funroll-loops -finline-functions
endif
# Preprocessing flags
FPPFLAGS = -x f95-cpp-input
# Extra flags
EXFLAGS =
###############################################################################