Original WRF subgrid support version from John Michalakes without fire
[wrffire.git] / wrfv2_fire / Makefile
blob39cc54dbbaf02f6b1c6b9259648ad72ddbb2cbfb
1 # Top level Makefile for wrf system
3 LN = ln -s
4 MAKE = make -i -r
5 MV = /bin/mv
6 RM = /bin/rm -f
8 deflt :
9 @ echo Please compile the code using ./compile
11 include ./configure.wrf
13 EM_MODULE_DIR = -I../dyn_em
14 EM_MODULES = $(EM_MODULE_DIR)
17 #### 3.d. add macros to specify the modules for this core
19 #EXP_MODULE_DIR = -I../dyn_exp
20 #EXP_MODULES = $(EXP_MODULE_DIR)
23 NMM_MODULE_DIR = -I../dyn_nmm
24 NMM_MODULES = $(NMM_MODULE_DIR)
26 ALL_MODULES = \
27 $(EM_MODULE_DIR) \
28 $(NMM_MODULES) \
29 $(EXP_MODULES) \
30 $(INCLUDE_MODULES)
32 configcheck:
33 @if [ "$(A2DCASE)" -a "$(DMPARALLEL)" ] ; then \
34 echo "------------------------------------------------------------------------------" ; \
35 echo "WRF CONFIGURATION ERROR " ; \
36 echo "The $(A2DCASE) case cannot be used on distributed memory parallel systems." ; \
37 echo "Only 3D WRF cases will run on these systems." ; \
38 echo "Please chose a different case or rerun configure and chose a different option." ; \
39 echo "------------------------------------------------------------------------------" ; \
40 exit 2 ; \
43 framework_only : configcheck
44 $(MAKE) MODULE_DIRS="$(ALL_MODULES)" ext
45 $(MAKE) MODULE_DIRS="$(ALL_MODULES)" toolsdir
46 /bin/rm -f main/libwrflib.a
47 $(MAKE) MODULE_DIRS="$(ALL_MODULES)" framework
48 $(MAKE) MODULE_DIRS="$(ALL_MODULES)" shared
50 wrf : framework_only
51 $(MAKE) MODULE_DIRS="$(ALL_MODULES)" physics
52 if [ $(WRF_CHEM) -eq 1 ] ; then $(MAKE) MODULE_DIRS="$(ALL_MODULES)" chemics ; fi
53 if [ $(WRF_EM_CORE) -eq 1 ] ; then $(MAKE) MODULE_DIRS="$(ALL_MODULES)" em_core ; fi
54 if [ $(WRF_NMM_CORE) -eq 1 ] ; then $(MAKE) MODULE_DIRS="$(ALL_MODULES)" nmm_core ; fi
55 if [ $(WRF_EXP_CORE) -eq 1 ] ; then $(MAKE) MODULE_DIRS="$(ALL_MODULES)" exp_core ; fi
56 ( cd main ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=em em_wrf )
57 ( cd run ; /bin/rm -f wrf.exe ; ln -s ../main/wrf.exe . )
58 if [ $(ESMF_COUPLING) -eq 1 ] ; then \
59 ( cd main ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=em em_wrf_ESMFApp ) ; \
62 ### 3.a. rules to build the framework and then the experimental core
64 exp_wrf : configcheck
65 $(MAKE) MODULE_DIRS="$(ALL_MODULES)" ext
66 $(MAKE) MODULE_DIRS="$(ALL_MODULES)" toolsdir
67 $(MAKE) MODULE_DIRS="$(ALL_MODULES)" framework
68 $(MAKE) MODULE_DIRS="$(ALL_MODULES)" shared
69 ( cd main ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=exp exp_wrf )
72 nmm_wrf : wrf
75 # Eulerian mass coordinate initializations
77 em_quarter_ss : wrf
78 @ echo '--------------------------------------'
79 ( cd main ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=em IDEAL_CASE=quarter_ss em_ideal )
80 ( cd test/em_quarter_ss ; /bin/rm -f wrf.exe ; ln -s ../../main/wrf.exe . )
81 ( cd test/em_quarter_ss ; /bin/rm -f ideal.exe ; ln -s ../../main/ideal.exe . )
82 ( cd test/em_quarter_ss ; /bin/rm -f README.namelist ; ln -s ../../run/README.namelist . )
83 ( cd test/em_quarter_ss ; /bin/rm -f gribmap.txt ; ln -s ../../run/gribmap.txt . )
84 ( cd test/em_quarter_ss ; /bin/rm -f grib2map.tbl ; ln -s ../../run/grib2map.tbl . )
85 ( cd run ; /bin/rm -f ideal.exe ; ln -s ../main/ideal.exe . )
86 ( cd run ; if test -f namelist.input ; then \
87 /bin/cp -f namelist.input namelist.input.backup ; fi ; \
88 /bin/rm -f namelist.input ; ln -s ../test/em_quarter_ss/namelist.input . )
89 ( cd run ; /bin/rm -f input_sounding ; ln -s ../test/em_quarter_ss/input_sounding . )
91 em_squall2d_x : wrf
92 @ echo '--------------------------------------'
93 ( cd main ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=em IDEAL_CASE=squall2d_x em_ideal )
94 ( cd test/em_squall2d_x ; /bin/rm -f wrf.exe ; ln -s ../../main/wrf.exe . )
95 ( cd test/em_squall2d_x ; /bin/rm -f ideal.exe ; ln -s ../../main/ideal.exe . )
96 ( cd test/em_squall2d_x ; /bin/rm -f README.namelist ; ln -s ../../run/README.namelist . )
97 ( cd test/em_squall2d_x ; /bin/rm -f gribmap.txt ; ln -s ../../run/gribmap.txt . )
98 ( cd test/em_squall2d_x ; /bin/rm -f grib2map.tbl ; ln -s ../../run/grib2map.tbl . )
99 ( cd run ; /bin/rm -f ideal.exe ; ln -s ../main/ideal.exe . )
100 ( cd run ; if test -f namelist.input ; then \
101 /bin/cp -f namelist.input namelist.input.backup ; fi ; \
102 /bin/rm -f namelist.input ; ln -s ../test/em_squall2d_x/namelist.input . )
103 ( cd run ; /bin/rm -f input_sounding ; ln -s ../test/em_squall2d_x/input_sounding . )
105 em_squall2d_y : wrf
106 @ echo '--------------------------------------'
107 ( cd main ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=em IDEAL_CASE=squall2d_y em_ideal )
108 ( cd test/em_squall2d_y ; /bin/rm -f wrf.exe ; ln -s ../../main/wrf.exe . )
109 ( cd test/em_squall2d_y ; /bin/rm -f ideal.exe ; ln -s ../../main/ideal.exe . )
110 ( cd test/em_squall2d_y ; /bin/rm -f README.namelist ; ln -s ../../run/README.namelist . )
111 ( cd test/em_squall2d_y ; /bin/rm -f gribmap.txt ; ln -s ../../run/gribmap.txt . )
112 ( cd test/em_squall2d_y ; /bin/rm -f grib2map.tbl ; ln -s ../../run/grib2map.tbl . )
113 ( cd run ; /bin/rm -f ideal.exe ; ln -s ../main/ideal.exe . )
114 ( cd run ; if test -f namelist.input ; then \
115 /bin/cp -f namelist.input namelist.input.backup ; fi ; \
116 /bin/rm -f namelist.input ; ln -s ../test/em_squall2d_y/namelist.input . )
117 ( cd run ; /bin/rm -f input_sounding ; ln -s ../test/em_squall2d_y/input_sounding . )
119 em_b_wave : wrf
120 @ echo '--------------------------------------'
121 ( cd main ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=em IDEAL_CASE=b_wave em_ideal )
122 ( cd test/em_b_wave ; /bin/rm -f wrf.exe ; ln -s ../../main/wrf.exe . )
123 ( cd test/em_b_wave ; /bin/rm -f ideal.exe ; ln -s ../../main/ideal.exe . )
124 ( cd test/em_b_wave ; /bin/rm -f README.namelist ; ln -s ../../run/README.namelist . )
125 ( cd test/em_b_wave ; /bin/rm -f gribmap.txt ; ln -s ../../run/gribmap.txt . )
126 ( cd test/em_b_wave ; /bin/rm -f grib2map.tbl ; ln -s ../../run/grib2map.tbl . )
127 ( cd run ; /bin/rm -f ideal.exe ; ln -s ../main/ideal.exe . )
128 ( cd run ; if test -f namelist.input ; then \
129 /bin/cp -f namelist.input namelist.input.backup ; fi ; \
130 /bin/rm -f namelist.input ; ln -s ../test/em_b_wave/namelist.input . )
131 ( cd run ; /bin/rm -f input_jet ; ln -s ../test/em_b_wave/input_jet . )
133 convert_em : framework_only
134 if [ $(WRF_CONVERT) -eq 1 ] ; then \
135 ( cd main ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" convert_em ) ; \
138 #TBH: For now, link wrf.exe, wrf_ESMFApp.exe, and wrf_SST_ESMF.exe into
139 #TBH: test/em_esmf_exp when ESMF_COUPLING is set. Either wrf.exe or
140 #TBH: wrf_ESMFApp.exe can be used for stand-alone testing in this case.
141 #TBH: wrf_SST_ESMF.exe is a coupled application. Note that single make
142 #TBH: target $(SOLVER)_wrf_ESMFApp builds both wrf_ESMFApp.exe and
143 #TBH: wrf_SST_ESMF.exe.
144 #TBH: Is this a clear violation of the DRY principle? Oh yeah, you bet.
145 em_real : wrf
146 @ echo '--------------------------------------'
147 ( cd main ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=em IDEAL_CASE=real em_real )
148 ( cd test/em_real ; /bin/rm -f wrf.exe ; ln -s ../../main/wrf.exe . )
149 if [ $(ESMF_COUPLING) -eq 1 ] ; then \
150 ( cd main ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=em IDEAL_CASE=real em_wrf_ESMFApp ) ; \
151 ( cd test/em_esmf_exp ; /bin/rm -f wrf.exe ; ln -s ../../main/wrf.exe . ) ; \
152 ( cd test/em_esmf_exp ; /bin/rm -f wrf_ESMFApp.exe ; ln -s ../../main/wrf_ESMFApp.exe . ) ; \
153 ( cd test/em_esmf_exp ; /bin/rm -f wrf_SST_ESMF.exe ; ln -s ../../main/wrf_SST_ESMF.exe . ) ; \
154 ( cd test/em_esmf_exp ; /bin/rm -f real.exe ; ln -s ../../main/real.exe . ) ; \
155 ( cd test/em_esmf_exp ; /bin/rm -f README.namelist ; ln -s ../../run/README.namelist . ) ; \
156 ( cd test/em_esmf_exp ; /bin/rm -f ETAMPNEW_DATA RRTM_DATA ; \
157 ln -sf ../../run/ETAMPNEW_DATA . ; \
158 ln -sf ../../run/RRTM_DATA . ; \
159 ln -sf ../../run/CAM_ABS_DATA . ; \
160 ln -sf ../../run/CAM_AEROPT_DATA . ; \
161 ln -sf ../../run/ozone.formatted . ; \
162 ln -sf ../../run/ozone_lat.formatted . ; \
163 ln -sf ../../run/ozone_plev.formatted . ; \
164 if [ $(RWORDSIZE) -eq 8 ] ; then \
165 ln -sf ../../run/ETAMPNEW_DATA_DBL ETAMPNEW_DATA ; \
166 ln -sf ../../run/RRTM_DATA_DBL RRTM_DATA ; \
167 fi ) ; \
168 ( cd test/em_esmf_exp ; /bin/rm -f GENPARM.TBL ; ln -s ../../run/GENPARM.TBL . ) ; \
169 ( cd test/em_esmf_exp ; /bin/rm -f LANDUSE.TBL ; ln -s ../../run/LANDUSE.TBL . ) ; \
170 ( cd test/em_esmf_exp ; /bin/rm -f SOILPARM.TBL ; ln -s ../../run/SOILPARM.TBL . ) ; \
171 ( cd test/em_esmf_exp ; /bin/rm -f urban_param.tbl ; ln -s ../../run/urban_param.tbl . ) ; \
172 ( cd test/em_esmf_exp ; /bin/rm -f VEGPARM.TBL ; ln -s ../../run/VEGPARM.TBL . ) ; \
173 ( cd test/em_esmf_exp ; /bin/rm -f tr49t67 ; ln -s ../../run/tr49t67 . ) ; \
174 ( cd test/em_esmf_exp ; /bin/rm -f tr49t85 ; ln -s ../../run/tr49t85 . ) ; \
175 ( cd test/em_esmf_exp ; /bin/rm -f tr67t85 ; ln -s ../../run/tr67t85 . ) ; \
176 ( cd test/em_esmf_exp ; /bin/rm -f gribmap.txt ; ln -s ../../run/gribmap.txt . ) ; \
177 ( cd test/em_esmf_exp ; /bin/rm -f grib2map.tbl ; ln -s ../../run/grib2map.tbl . ) ; \
179 ( cd test/em_real ; /bin/rm -f real.exe ; ln -s ../../main/real.exe . )
180 ( cd test/em_real ; /bin/rm -f ndown.exe ; ln -s ../../main/ndown.exe . )
181 ( cd test/em_real ; /bin/rm -f nup.exe ; ln -s ../../main/nup.exe . )
182 ( cd test/em_real ; /bin/rm -f README.namelist ; ln -s ../../run/README.namelist . )
183 ( cd test/em_real ; /bin/rm -f ETAMPNEW_DATA RRTM_DATA ; \
184 ln -sf ../../run/ETAMPNEW_DATA . ; \
185 ln -sf ../../run/RRTM_DATA . ; \
186 ln -sf ../../run/CAM_ABS_DATA . ; \
187 ln -sf ../../run/CAM_AEROPT_DATA . ; \
188 ln -sf ../../run/ozone.formatted . ; \
189 ln -sf ../../run/ozone_lat.formatted . ; \
190 ln -sf ../../run/ozone_plev.formatted . ; \
191 if [ $(RWORDSIZE) -eq 8 ] ; then \
192 ln -sf ../../run/ETAMPNEW_DATA_DBL ETAMPNEW_DATA ; \
193 ln -sf ../../run/RRTM_DATA_DBL RRTM_DATA ; \
194 fi )
195 ( cd test/em_real ; /bin/rm -f GENPARM.TBL ; ln -s ../../run/GENPARM.TBL . )
196 ( cd test/em_real ; /bin/rm -f LANDUSE.TBL ; ln -s ../../run/LANDUSE.TBL . )
197 ( cd test/em_real ; /bin/rm -f SOILPARM.TBL ; ln -s ../../run/SOILPARM.TBL . )
198 ( cd test/em_real ; /bin/rm -f urban_param.tbl ; ln -s ../../run/urban_param.tbl . )
199 ( cd test/em_real ; /bin/rm -f VEGPARM.TBL ; ln -s ../../run/VEGPARM.TBL . )
200 ( cd test/em_real ; /bin/rm -f tr49t67 ; ln -s ../../run/tr49t67 . )
201 ( cd test/em_real ; /bin/rm -f tr49t85 ; ln -s ../../run/tr49t85 . )
202 ( cd test/em_real ; /bin/rm -f tr67t85 ; ln -s ../../run/tr67t85 . )
203 ( cd test/em_real ; /bin/rm -f gribmap.txt ; ln -s ../../run/gribmap.txt . )
204 ( cd test/em_real ; /bin/rm -f grib2map.tbl ; ln -s ../../run/grib2map.tbl . )
205 ( cd run ; /bin/rm -f real.exe ; ln -s ../main/real.exe . )
206 ( cd run ; /bin/rm -f ndown.exe ; ln -s ../main/ndown.exe . )
207 ( cd run ; /bin/rm -f nup.exe ; ln -s ../main/nup.exe . )
208 ( cd run ; if test -f namelist.input ; then \
209 /bin/cp -f namelist.input namelist.input.backup ; fi ; \
210 /bin/rm -f namelist.input ; ln -s ../test/em_real/namelist.input . )
213 em_hill2d_x : wrf
214 @ echo '--------------------------------------'
215 ( cd main ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=em IDEAL_CASE=hill2d_x em_ideal )
216 ( cd test/em_hill2d_x ; /bin/rm -f wrf.exe ; ln -s ../../main/wrf.exe . )
217 ( cd test/em_hill2d_x ; /bin/rm -f ideal.exe ; ln -s ../../main/ideal.exe . )
218 ( cd test/em_hill2d_x ; /bin/rm -f README.namelist ; ln -s ../../run/README.namelist . )
219 ( cd test/em_hill2d_x ; /bin/rm -f gribmap.txt ; ln -s ../../run/gribmap.txt . )
220 ( cd test/em_hill2d_x ; /bin/rm -f grib2map.tbl ; ln -s ../../run/grib2map.tbl . )
221 ( cd run ; /bin/rm -f ideal.exe ; ln -s ../main/ideal.exe . )
222 ( cd run ; if test -f namelist.input ; then \
223 /bin/cp -f namelist.input namelist.input.backup ; fi ; \
224 /bin/rm -f namelist.input ; ln -s ../test/em_hill2d_x/namelist.input . )
225 ( cd run ; /bin/rm -f input_sounding ; ln -s ../test/em_hill2d_x/input_sounding . )
227 em_grav2d_x : wrf
228 @ echo '--------------------------------------'
229 ( cd main ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=em IDEAL_CASE=grav2d_x em_ideal )
230 ( cd test/em_grav2d_x ; /bin/rm -f wrf.exe ; ln -s ../../main/wrf.exe . )
231 ( cd test/em_grav2d_x ; /bin/rm -f ideal.exe ; ln -s ../../main/ideal.exe . )
232 ( cd test/em_grav2d_x ; /bin/rm -f README.namelist ; ln -s ../../run/README.namelist . )
233 ( cd test/em_grav2d_x ; /bin/rm -f gribmap.txt ; ln -s ../../run/gribmap.txt . )
234 ( cd test/em_grav2d_x ; /bin/rm -f grib2map.tbl ; ln -s ../../run/grib2map.tbl . )
235 ( cd run ; /bin/rm -f ideal.exe ; ln -s ../main/ideal.exe . )
236 ( cd run ; if test -f namelist.input ; then \
237 /bin/cp -f namelist.input namelist.input.backup ; fi ; \
238 /bin/rm -f namelist.input ; ln -s ../test/em_grav2d_x/namelist.input . )
239 ( cd run ; /bin/rm -f input_sounding ; ln -s ../test/em_grav2d_x/input_sounding . )
241 #### anthropogenic emissions converter
243 emi_conv : wrf
244 @ echo '--------------------------------------'
245 ( cd chem ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=em IDEAL_CASE=real convert_emiss )
246 ( cd test/em_real ; /bin/rm -f convert_emiss.exe ; ln -s ../../chem/convert_emiss.exe . )
247 ( cd test/em_real ; /bin/rm -f README.namelist ; ln -s ../../run/README.namelist . )
248 ( cd run ; if test -f namelist.input ; then \
249 /bin/cp -f namelist.input namelist.input.backup ; fi ; \
250 /bin/rm -f namelist.input ; ln -s ../test/em_real/namelist.input . )
252 #### biogenic emissions converter
254 bio_conv : wrf
255 @ echo '--------------------------------------'
256 ( cd chem ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=em IDEAL_CASE=real convert_bioemiss )
257 ( cd test/em_real ; /bin/rm -f convert_bioemiss.exe ; ln -s ../../chem/convert_bioemiss.exe . )
258 ( cd test/em_real ; /bin/rm -f README.namelist ; ln -s ../../run/README.namelist . )
259 ( cd run ; if test -f namelist.input ; then \
260 /bin/cp -f namelist.input namelist.input.backup ; fi ; \
261 /bin/rm -f namelist.input ; ln -s ../test/em_real/namelist.input . )
263 #### nmm converter
265 nmm_real : nmm_wrf
266 @ echo '--------------------------------------'
267 ( cd main ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=nmm IDEAL_CASE=real real_nmm )
268 ( cd test/nmm_real ; /bin/rm -f wrf.exe ; ln -s ../../main/wrf.exe . )
269 ( cd test/nmm_real ; /bin/rm -f real_nmm.exe ; ln -s ../../main/real_nmm.exe . )
270 ( cd test/nmm_real ; /bin/rm -f README.namelist ; ln -s ../../run/README.namelist . )
271 ( cd test/nmm_real ; /bin/rm -f ETAMPNEW_DATA RRTM_DATA ; \
272 ln -sf ../../run/ETAMPNEW_DATA . ; \
273 ln -sf ../../run/RRTM_DATA . ; \
274 if [ $(RWORDSIZE) -eq 8 ] ; then \
275 ln -sf ../../run/ETAMPNEW_DATA_DBL ETAMPNEW_DATA ; \
276 ln -sf ../../run/RRTM_DATA_DBL RRTM_DATA ; \
277 fi )
278 ( cd test/nmm_real ; /bin/rm -f GENPARM.TBL ; ln -s ../../run/GENPARM.TBL . )
279 ( cd test/nmm_real ; /bin/rm -f LANDUSE.TBL ; ln -s ../../run/LANDUSE.TBL . )
280 ( cd test/nmm_real ; /bin/rm -f SOILPARM.TBL ; ln -s ../../run/SOILPARM.TBL . )
281 ( cd test/nmm_real ; /bin/rm -f VEGPARM.TBL ; ln -s ../../run/VEGPARM.TBL . )
282 ( cd test/nmm_real ; /bin/rm -f tr49t67 ; ln -s ../../run/tr49t67 . )
283 ( cd test/nmm_real ; /bin/rm -f tr49t85 ; ln -s ../../run/tr49t85 . )
284 ( cd test/nmm_real ; /bin/rm -f tr67t85 ; ln -s ../../run/tr67t85 . )
285 ( cd test/nmm_real ; /bin/rm -f gribmap.txt ; ln -s ../../run/gribmap.txt . )
286 ( cd test/nmm_real ; /bin/rm -f grib2map.txt ; ln -s ../../run/grib2map.txt . )
287 ( cd run ; /bin/rm -f real_nmm.exe ; ln -s ../main/real_nmm.exe . )
288 ( cd run ; if test -f namelist.input ; then \
289 /bin/cp -f namelist.input namelist.input.backup ; fi ; \
290 /bin/rm -f namelist.input ; ln -s ../test/nmm_real/namelist.input . )
294 # semi-Lagrangian initializations
297 ext :
298 @ echo '--------------------------------------'
299 ( cd frame ; $(MAKE) externals )
301 framework :
302 @ echo '--------------------------------------'
303 ( cd frame ; $(MAKE) framework; \
304 cd ../external/io_netcdf ; make NETCDFPATH="$(NETCDFPATH)" FC="$(SFC) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" LDFLAGS="$(LDFLAGS)" ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" ESMF_MOD_DEPENDENCE="../$(ESMF_MOD_DEPENDENCE)" diffwrf; \
305 cd ../io_int ; $(MAKE) SFC="$(SFC) $(FCBASEOPTS)" FC="$(SFC) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" ESMF_MOD_DEPENDENCE="../$(ESMF_MOD_DEPENDENCE)" diffwrf ; cd ../../frame )
307 shared :
308 @ echo '--------------------------------------'
309 ( cd share ; $(MAKE) )
311 chemics :
312 @ echo '--------------------------------------'
313 ( cd chem ; $(MAKE) )
315 physics :
316 @ echo '--------------------------------------'
317 ( cd phys ; $(MAKE) )
319 em_core :
320 @ echo '--------------------------------------'
321 ( cd dyn_em ; $(MAKE) )
323 # rule used by configure to test if this will compile with MPI 2 calls MPI_Comm_f2c and _c2f
324 mpi2_test :
325 @ cd tools ; /bin/rm -f mpi2_test ; $(CC) -c mpi2_test.c ; cd ..
327 # rule used by configure to test if fseeko and fseeko64 are supported (for share/landread.c to work right)
328 fseek_test :
329 @ cd tools ; /bin/rm -f fseeko_test ; $(SCC) -DTEST_FSEEKO -o fseeko_test fseek_test.c ; cd ..
330 @ cd tools ; /bin/rm -f fseeko64_test ; $(SCC) -DTEST_FSEEKO64 -o fseeko64_test fseek_test.c ; cd ..
332 ### 3.b. sub-rule to build the expimental core
334 # uncomment the two lines after exp_core for EXP
335 exp_core :
336 @ echo '--------------------------------------'
337 ( cd dyn_exp ; $(MAKE) )
339 # uncomment the two lines after nmm_core for NMM
340 nmm_core :
341 @ echo '--------------------------------------'
342 ( cd dyn_nmm ; $(MAKE) )
344 toolsdir :
345 @ echo '--------------------------------------'
346 ( cd tools ; $(MAKE) CC="$(CC_TOOLS)" )
348 # Use this target to build stand-alone tests of esmf_time_f90.
349 # Only touches external/esmf_time_f90/.
350 esmf_time_f90_only :
351 @ echo '--------------------------------------'
352 ( cd external/esmf_time_f90 ; $(MAKE) FC="$(FC) $(FCFLAGS)" CPP="$(CPP) -DTIME_F90_ONLY" tests )
354 clean :
355 @ echo 'Use the clean script'
357 # DO NOT DELETE