Commit 42467225 authored by Friedrich Boeing's avatar Friedrich Boeing
Browse files

added make.configs to repo, changed path in Makefile

parent 09a2c027
......@@ -96,7 +96,7 @@ SHELL = /bin/bash
# . is current directory, .. is parent directory
SRCPATH := ./src ./lib # where are the source files; use test_??? to
PROGPATH := . # where shall be the executable
CONFIGPATH := /home/thober/lib/mhm/develop/make.config # where are the $(system).$(compiler) files
CONFIGPATH := ./make.config # where are the $(system).$(compiler) files
MAKEDPATH := $(CONFIGPATH) # where is the make.d.sh script
CHECKPATH := # path for $(CHECKPATH)/test* and $(CHECKPATH)/check* directories if target is check
DOXCONFIG := ./doxygen.config # the doxygen config file
......
# Set aliases so that one can, for example, say ifort to invoke standard intel11 on eve
ifneq (,$(findstring $(compiler),gnu gfortran gcc))
icompiler := gnu48
endif
ifneq (,$(findstring $(compiler),intel ifort ifort13 ifort18))
icompiler := intel18
endif
ifneq (,$(findstring $(compiler),nag nagfor))
icompiler := nag62
endif
ifneq (,$(findstring $(compiler),pgi pgfortran pgfortran159))
icompiler := pgi159
endif
# -*- Makefile -*-
#
# Setup file for Gnu compiler 4.7 with easybuild/goolf/1.4.10 at eve.ufz.de
#
# LICENSE
# This file is part of the UFZ makefile project.
#
# The UFZ makefile project is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# The UFZ makefile project is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with the UFZ makefile project. If not, see <http://www.gnu.org/licenses/>.
#
# Copyright 2013 Matthias Cuntz
# The Makefile assumes the standard bin, include and lib directories
# i.e. if SOMEDIR = /path/to/lib, the make file will define the two dirs
# SOMEINC ?= SOMEDIR/include
# SOMELIB ?= SOMEDIR/lib
# Define subirectories if another structure
# Paths
GNUDIR := /usr/local/gcc/4.8.1-3_CentOS6/
GNULIB := $(GNUDIR)/lib64
GNUBIN := $(GNUDIR)/bin
# Compiling
F90 := $(GNUBIN)/gfortran
FC := $(F90)
CC := $(GNUBIN)/gcc
CPP := /usr/bin/cpp
# GNU Fortran version >= 4.4
ifeq ($(release),debug)
F90FLAGS += -pedantic-errors -Wall -W -O -g -Wno-maybe-uninitialized
FCFLAGS += -pedantic-errors -Wall -W -O -g -Wno-maybe-uninitialized
CFLAGS += -pedantic -Wall -W -O -g -Wno-maybe-uninitialized
else
F90FLAGS += -O3
FCFLAGS += -O3
CFLAGS += -O3
endif
F90FLAGS += -cpp -ffree-form -ffixed-line-length-132
FCFLAGS += # -ffixed-form -ffixed-line-length-132
CFLAGS +=
MODFLAG := -J# space significant
DEFINES += -DGFORTRAN -DgFortran
# Linking
LIBS += -L$(GNULIB)
RPATH += -Wl,-rpath,$(GNULIB)
iLDPATH = $(GNUDIR)/lib/gcc/x86_64-unknown-linux-gnu/4.8.1:/usr/local/cloog/0.18.0-2/lib:/usr/local/isl/0.11.1-2/lib:/usr/local/mpc/1.0.1-3/lib:/usr/local/mpfr/3.1.2-2/lib:/usr/local/gmp/5.1.2-1/lib
ifneq ($(LDPATH),)
LDPATH += :$(iLDPATH)
else
LDPATH := $(iLDPATH)
endif
# IMSL
IMSLDIR :=
# MKL
INTEL := /usr/local/intel/composerxe-2011.4.191
MKLDIR := $(INTEL)/mkl
MKLINC := $(MKLDIR)/include/intel64/lp64
MKLLIB := $(MKLDIR)/lib/intel64
INTELLIB := $(INTEL)/compiler/lib/intel64
MKL95DIR :=
# NETCDF
ifeq ($(netcdf),netcdf3)
NCDIR :=
else
ZLIB := /usr/local/zlib/1.2.8-2_gcc_4.8.1_CentOS6/lib
SZLIB := /usr/local/szip/2.1_gcc_4.8.1_CentOS6/lib
HDF5LIB := /usr/local/hdf5/1.8.12-1_gcc_4.8.1_CentOS6/lib
NCDIR := /usr/local/netcdf/4.3.2_gcc_4.8.1_CentOS6
NCFDIR := /usr/local/netcdf-fortran/4.2_gcc_4.8.1_CentOS6
endif
# PROJ
PROJ4DIR := /usr/local/proj/4.8.0-2_gcc_4.8.1_CentOS6
FPROJDIR :=
# LAPACK
LAPACKDIR := /usr/local/lapack/3.5.0-1_gcc_4.8.1_CentOS6
GFORTRANDIR := $(GNUDIR)
GFORTRANLIB := $(GNULIB)
# MPI
MPIDIR := /usr/local/openmpi/gcc/1.8.4-2
#/usr/local/openmpi/1.8.2-1_gcc_4.8.1_CentOS6
# Documentation
DOXYGENDIR := /usr/local/doxygen/1.8.7-1_gcc_4.8.1_CentOS6/bin
DOTDIR := /usr/bin
TEXDIR := /usr/local/texlive/2011/bin/x86_64-linux
PERLDIR := /usr/bin
iiLDPATH := /usr/local/flex/2.5.39-1_gcc_4.8.1_CentOS6/lib:/usr/local/bison/3.0.2-1_gcc_4.8.1_CentOS6/lib
ifneq ($(LDPATH),)
LDPATH += :$(iiLDPATH)
else
LDPATH := $(iiLDPATH)
endif
# Check some dependices, e.g. IMSL needs intel11 on eve
ifneq (,$(findstring $(system),eve))
ifneq (,$(findstring $(imsl),vendor imsl))
ifneq ($(icompiler),intel11)
$(error Error: IMSL needs intel11.0.075, set 'compiler=intel11')
endif
ifeq ($(imsl),vendor)
ifeq (,$(findstring $(mkl),mkl mkl95))
$(error Error: IMSL vendor needs MKL, set 'mkl=mkl' or 'mkl=mkl95')
endif
endif
endif
endif
# -*- Makefile -*-
#
# Setup file for Intel compiler 13.1.0 at eve.ufz.de
#
# LICENSE
# This file is part of the UFZ makefile project.
#
# The UFZ makefile project is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# The UFZ makefile project is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with the UFZ makefile project. If not, see <http://www.gnu.org/licenses/>.
#
# Copyright 2012 Matthias Cuntz
# The Makefile assumes the standard bin, include and lib directories
# i.e. if SOMEDIR = /path/to/lib, the make file will define the two dirs
# SOMEINC ?= SOMEDIR/include
# SOMELIB ?= SOMEDIR/lib
# Define subirectories if another structure
# Paths
# INTEL := /opt/intel/composer_xe_2013.1.117
# INTELDIR := /usr/local/intel/13.0.1
INTEL := /opt/intel/composer_xe_2013.2.146
INTELDIR := /usr/local/intel/13.1.0
INTELLIB := $(INTELDIR)
INTELBIN := $(INTEL)/bin/intel64
# Compiling
F90 := $(INTELBIN)/ifort
FC := $(F90)
CC := $(INTELBIN)/icc
CPP := /usr/bin/cpp
ifeq ($(release),debug)
F90FLAGS += -warn all -g -debug -traceback -fp-stack-check -O0 -debug
F90FLAGS += -check all
# F90FLAGS += -check all,noarg_temp_created
FCFLAGS += -g -debug -traceback -fp-stack-check -O0 -debug
CFLAGS += -g -debug -traceback -fp-stack-check -O0 -debug -Wall -Wcheck
else
# -fast (=-ipo -O3 -static) Multifile interprocedure optimization
# -vec-report1 to see vectorized loops; -vec-report2 to see also non-vectorized loops
F90FLAGS += -O3 -vec-report0 -override-limits
FCFLAGS += -O3 -vec-report0 -override-limits
CFLAGS += -O3
endif
F90FLAGS += -nofixed -assume byterecl -cpp -fp-model source -m64 -assume realloc-lhs # precise -> source: suppress warning, computation identical
MODFLAG := -module # space significant
FCFLAGS += -assume byterecl -cpp -fp-model source -m64 -fixed
CFLAGS += -m64 -std=c99
DEFINES += -DINTEL -DINTEL_COMPILER
# Linking
ifeq ($(istatic),static)
LIBS += -static-intel
endif
LIBS += -L$(INTELLIB) -limf -lm -lsvml
ifneq ($(istatic),static)
LIBS += -lintlc
endif
RPATH += -Wl,-rpath,$(INTELLIB)
iLDPATH = $(GNUDIR)/lib/gcc/x86_64-unknown-linux-gnu/4.8.1:/usr/local/cloog/0.18.0-2/lib:/usr/local/isl/0.11.1-2/lib:/usr/local/mpc/1.0.1-3/lib:/usr/local/mpfr/3.1.2-2/lib:/usr/local/gmp/5.1.2-1/lib:/usr/local/gcc/4.9.4-2/bin
ifneq ($(LDPATH),)
LDPATH += :$(iLDPATH)
else
LDPATH := $(iLDPATH)
endif
# IMSL
IMSLDIR := /usr/local/imsl/imsl/fnl700/rdhin111e64
# MKL
MKLDIR := $(INTEL)/mkl
MKLINC := $(MKLDIR)/include/intel64/lp64
MKLLIB := $(INTELDIR)/mkl/lib/intel64
MKL95DIR := $(MKLDIR)
MKL95INC := $(MKL95DIR)/include/intel64/lp64
MKL95LIB := $(MKL95DIR)/lib/intel64
# NETCDF
ifeq ($(netcdf),netcdf3)
NCDIR := /usr/local/netcdf/3.6.3_intel_12.0.4
else
ZLIB := /usr/local/zlib/1.2.8-3_icc_13.1.0_CentOS6/lib
SZLIB := /usr/local/szip/2.1_intel_13.1.0_CentOS6/lib
HDF5LIB := /usr/local/hdf5/1.8.12-1_intel_13.1.0_CentOS6/lib
NCDIR := /usr/local/netcdf/4.3.2-2_intel_13.1.0_CentOS6
NCFDIR := /usr/local/netcdf-fortran/4.2_intel_13.1.0_CentOS6
endif
# PROJ
PROJ4DIR := /usr/local/proj/4.7.0
FPROJDIR := /usr/local/fproj/4.7.0_intel11.1.075
# LAPACK
LAPACKDIR := /usr/local/lapack/3.5.0-1_gcc_4.8.1_CentOS6
GFORTRANDIR := /usr/local/gcc/4.8.1-3_CentOS6/
GFORTRANLIB := $(GFORTRANDIR)/lib64
# MPI
MPIDIR := /usr/local/openmpi/intel/1.8.4-2
# Documentation
DOXYGENDIR := /usr/local/doxygen/1.8.7-1_gcc_4.8.1_CentOS6/bin
DOTDIR := /usr/bin
TEXDIR := /usr/local/texlive/2011/bin/x86_64-linux
PERLDIR := /usr/bin
iiLDPATH := /usr/local/flex/2.5.39-1_gcc_4.8.1_CentOS6/lib:/usr/local/bison/3.0.2-1_gcc_4.8.1_CentOS6/lib
ifneq ($(LDPATH),)
LDPATH += :$(iiLDPATH)
else
LDPATH := $(iiLDPATH)
endif
# Check some dependices, e.g. IMSL needs intel11 on eve
ifneq (,$(findstring $(system),eve))
ifneq (,$(findstring $(imsl),vendor imsl))
ifneq ($(icompiler),intel11)
$(error Error: IMSL needs intel11.0.075, set 'compiler=intel11')
endif
ifeq ($(imsl),vendor)
ifeq (,$(findstring $(mkl),mkl mkl95))
$(error Error: IMSL vendor needs MKL, set 'mkl=mkl' or 'mkl=mkl95')
endif
endif
endif
endif
# Lapack on Eve needs libgfortran
ifeq ($(lapack),true)
ifneq (exists, $(shell if [ -d "$(GFORTRANDIR)" ] ; then echo 'exists' ; fi))
$(error Error: GFORTRAN path '$(GFORTRANDIR)' not found.)
endif
GFORTRANLIB ?= $(GFORTRANDIR)/lib
iLIBS += -L$(GFORTRANLIB) -lgfortran
RPATH += -Wl,-rpath,$(GFORTRANLIB)
endif
# -*- Makefile -*-
#
# Setup file for Intel compiler 13.1.0 at eve.ufz.de
#
# LICENSE
# This file is part of the UFZ makefile project.
#
# The UFZ makefile project is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# The UFZ makefile project is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with the UFZ makefile project. If not, see <http://www.gnu.org/licenses/>.
#
# Copyright 2012 Matthias Cuntz
# The Makefile assumes the standard bin, include and lib directories
# i.e. if SOMEDIR = /path/to/lib, the make file will define the two dirs
# SOMEINC ?= SOMEDIR/include
# SOMELIB ?= SOMEDIR/lib
# Define subirectories if another structure
# Paths
# INTEL := /opt/intel/composer_xe_2013.1.117
# INTELDIR := /usr/local/intel/13.0.1
INTEL := /software/intel/parallel-studio/2018_u2-1/compilers_and_libraries_2018.2.199/linux
INTELDIR := /software/intel/parallel-studio/2018_u2-1/compilers_and_libraries_2018.2.199/linux
INTELLIB := $(INTELDIR)/compiler/lib/intel64_lin
INTELBIN := $(INTEL)/bin/intel64
GNUDIR := /usr/local/gcc/4.8.1-3_CentOS6/
OPENSSLLIB := /usr/local/openssl/1.0.2-1/usr/lib
# Compiling
F90 := $(INTELBIN)/ifort
FC := $(F90)
CC := $(INTELBIN)/icc
CPP := /usr/bin/cpp
ifeq ($(release),debug)
F90FLAGS += -warn all -g -debug -traceback -fp-stack-check -O0 -debug -gxx-name=/usr/local/gcc/6.2.0-1/bin/g++
F90FLAGS += -check all
# F90FLAGS += -check all,noarg_temp_created
FCFLAGS += -g -debug -traceback -fp-stack-check -O0 -debug -gxx-name=/usr/local/gcc/6.2.0-1/bin/g++
CFLAGS += -g -debug -traceback -fp-stack-check -O0 -debug -Wall -Wcheck
else
# -fast (=-ipo -O3 -static) Multifile interprocedure optimization
# -vec-report1 to see vectorized loops; -vec-report2 to see also non-vectorized loops
F90FLAGS += -O3 -qoverride-limits -gxx-name=/usr/local/gcc/6.2.0-1/bin/g++
FCFLAGS += -O3 -qoverride-limits -gxx-name=/usr/local/gcc/6.2.0-1/bin/g++
CFLAGS += -O3
endif
F90FLAGS += -nofixed -assume byterecl -cpp -fp-model source -m64 -assume realloc-lhs # precise -> source: suppress warning, computation identical
MODFLAG := -module # space significant
FCFLAGS += -assume byterecl -cpp -fp-model source -m64 -fixed
CFLAGS += -m64 -std=c99
DEFINES += -DINTEL -DINTEL_COMPILER
LDFLAGS += -gxx-name=/usr/local/gcc/4.8.1-3_CentOS6/bin/g++
# Linking
ifeq ($(istatic),static)
LIBS += -static-intel
endif
LIBS += -L$(INTELLIB) -limf -lm -lsvml
ifneq ($(istatic),static)
LIBS += -lintlc
endif
RPATH += -Wl,-rpath,$(INTELLIB) -Wl,-rpath,$(OPENSSLLIB)
iLDPATH = $(GNUDIR)/lib64:/usr/local/cloog/0.18.0-2/lib:/usr/local/isl/0.11.1-2/lib:/usr/local/mpc/1.0.1-3/lib:/usr/local/mpfr/3.1.2-2/lib:/usr/local/gmp/5.1.2-1/lib
ifneq ($(LDPATH),)
LDPATH += :$(iLDPATH)
else
LDPATH := $(iLDPATH)
endif
# IMSL; IMSL partitioning on EVE, access through: ssh imsl
IMSLDIR := /opt/RogueWave/imsl/fnl-2018.0.0/rdh680in170x64
# MKL
MKLDIR := $(INTEL)/mkl
MKLINC := $(MKLDIR)/include/intel64/lp64
MKLLIB := $(INTELDIR)/mkl/lib/intel64_lin
MKL95DIR := $(MKLDIR)
MKL95INC := $(MKL95DIR)/include/intel64/lp64
MKL95LIB := $(MKL95DIR)/lib/intel64_lin
# NETCDF
ifeq ($(netcdf),netcdf3)
NCDIR :=
else
ZLIB := /usr/local/zlib/1.2.11-1_intel_18.0.2-1/lib
SZLIB := /usr/local/szip/2.1.1-1_intel_18.0.2-1/lib
HDF5LIB := /usr/local/hdf5/1.10.1-1_intel_18.0.2-1/lib
NCDIR := /usr/local/netcdf/4.6.1-1_intel_18.0.2-1/
NCFDIR := /usr/local/netcdf-fortran/4.4.4-1_intel_18.0.2-1/
endif
# PROJ
PROJ4DIR := /usr/local/proj/4.7.0
FPROJDIR := /usr/local/fproj/4.7.0_intel11.1.075
# LAPACK
LAPACKDIR := /usr/local/lapack/3.5.0-1_gcc_4.8.1_CentOS6
GFORTRANDIR := /usr/local/gcc/4.8.1-3_CentOS6/
GFORTRANLIB := $(GFORTRANDIR)/lib64
# MPI
MPIDIR := /usr/local/openmpi/intel/1.8.4-2
# Documentation
DOXYGENDIR := /usr/local/doxygen/1.8.7-1_gcc_4.8.1_CentOS6/bin
DOTDIR := /usr/bin
TEXDIR := /usr/local/texlive/2011/bin/x86_64-linux
PERLDIR := /usr/bin
iiLDPATH := /usr/local/flex/2.5.39-1_gcc_4.8.1_CentOS6/lib:/usr/local/bison/3.0.2-1_gcc_4.8.1_CentOS6/lib
ifneq ($(LDPATH),)
LDPATH += :$(iiLDPATH)
else
LDPATH := $(iiLDPATH)
endif
# Check some dependices, e.g. IMSL needs intel11 on eve
ifneq (,$(findstring $(system),eve))
ifneq (,$(findstring $(imsl),vendor imsl))
ifeq ($(imsl),vendor)
ifeq (,$(findstring $(mkl),mkl mkl95))
$(error Error: IMSL vendor needs MKL, set 'mkl=mkl' or 'mkl=mkl95')
endif
endif
endif
endif
# Lapack on Eve needs libgfortran
ifeq ($(lapack),true)
ifneq (exists, $(shell if [ -d "$(GFORTRANDIR)" ] ; then echo 'exists' ; fi))
$(error Error: GFORTRAN path '$(GFORTRANDIR)' not found.)
endif
GFORTRANLIB ?= $(GFORTRANDIR)/lib
iLIBS += -L$(GFORTRANLIB) -lgfortran
RPATH += -Wl,-rpath,$(GFORTRANLIB)
endif
# -*- Makefile -*-
#
# Setup file for NAG compiler 6.0 at eve.ufz.de
#
# LICENSE
# This file is part of the UFZ makefile project.
#
# The UFZ makefile project is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# The UFZ makefile project is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with the UFZ makefile project. If not, see <http://www.gnu.org/licenses/>.
#
# Copyright 2012 Matthias Cuntz
# The Makefile assumes the standard bin, include and lib directories
# i.e. if SOMEDIR = /path/to/lib, the make file will define the two dirs
# SOMEINC ?= SOMEDIR/include
# SOMELIB ?= SOMEDIR/lib
# Define subdirectories if another structure
# Paths
NAGDIR := /opt/nag/6.1-6150
NAGLIB := $(NAGDIR)/lib
NAGBIN := $(NAGDIR)/bin
GNUDIR := /usr/local/gcc/4.8.1-3_CentOS6/
GNULIB := $(GNUDIR)/lib64
GNUBIN := $(GNUDIR)/bin
# Compiling
F90 := $(NAGBIN)/nagfor
FC := $(F90)
CC := $(GNUBIN)/gcc
CPP := /usr/bin/cpp
ifeq ($(release),debug)
#F90FLAGS += -C=all -g -gline -nan -O0 -strict95 -g90
# -gline not supported in NAG v5.3 under OpenMP
ifeq ($(openmp),true)
F90FLAGS += -C -C=dangling -g -nan -O0 -strict95 -g90
else
F90FLAGS += -C -C=dangling -g -gline -nan -O0 -strict95 -g90
endif
FCFLAGS += $(F90FLAGS)
CFLAGS += -pedantic -Wall -W -O -g -Wno-maybe-uninitialized
LDFLAGS += -g90
else
F90FLAGS += -O3
FCFLAGS += $(F90FLAGS)
CFLAGS += -O3
endif
# -mismatch-all
#F90FLAGS += -fpp -colour -unsharedf95 -kind=byte -ideclient -ieee=stop
F90FLAGS += -fpp -colour -unsharedf95 -kind=byte -ideclient -ieee=full -free
MODFLAG := -mdir # space significant
FCFLAGS += -fixed
CFLAGS +=
LDFLAGS += -ideclient -unsharedrts
DEFINES += -DNAG -DNAGf90Fortran
# Linking
LIBS += -L$(NAGLIB) #$(NAGLIB)/thsafe.o
RPATH += -Wl,-rpath,$(NAGLIB)
iLDPATH = $(GNUDIR)/lib/gcc/x86_64-unknown-linux-gnu/4.8.1:/usr/local/cloog/0.18.0-2/lib:/usr/local/isl/0.11.1-2/lib:/usr/local/mpc/1.0.1-3/lib:/usr/local/mpfr/3.1.2-2/lib:/usr/local/gmp/5.1.2-1/lib
ifneq ($(LDPATH),)
LDPATH += :$(iLDPATH)
else
LDPATH := $(iLDPATH)
endif
# IMSL
IMSLDIR :=
# MKL
INTEL := /usr/local/intel/composerxe-2011.4.191
MKLDIR := $(INTEL)/mkl
MKLINC := $(MKLDIR)/include/intel64/lp64
MKLLIB := $(MKLDIR)/lib/intel64
INTELLIB := $(INTEL)/compiler/lib/intel64
MKL95DIR := /usr/local/intel/interfaces/lapack95_nag53
MKL95INC := $(MKL95DIR)/include/intel64/lp64
MKL95LIB := $(MKL95DIR)/lib/intel64
# NETCDF
ifeq ($(netcdf),netcdf3)
NCDIR := /usr/local/netcdf/3.6.3_nag53
else
ZLIB := /usr/local/zlib/1.2.8-2_gcc_4.8.1_CentOS6/lib
SZLIB := /usr/local/szip/2.1_gcc_4.8.1_CentOS6/lib
HDF5LIB := /usr/local/hdf5/1.8.12-1_gcc_4.8.1_CentOS6/lib
NCDIR := /usr/local/netcdf/4.3.2_gcc_4.8.1_CentOS6
NCFDIR := /usr/local/netcdf-fortran/4.4.1-1_gcc_4.8.1_nagfor_6.0
endif
# PROJ
PROJ4DIR := /usr/local/proj/4.7.0
FPROJDIR := /usr/local/fproj/4.7.0-1_nag53
# LAPACK
LAPACKDIR := /usr/local/lapack/3.5.0-1_gcc_4.8.1_CentOS6
GFORTRANDIR := $(GNUDIR)
GFORTRANLIB := $(GNULIB)
# Documentation
DOXYGENDIR := /usr/local/doxygen/1.8.7-1_gcc_4.8.1_CentOS6/bin
DOTDIR := /usr/bin
TEXDIR := /usr/local/texlive/2011/bin/x86_64-linux
PERLDIR := /usr/bin
iiLDPATH := /usr/local/flex/2.5.39-1_gcc_4.8.1_CentOS6/lib:/usr/local/bison/3.0.2-1_gcc_4.8.1_CentOS6/lib
ifneq ($(LDPATH),)
LDPATH += :$(iiLDPATH)
else
LDPATH := $(iiLDPATH)
endif
# Check some dependices, e.g. IMSL needs intel11 on eve
ifneq (,$(findstring $(system),eve))
ifneq (,$(findstring $(imsl),vendor imsl))
ifneq ($(icompiler),intel11)
$(error Error: IMSL needs intel11.0.075, set 'compiler=intel11')
endif
ifeq ($(imsl),vendor)
ifeq (,$(findstring $(mkl),mkl mkl95))
$(error Error: IMSL vendor needs MKL, set 'mkl=mkl' or 'mkl=mkl95')
endif
endif
endif
endif
# Lapack on eve needs libgfortran
ifeq ($(lapack),true)
ifneq (exists, $(shell if [ -d "$(GFORTRANDIR)" ] ; then echo 'exists' ; fi))
$(error Error: GFORTRAN path '$(GFORTRANDIR)' not found.)
endif
GFORTRANLIB ?= $(GFORTRANDIR)/lib
iLIBS += -L$(GFORTRANLIB) -lgfortran
RPATH += -Wl,-rpath,$(GFORTRANLIB)
endif
# -*- Makefile -*-
#
# Setup file for NAG compiler 6.2 at eve.ufz.de
#
# LICENSE
# This file is part of the UFZ makefile project.
#
# The UFZ makefile project is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# The UFZ makefile project is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with the UFZ makefile project. If not, see <http://www.gnu.org/licenses/>.
#
# Copyright 2012 Matthias Cuntz
# The Makefile assumes the standard bin, include and lib directories
# i.e. if SOMEDIR = /path/to/lib, the make file will define the two dirs
# SOMEINC ?= SOMEDIR/include
# SOMELIB ?= SOMEDIR/lib
# Define subdirectories if another structure
# Paths
NAGDIR := /opt/nag/6.2
NAGLIB := $(NAGDIR)/lib
NAGBIN := $(NAGDIR)/bin
GNUDIR := /usr/local/gcc/4.9.4-2/
GNULIB := $(GNUDIR)/lib64
GNUBIN := $(GNUDIR)/bin
# Compiling
F90 := $(NAGBIN)/nagfor
FC := $(F90)
CC := $(GNUBIN)/gcc
CPP := /usr/bin/cpp
ifeq ($(release),debug)
# reactivate check for dangling pointers once NAG is patched
#F90FLAGS += -C -C=dangling
F90FLAGS += -C
# -gline not supported in NAG v5.3 under OpenMP
ifeq ($(openmp),true)
F90FLAGS += -g -nan -O0 -strict95 -g90
else
F90FLAGS += -g -gline -nan -O0 -strict95 -g90
endif
FCFLAGS += $(F90FLAGS)
CFLAGS += -pedantic -Wall -W -O -g -Wno-maybe-uninitialized
LDFLAGS += -g90
else