forked from NOAA-GFDL/GFDL_atmos_cubed_sphere
-
Notifications
You must be signed in to change notification settings - Fork 2
/
makefile
122 lines (99 loc) · 4.15 KB
/
makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
SHELL = /bin/sh
inside_nems := $(wildcard ../../../conf/configure.nems)
ifneq ($(strip $(inside_nems)),)
include ../../../conf/configure.nems
else
exist_configure_fv3 := $(wildcard ../conf/configure.fv3)
ifneq ($(strip $(exist_configure_fv3)),)
include ../conf/configure.fv3
else
$(error "../conf/configure.fv3 file is missing. Run ./configure")
endif
$(info )
$(info Build standalone FV3 fv3core ...)
$(info )
endif
ifneq (,$(findstring CCPP,$(CPPDEFS)))
FAST_PHYSICS_SRCS_F90 =
else
FAST_PHYSICS_SRCS_F90 = ./model/fv_cmp.F90
endif
LIBRARY = libfv3core.a
FFLAGS += -I$(FMS_DIR) -I../gfsphysics -I../ipd -I../io -I.
SRCS_f =
SRCS_f90 =
SRCS_F =
SRCS_F90 = \
./model/a2b_edge.F90 \
./model/multi_gases.F90 \
./model/boundary.F90 \
./model/dyn_core.F90 \
./model/fv_arrays.F90 \
$(FAST_PHYSICS_SRCS_F90) \
./model/fv_control.F90 \
./model/fv_dynamics.F90 \
./model/fv_fill.F90 \
./model/fv_grid_utils.F90 \
./model/fv_mapz.F90 \
./model/fv_nesting.F90 \
./model/fv_regional_bc.F90 \
./model/fv_sg.F90 \
./model/fv_tracer2d.F90 \
./model/fv_update_phys.F90 \
./model/sw_core.F90 \
./model/tp_core.F90 \
./model/nh_core.F90 \
./model/nh_utils.F90 \
./tools/external_ic.F90 \
./tools/external_sst.F90 \
./tools/fv_diagnostics.F90 \
./tools/fv_eta.F90 \
./tools/fv_grid_tools.F90 \
./tools/fv_io.F90 \
./tools/fv_mp_mod.F90 \
./tools/fv_nudge.F90 \
./tools/fv_treat_da_inc.F90 \
./tools/fv_iau_mod.F90 \
./tools/fv_restart.F90 \
./tools/fv_surf_map.F90 \
./tools/fv_timing.F90 \
./tools/init_hydro.F90 \
./tools/sim_nc_mod.F90 \
./tools/sorted_index.F90 \
./tools/test_cases.F90 \
./driver/fvGFS/DYCORE_typedefs.F90 \
./driver/fvGFS/fv_nggps_diag.F90 \
./driver/fvGFS/atmosphere.F90
SRCS_c =
DEPEND_FILES = $(SRCS_f) $(SRCS_f90) $(SRCS_F) $(SRCS_F90)
OBJS_f = $(SRCS_f:.f=.o)
OBJS_f90 = $(SRCS_f90:.f90=.o)
OBJS_F = $(SRCS_F:.F=.o)
OBJS_F90 = $(SRCS_F90:.F90=.o)
OBJS_c = $(SRCS_c:.c=.o)
OBJS = $(OBJS_f) $(OBJS_f90) $(OBJS_F) $(OBJS_F90) $(OBJS_c)
all default: depend $(LIBRARY)
$(LIBRARY): $(OBJS)
$(AR) $(ARFLAGS) $@ $?
# this is the place to override default (implicit) compilation rules
# and create specific (explicit) rules
./model/nh_utils.o : ./model/nh_utils.F90
$(FC) $(CPPDEFS) $(FPPFLAGS) $(FFLAGS) $(OTHER_FFLAGS) $(FAST) -c $< -o $@
./model/fv_mapz.o : ./model/fv_mapz.F90
$(FC) $(CPPDEFS) $(FPPFLAGS) $(FFLAGS) $(OTHER_FFLAGS) $(FAST) -c $< -o $@
./driver/fvGFS/fv_nggps_diag.o : ./driver/fvGFS/fv_nggps_diag.F90
$(FC) $(CPPDEFS) $(FPPFLAGS) $(FFLAGS) $(OTHER_FFLAGS) $(ESMF_INC) -c $< -o $@
# additional include files (ESMF_INC) needed for PGI
./driver/fvGFS/atmosphere.o : ./driver/fvGFS/atmosphere.F90
$(FC) $(CPPDEFS) $(FPPFLAGS) $(FFLAGS) $(OTHER_FFLAGS) $(ESMF_INC) -c $< -o $@
.PHONY: clean
clean:
@echo "Cleaning fv3core ... "
@echo
$(RM) -f $(LIBRARY) *__genmod.f90 */*.o */*/*.o *.mod *.i90 *.lst *.i depend
MKDEPENDS = ../mkDepends.pl
include ../conf/make.rules
# do not include 'depend' file if the target contains string 'clean'
ifneq (clean,$(findstring clean,$(MAKECMDGOALS)))
-include depend
endif