2020-08-13 16:15:05 -03:00

163 lines
2.9 KiB
Plaintext

#-------------------------------------------------------------------------------
#
# Compilation flags depend on variable COMPILER set in make.default or
# make.config. This variable indicates which compiler family should be used.
# Currently, we support GNU, PGI and INTEL compilers. If you need support
# for a different compiler, please add corresponding section below.
#
#-------------------------------------------------------------------------------
#
# GNU Fortran compiler
#
ifeq ($(COMPILER), GNU)
# compiler and linker setup
#
ifeq ($(MPI),Y)
FC = mpifort
else
FC = gfortran
endif
LD = $(FC)
# compiler and linker flags
#
ifeq ($(DEBUG),Y)
FFLAGS = -Og -g -DDEBUG
else
FFLAGS = -O2 -march=native -pipe
endif
ifeq ($(PROFILE),Y)
FFLAGS += -pg
endif
LDFLAGS = $(FFLAGS)
ifeq ($(STATIC),Y)
LDFLAGS += -static
endif
endif
#-------------------------------------------------------------------------------
#
# PGI Fortran compiler
#
ifeq ($(COMPILER), PGI)
# compiler and linker setup
#
ifeq ($(MPI),Y)
FC = mpifort
else
FC = pgfortran
endif
LD = $(FC)
# compiler and linker flags
#
ifeq ($(DEBUG),Y)
FFLAGS = -O -g -DDEBUG
else
FFLAGS = -fast
endif
ifeq ($(PROFILE),Y)
FFLAGS += -Mprof=dwarf
endif
LDFLAGS = $(FFLAGS)
ifeq ($(STATIC),Y)
LDFLAGS += -Bstatic
endif
endif
#-------------------------------------------------------------------------------
#
# INTEL Fortran compiler
#
ifeq ($(COMPILER), INTEL)
# compiler and linker setup
#
ifeq ($(MPI),Y)
FC = mpifort
else
FC = ifort
endif
LD = $(FC)
# compiler and linker flags
#
ifeq ($(DEBUG),Y)
FFLAGS = -O -g -DDEBUG
else
FFLAGS = -O2 -xHost
endif
ifeq ($(PROFILE),Y)
FFLAGS += -p
endif
LDFLAGS = $(FFLAGS)
ifeq ($(STATIC),Y)
LDFLAGS += -static
endif
endif
#-------------------------------------------------------------------------------
#
# Additional common directives set in make.config
#
ifeq ($(SIGNALS),Y)
FFLAGS += -DSIGNALS
endif
ifeq ($(MPI),Y)
FFLAGS += -DMPI
endif
#-------------------------------------------------------------------------------
#
# libraries and their dependencies
#
LIBS =
# if your HDF5 libraries not are installed in the standard location /usr,
# you can set this path using the HDF5DIR variable here
#
#HDF5DIR=/home/user/hdf5
ifeq ($(OUTPUT),HDF5)
ifeq ($(HDF5DIR),)
FFLAGS += -I/usr/include
else
FFLAGS += -I$(HDF5DIR)/include
LIBS += -L$(HDF5DIR)/lib
endif
LIBS += -lhdf5_fortran -lhdf5
endif
# compression for binary files of the XML+binary format
#
ifeq ($(ZSTD),Y)
FFLAGS += -DZSTD
ifneq ($(ZSTDDIR),)
LIBS += -L$(ZSTDDIR)/lib
endif
LIBS += -lzstd
endif
ifeq ($(LZ4),Y)
FFLAGS += -DLZ4
ifneq ($(LZ4DIR),)
LIBS += -L$(LZ4DIR)/lib
endif
LIBS += -llz4
endif
ifeq ($(LZMA),Y)
FFLAGS += -DLZMA
ifneq ($(LZMADIR),)
LIBS += -L$(LZMADIR)/lib
endif
LIBS += -llzma
endif
#
#-------------------------------------------------------------------------------