Skip to content
Snippets Groups Projects
Commit 3b7fb700 authored by Michael Blaschek's avatar Michael Blaschek :bicyclist:
Browse files

modified makefile_jet for cpath, library path

parent e589f258
No related branches found
No related tags found
No related merge requests found
......@@ -49,36 +49,27 @@ FLEXPART-MPI-DBG = DBG_FLEXPART_MPI
# Serial processing executable
FLEXPART-SERIAL = FLEXPART
ROOT_DIR = . #MD
ifeq ($(gcc), 4.9)
# Compiled libraries under user ~flexpart, gfortran v4.9
ROOT_DIR = /homevip/flexpart/
F90 = ${ROOT_DIR}/gcc-4.9.1/bin/gfortran
MPIF90 = ${ROOT_DIR}/bin/mpifort
INCPATH1 = ${ROOT_DIR}/gcc-4.9.1/include
INCPATH2 = ${ROOT_DIR}/include
LIBPATH1 = ${ROOT_DIR}/lib
else
# Compiled libraries under user ~flexpart, gfortran v5.4
#ROOT_DIR = /homevip/flexpart/
ROOT_DIR = . #MD
F90 = /usr/bin/gfortran
#MPIF90 = /usr/bin/mpifort
MPIF90 = /usr/lib64/openmpi/bin/mpifort
#INCPATH1 = ${ROOT_DIR}/gcc-5.4.0/include
#INCPATH2 = /usr/include
#LIBPATH1 = ${ROOT_DIR}/gcc-5.4.0/lib
#MD for jet
INCPATH1 = /jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.3.1/eccodes-2.18.0-s7clum3voiwexqv6favl72gqkpvjxgx3/include
INCPATH2 = /jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.3.1/netcdf-fortran-4.5.3-kfd2vkj7m6cremij4nunxwqfcrqjovcf/include
LIBPATH1 = /jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.3.1/eccodes-2.18.0-s7clum3voiwexqv6favl72gqkpvjxgx3/lib
LIBPATH2 = /jetfs/spack/opt/spack/linux-rhel8-skylake_avx512/gcc-8.3.1/netcdf-fortran-4.5.3-kfd2vkj7m6cremij4nunxwqfcrqjovcf/lib
#
# JET (INCLUDE/CPATH and LIBRARY_PATH)
# VSC (CPATH and LIBRARY_PATH)
#
ifndef CPATH
$(error CPATH is not set)
endif
ifndef LIBRARY_PATH
$(error LIBRARY_PATH is not set)
endif
# use the environmental variable $INCLUDE
# split the paths separated by :
INC = $(subst :, ,$(CPATH))
# add a -I/path/to/include
INC := $(INC:%=-I%)
# use the environmental variable $LIBRARY_PATH
LIBPATH := $(subst :, ,$(LIBRARY_PATH))
LIBRPATH := $(LIBPATH:%=-Wl,-rpath=%)
LIBPATH := $(LIBPATH:%=-L%)
### Enable netCDF output?
ifeq ($(ncf), yes)
......@@ -96,18 +87,30 @@ VPATH = gributils/
## OPTIMIZATION LEVEL
O_LEV = 0 # [0,1,2,3,g,s,fast]
O_LEV_DBG = g # [0,g]
# Different CPU microarchitectures
# check https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html
# using generic (AVX2)
# using skylake (AVX512)
# using native is the default, which will use whatever it can
# (defined by the machine where you are compiling it)
#
ifeq ($(arch), generic)
FUSER = -g -march=core-avx2
else ifeq ($(arch), skylake)
FUSER = -g -march=skylake-avx512
else
FUSER = -g -march=native -mtune=native
endif
## LIBRARIES
#LIBS = -lgrib_api_f90 -lgrib_api -lm -ljasper -lnetcdff
#LIBS = -lgrib_api_f90 -lgrib_api -lm -ljasper $(NCOPT)
LIBS = -leccodes -leccodes_f90 -lm -ljasper $(NCOPT) #MD
FFLAGS = $(INC) -O$(O_LEV) -m64 -cpp -mcmodel=large -fconvert=little-endian -frecord-marker=4 -fmessage-length=0 -flto=jobserver $(NCOPT) $(ETAOPT) $(FUSER) #-convert little_endian -fpp -WB -check all
DBGFLAGS = $(INC) -O$(O_LEV_DBG) -g3 -ggdb3 -cpp -m64 -mcmodel=large -fconvert=little-endian -frecord-marker=4 -fmessage-length=0 -flto=jobserver -O$(O_LEV_DBG) $(NCOPT) -fbacktrace -Wall -fdump-core $(FUSER) # -ffpe-trap=invalid,overflow,denormal,underflow,zero -Warray-bounds -fcheck=all
FFLAGS = -I$(INCPATH1) -I$(INCPATH2) -O$(O_LEV) -g -cpp -m64 -mcmodel=large -fconvert=little-endian -frecord-marker=4 -fmessage-length=0 -flto=jobserver -O$(O_LEV) $(NCOPT) $(FUSER) #-Warray-bounds -fcheck=all # -march=native
DBGFLAGS = -I$(INCPATH1) -I$(INCPATH2) -O$(O_LEV_DBG) -g3 -ggdb3 -cpp -m64 -mcmodel=large -fconvert=little-endian -frecord-marker=4 -fmessage-length=0 -flto=jobserver -O$(O_LEV_DBG) $(NCOPT) -fbacktrace -Wall -fdump-core $(FUSER) # -ffpe-trap=invalid,overflow,denormal,underflow,zero -Warray-bounds -fcheck=all
LDFLAGS = $(FFLAGS) -L$(LIBPATH1) -Wl,-rpath,$(LIBPATH1) $(LIBS) -L$(LIBPATH2) -Wl,-rpath,$(LIBPATH2) #MD add LIBPATH2 as rpath (for dynamic libraries)
LDDEBUG = $(DBGFLAGS) -L$(LIBPATH1) $(LIBS) -L$(LIBPATH2)
LDFLAGS = $(FFLAGS) $(LIBPATH) $(LIBRPATH) $(LIBS)
LDDEBUG = $(DBGFLAGS) $(LIBPATH) $(LIBRPATH) $(LIBS)
MODOBJS = \
par_mod.o com_mod.o \
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment