Skip to content
Snippets Groups Projects
Commit da1b7883 authored by anphi's avatar anphi
Browse files

Merge branch 'feature/makefiles' into dev

Solved merge conflict in makefile_fast and corrected executable name and LIB var name to eccodes
parents f7b9666b 4d68c4a1
Branches
Tags
No related merge requests found
###############################################################################
#
# Top level Makefile for ECMWFDATA7.0 software
# Makefile for flex_extract, Fortran code to calculate etadot
# Makefile created using by mkmf 19.3.0
#
# Last modified: December 1, 2015
# Copyright: Leopold Haimberger, Petra Seibert
# SPDX-License-Identifier: GPL-2.0
#
# Version for a machine with eccodes and emoslib installed on standard paths
# with optimisation
#
###############################################################################
.SUFFIXES: .o .c .c~ .f .f~ .F90 .f90 .f90~ .f95 .f95~ .F .F~ .y .y~ .l .l~ \
.s .s~ .sh .sh~ .h .h~ .C .C~ .a
EXE = calc_etadot
OPT =
DEBUG = -g
LIB = $(GRIB_API_LIBS) $(EMOSLIB)
LIB = $(ECCODES_LIB) $(EMOSLIB)
INC = -I. -I$(ECCODES_INCLUDE_DIR)
FC=ftn $(F90FLAGS)
F90C=ftn $(F90FLAGS)
FFLAGS = $(OPT) -I. -r8 -I$(GRIB_API_INCLUDE_DIR)
F90FLAGS = $(OPT) -I. -r8 -I$(GRIB_API_INCLUDE_DIR)
LDFLAGS = $(OPT)
BINDIR = .
FC = ftn
OPT = -O3
FFLAGS = -s real64 $(OPT) $(LIB) $(INC)
LDFLAGS = $(OPT) -fopenmp
EXE = calc_etadot
.f.o:
$(F90C) -c $(F90FLAGS) $(DEBUG) $*.f
.f90.o:
$(F90C) -c $(F90FLAGS) $(DEBUG) $*.f90
SRC = ./rwgrib2.f90 ./calc_etadot.f90 ./ftrafo.f90 ./grphreal.f90 ./posnam.f90 ./phgrreal.f90
OBJ = rwgrib2.o calc_etadot.o ftrafo.o grphreal.o posnam.o phgrreal.o
MOD = ftrafo.mod grtoph.mod phtogr.mod rwgrib2.mod
all: ${EXE}
clean:
rm *.o *.mod ${EXE}
phgrreal.o: phgrreal.f
$(F90C) -c -g -O3 phgrreal.f
grphreal.o: grphreal.f
$(F90C) -c -g -O3 grphreal.f
ftrafo.o: ftrafo.f
$(F90C) -c -g -O3 ftrafo.f
$(BINDIR)/${EXE}: phgrreal.o grphreal.o ftrafo.o rwgrib2.o posnam.o calc_etadot.o
$(F90C) $(DEBUG) $(OPT) -o $(BINDIR)/${EXE} ftrafo.o phgrreal.o grphreal.o rwgrib2.o posnam.o calc_etadot.o ${LIB}
###############################################################################
#
# End of the Makefile
#
###############################################################################
ftrafo.o: ./ftrafo.f90 phgrreal.o
$(FC) $(FFLAGS) -c ./ftrafo.f90
grphreal.o: ./grphreal.f90 phgrreal.o
$(FC) $(FFLAGS) -c ./grphreal.f90
phgrreal.o: ./phgrreal.f90
$(FC) $(FFLAGS) -c ./phgrreal.f90
posnam.o: ./posnam.f90
$(FC) $(FFLAGS) -c ./posnam.f90
calc_etadot.o: ./calc_etadot.f90 phgrreal.o grphreal.o ftrafo.o rwgrib2.o
$(FC) $(FFLAGS) -c ./calc_etadot.f90
rwgrib2.o: ./rwgrib2.f90
$(FC) $(FFLAGS) -c ./rwgrib2.f90
clean:
-rm -f $(OBJ) ${EXE} $(MOD) calc_etadot
${EXE}: $(OBJ)
$(FC) $(OBJ) -o ${EXE} $(LDFLAGS)
......@@ -6,7 +6,7 @@
# Copyright: Leopold Haimberger, Petra Seibert
# SPDX-License-Identifier: GPL-2.0
#
# Version for a machine with grib_api and emoslib installed on standard paths
# Version for a machine with eccodes and emoslib installed on standard paths
# full debugging
#
###############################################################################
......@@ -14,12 +14,12 @@
EXE = calc_etadot_debug.out
GRIB_API_LIB= -Bstatic -lgrib_api_f90 -lgrib_api -Bdynamic -lm -ljasper
GRIB_API_LIB= -Bstatic -leccodes_f90 -leccodes -Bdynamic -lm -ljasper
EMOSLIB=-lemosR64
LIB = $(GRIB_API_LIB) $(EMOSLIB)
GRIB_API_INCLUDE_DIR=/usr/include
INC = -I. -I$(GRIB_API_INCLUDE_DIR)
ECCODES_INCLUDE_DIR=/usr/lib/x86_64-linux-gnu/fortran/gfortran-mod-15
INC = -I. -I$(ECCODES_INCLUDE_DIR)
FC = gfortran
OPT = -g -Og -fbacktrace -fcheck=all
......@@ -46,7 +46,9 @@ calc_etadot.o: ./calc_etadot.f90 phgrreal.o grphreal.o ftrafo.o rwgrib2.o
rwgrib2.o: ./rwgrib2.f90
$(FC) $(FFLAGS) -c ./rwgrib2.f90
clean: -rm -f $(OBJ) ${EXE} $(MOD)
clean:
-rm -f $(OBJ) ${EXE} $(MOD) calc_etadot
${EXE}: $(OBJ)
$(FC) $(OBJ) -o ${EXE} $(LDFLAGS)
ln -sf ${EXE} calc_etadot
###############################################################################
#
# Top level Makefile for ECMWFDATA7.0 software
# Makefile for flex_extract, Fortran code to calculate etadot
# Makefile created using by mkmf 19.3.0
#
# Last modified: December 1, 2015
# Copyright: Leopold Haimberger, Petra Seibert
# SPDX-License-Identifier: GPL-2.0
#
# Version for a machine with eccodes and emoslib installed on standard paths
# with optimisation
#
###############################################################################
.SUFFIXES: .o .c .c~ .f .f~ .F90 .f90 .f90~ .f95 .f95~ .F .F~ .y .y~ .l .l~ \
.s .s~ .sh .sh~ .h .h~ .C .C~ .a
EXE = calc_etadot_fast.out
OPT = -O3
DEBUG = -g
LIB = $(ECCODES_LIB) $(EMOSLIB)
FC=gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian
F90C=gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian
FFLAGS = $(OPT) -I. -I$(ECCODES_INCLUDE_DIR)
F90FLAGS = $(OPT) -I. -I$(ECCODES_INCLUDE_DIR)
LDFLAGS = $(OPT)
BINDIR = .
EXE = calc_etadot
.f.o:
$(F90C) -c $(F90FLAGS) $(DEBUG) $*.f
.f90.o:
$(F90C) -c $(F90FLAGS) $(DEBUG) $*.f90
all: ${EXE}
clean:
rm *.o *.mod ${EXE}
phgrreal.o: phgrreal.f
$(F90C) -c -g -O3 -fopenmp phgrreal.f
grphreal.o: grphreal.f
$(F90C) -c -g -O3 -fopenmp grphreal.f
ftrafo.o: ftrafo.f
$(F90C) -c -g -O3 -fopenmp ftrafo.f
$(BINDIR)/${EXE}: phgrreal.o grphreal.o ftrafo.o rwgrib2.o posnam.o calc_etadot.o
$(F90C) $(DEBUG) $(OPT) -o $(BINDIR)/${EXE} ftrafo.o phgrreal.o grphreal.o rwgrib2.o posnam.o calc_etadot.o ${LIB}
###############################################################################
#
# End of the Makefile
#
###############################################################################
INC = -I. -I$(ECCODES_INCLUDE_DIR)
FC=gfortran
OPT = -O3 -march=native
FFLAGS = $(OPT) $(LIB) $(INC) -fdefault-real-8 -fopenmp -fconvert=big-endian
LDFLAGS = $(OPT) $(LIB) -fopenmp
SRC = ./rwgrib2.f90 ./calc_etadot.f90 ./ftrafo.f90 ./grphreal.f90 ./posnam.f90 ./phgrreal.f90
OBJ = rwgrib2.o calc_etadot.o ftrafo.o grphreal.o posnam.o phgrreal.o
MOD = ftrafo.mod grtoph.mod phtogr.mod rwgrib2.mod
all: ${EXE}
ftrafo.o: ./ftrafo.f90 phgrreal.o
$(FC) $(FFLAGS) -c ./ftrafo.f90
grphreal.o: ./grphreal.f90 phgrreal.o
$(FC) $(FFLAGS) -c ./grphreal.f90
phgrreal.o: ./phgrreal.f90
$(FC) $(FFLAGS) -c ./phgrreal.f90
posnam.o: ./posnam.f90
$(FC) $(FFLAGS) -c ./posnam.f90
calc_etadot.o: ./calc_etadot.f90 phgrreal.o grphreal.o ftrafo.o rwgrib2.o
$(FC) $(FFLAGS) -c ./calc_etadot.f90
rwgrib2.o: ./rwgrib2.f90
$(FC) $(FFLAGS) -c ./rwgrib2.f90
clean:
-rm -f $(OBJ) ${EXE} $(MOD) calc_etadot
${EXE}: $(OBJ)
$(FC) $(OBJ) -o ${EXE} $(LDFLAGS)
ln -sf ${EXE} calc_etadot
......@@ -6,20 +6,19 @@
# Copyright: Leopold Haimberger, Petra Seibert
# SPDX-License-Identifier: GPL-2.0
#
# Version for a machine with grib_api and emoslib installed on standard paths
# full debugging
# Version for a machine with eccodes and emoslib installed on standard paths
# with optimisation
#
###############################################################################
EXE = calc_etadot
EXE = calc_etadot_fast.out
#GRIB_API_LIB= -Bstatic -lgrib_api_f90 -lgrib_api -Bdynamic -lm -ljasper
ECCODES_LIB= -L/usr/local/lib -leccodes_f90 -leccodes -lm
ECCODES_LIB = -Bstatic -leccodes_f90 -leccodes -Bdynamic -lm -ljasper
EMOSLIB=-lemosR64
LIB = $(ECCODES_LIB) $(EMOSLIB)
ECCODES_INCLUDE_DIR=/usr/local/include
ECCODES_INCLUDE_DIR=/usr/lib/x86_64-linux-gnu/fortran/gfortran-mod-15
INC = -I. -I$(ECCODES_INCLUDE_DIR)
FC = gfortran
......@@ -48,7 +47,8 @@ rwgrib2.o: ./rwgrib2.f90
$(FC) $(FFLAGS) -c ./rwgrib2.f90
clean:
-rm -f $(OBJ) ${EXE} $(MOD)
-rm -f $(OBJ) ${EXE} $(MOD) calc_etadot
${EXE}: $(OBJ)
$(FC) $(OBJ) -o ${EXE} $(LDFLAGS)
ln -sf ${EXE} calc_etadot
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment