[f2fdf45] | 1 | ############################################################################### |
---|
| 2 | # |
---|
| 3 | # Makefile for flex_extract, Fortran code to calculate etadot |
---|
[dfa7dbd] | 4 | # Makefile created using by mkmf 19.3.0 |
---|
[f2fdf45] | 5 | # |
---|
| 6 | # Copyright: Leopold Haimberger, Petra Seibert |
---|
| 7 | # SPDX-License-Identifier: GPL-2.0 |
---|
| 8 | # |
---|
[7cd1586] | 9 | # Version for a machine with eccodes and emoslib installed on standard paths |
---|
[1610f73] | 10 | # with optimisation |
---|
[f2fdf45] | 11 | # |
---|
[3520ee6] | 12 | # 2022-07-21 Anne Tipka |
---|
| 13 | # Updated makefile to make use of the files for fft and get rid of emoslib |
---|
| 14 | # |
---|
[f2fdf45] | 15 | ############################################################################### |
---|
| 16 | |
---|
| 17 | |
---|
| 18 | EXE = calc_etadot_fast.out |
---|
| 19 | |
---|
[d2d6cf9] | 20 | ECCODES_LIB = -Bstatic -leccodes_f90 -leccodes -Bdynamic -lm |
---|
[4f24798] | 21 | LIB = $(ECCODES_LIB) |
---|
[f2fdf45] | 22 | |
---|
[14d9618] | 23 | ECCODES_INCLUDE_DIR=/usr/lib/x86_64-linux-gnu/fortran/gfortran-mod-15 |
---|
| 24 | #/usr/local/include/ #oldstable |
---|
| 25 | |
---|
[deb7d17] | 26 | INC = -I. -I$(ECCODES_INCLUDE_DIR) |
---|
[dfa7dbd] | 27 | |
---|
| 28 | FC = gfortran |
---|
[14d9618] | 29 | OPT = -O3 # -O3 -march=native |
---|
[dfa7dbd] | 30 | FFLAGS = $(OPT) $(LIB) $(INC) -fdefault-real-8 -fopenmp -fconvert=big-endian |
---|
| 31 | LDFLAGS = $(OPT) $(LIB) -fopenmp |
---|
[3520ee6] | 32 | SRC = ./rwgrib2.f90 ./calc_etadot.f90 ./ftrafo.f90 ./grphreal.f90 ./posnam.f90 ./phgrreal.f90 ./set99.f90 ./fft99.f90 ./qpassm.f90 ./rpassm.f90 ./jsppole.f90 |
---|
| 33 | OBJ = rwgrib2.o calc_etadot.o ftrafo.o grphreal.o posnam.o phgrreal.o set99.o fft99.o qpassm.o rpassm.o jsppole.o |
---|
[dfa7dbd] | 34 | MOD = ftrafo.mod grtoph.mod phtogr.mod rwgrib2.mod |
---|
| 35 | |
---|
| 36 | .DEFAULT: |
---|
| 37 | -echo $@ does not exist. |
---|
| 38 | |
---|
| 39 | all: ${EXE} |
---|
[3520ee6] | 40 | jsppole.o: ./jsppole.f90 |
---|
| 41 | $(FC) $(FFLAGS) -c ./jsppole.f90 |
---|
| 42 | qpassm.o: ./qpassm.f90 |
---|
| 43 | $(FC) $(FFLAGS) -c ./qpassm.f90 |
---|
| 44 | rpassm.o: ./rpassm.f90 |
---|
| 45 | $(FC) $(FFLAGS) -c ./rpassm.f90 |
---|
| 46 | set99.o: ./set99.f90 |
---|
| 47 | $(FC) $(FFLAGS) -c ./set99.f90 |
---|
| 48 | fft99.o: ./fft99.f90 |
---|
| 49 | $(FC) $(FFLAGS) -c ./fft99.f90 |
---|
[dfa7dbd] | 50 | ftrafo.o: ./ftrafo.f90 phgrreal.o |
---|
| 51 | $(FC) $(FFLAGS) -c ./ftrafo.f90 |
---|
[3520ee6] | 52 | grphreal.o: ./grphreal.f90 phgrreal.o fft99.o |
---|
[dfa7dbd] | 53 | $(FC) $(FFLAGS) -c ./grphreal.f90 |
---|
[3520ee6] | 54 | phgrreal.o: ./phgrreal.f90 fft99.o |
---|
[dfa7dbd] | 55 | $(FC) $(FFLAGS) -c ./phgrreal.f90 |
---|
| 56 | posnam.o: ./posnam.f90 |
---|
| 57 | $(FC) $(FFLAGS) -c ./posnam.f90 |
---|
[3520ee6] | 58 | calc_etadot.o: ./calc_etadot.f90 phgrreal.o grphreal.o ftrafo.o rwgrib2.o jsppole.o set99.o |
---|
[dfa7dbd] | 59 | $(FC) $(FFLAGS) -c ./calc_etadot.f90 |
---|
| 60 | rwgrib2.o: ./rwgrib2.f90 |
---|
| 61 | $(FC) $(FFLAGS) -c ./rwgrib2.f90 |
---|
| 62 | |
---|
| 63 | clean: |
---|
[7cd1586] | 64 | -rm -f $(OBJ) ${EXE} $(MOD) calc_etadot |
---|
[dfa7dbd] | 65 | |
---|
| 66 | ${EXE}: $(OBJ) |
---|
| 67 | $(FC) $(OBJ) -o ${EXE} $(LDFLAGS) |
---|
[7cd1586] | 68 | ln -sf ${EXE} calc_etadot |
---|