1 |
# Multithreaded + multi-processing makefile for Linux mylaptop 2.2.14-5.0 #4 Fri Aug 25 02:00:37 EDT 2000 i686 unknown |
2 |
# This makefile was generated automatically on |
3 |
# Wed May 23 09:55:22 EDT 2001 |
4 |
# by the command: |
5 |
# ../../../tools/genmake -mods=../code |
6 |
# executed by: |
7 |
# cnh@mylaptop:/homes/cnh/src/c39/verification/exp0/input |
8 |
# |
9 |
# BUILDDIR : Directory where object files are written |
10 |
# SOURCEDIRS : Directories containing the source (.F) files |
11 |
# INCLUDEDIRS : Directories containing the header-source (.h) files |
12 |
# EXEDIR : Directory where executable that is generated is written |
13 |
# EXECUTABLE : Full path of executable binary |
14 |
# |
15 |
# CPP : C-preprocessor command |
16 |
# INCLUDES : Directories searched for header files |
17 |
# DEFINES : Macro definitions for CPP |
18 |
# KPP : Special preprocessor command (specific to platform) |
19 |
# KFLAGS : Flags for KPP |
20 |
# FC : Fortran compiler command |
21 |
# FFLAGS : Configuration/debugging options for FC |
22 |
# FOPTIM : Optimization options for FC |
23 |
# LINK : Command for link editor program |
24 |
# LIBS : Library flags /or/ additional optimization/debugging flags |
25 |
|
26 |
ROOTDIR = ../../.. |
27 |
BUILDDIR = . |
28 |
SOURCEDIRS = ../code ../../../pkg/debug ../../../pkg/gmredi ../../../pkg/kpp ../../../pkg/mdsio ../../../pkg/obcs ../../../pkg/shap_filt ../../../pkg/timeave ../../../pkg/zonal_filt ../../../eesupp/src ../../../model/src |
29 |
INCLUDEDIRS = . ../code ../../../pkg/debug ../../../pkg/gmredi ../../../pkg/kpp ../../../pkg/mdsio ../../../pkg/obcs ../../../pkg/shap_filt ../../../pkg/timeave ../../../pkg/zonal_filt ../../../eesupp/inc ../../../model/inc |
30 |
EXEDIR = . |
31 |
EXECUTABLE = $(EXEDIR)/mitgcmuv |
32 |
TOOLSDIR = ../../../tools |
33 |
|
34 |
# Unix ln (link) |
35 |
LN = /bin/ln -s |
36 |
# C preprocessor |
37 |
CPP = cat $< | $(TOOLSDIR)/set64bitConst.sh | /lib/cpp -traditional -P |
38 |
# Special preprocessor (KAP on DECs, FPP on Crays) |
39 |
KPP = |
40 |
# Fortran compiler |
41 |
FC = g77 |
42 |
# Link editor |
43 |
LINK = g77 |
44 |
|
45 |
# Defines for CPP |
46 |
DEFINES = -D_BYTESWAPIO -DWORDLENGTH=4 |
47 |
# Includes for CPP |
48 |
INCLUDES = -I. -I../code -I../../../pkg/debug -I../../../pkg/gmredi -I../../../pkg/kpp -I../../../pkg/mdsio -I../../../pkg/obcs -I../../../pkg/shap_filt -I../../../pkg/timeave -I../../../pkg/zonal_filt -I../../../eesupp/inc -I../../../model/inc |
49 |
# Flags for KPP |
50 |
KFLAGS1 = |
51 |
KFLAGS2 = |
52 |
# Optim./debug for FC |
53 |
FFLAGS = -Wimplicit -Wunused -Wuninitialized |
54 |
FOPTIM = -O3 -malign-double -funroll-loops |
55 |
# Files that should not be optimized |
56 |
NOOPTFILES = |
57 |
NOOPTFLAGS = |
58 |
# Flags and libraries needed for linking |
59 |
LIBS = $(XLIBS) |
60 |
|
61 |
SRCFILES = \ |
62 |
chksum_tiled.F \ |
63 |
gmredi_calc_diff.F \ |
64 |
gmredi_calc_tensor.F \ |
65 |
gmredi_check.F \ |
66 |
gmredi_diags.F \ |
67 |
gmredi_init.F \ |
68 |
gmredi_readparms.F \ |
69 |
gmredi_rtransport.F \ |
70 |
gmredi_slope_limit.F \ |
71 |
gmredi_xtransport.F \ |
72 |
gmredi_ytransport.F \ |
73 |
kpp_calc.F \ |
74 |
kpp_calc_diff.F \ |
75 |
kpp_check.F \ |
76 |
kpp_do_diags.F \ |
77 |
kpp_init.F \ |
78 |
kpp_open_diags.F \ |
79 |
kpp_readparms.F \ |
80 |
kpp_routines.F \ |
81 |
kpp_transport_s.F \ |
82 |
kpp_transport_t.F \ |
83 |
mdsio.F \ |
84 |
mdsio_byteswapr4.F \ |
85 |
mdsio_byteswapr8.F \ |
86 |
mdsio_findunit.F \ |
87 |
mdsio_gl.F \ |
88 |
mdsio_read_rl_vec.F \ |
89 |
mdsio_read_rs_vec.F \ |
90 |
mdsio_readfield.F \ |
91 |
mdsio_readtile.F \ |
92 |
mdsio_readvector.F \ |
93 |
mdsio_reclen.F \ |
94 |
mdsio_seg4torl.F \ |
95 |
mdsio_seg4tors.F \ |
96 |
mdsio_seg8torl.F \ |
97 |
mdsio_seg8tors.F \ |
98 |
mdsio_slice.F \ |
99 |
mdsio_write_rl_vec.F \ |
100 |
mdsio_write_rs_vec.F \ |
101 |
mdsio_writefield.F \ |
102 |
mdsio_writemeta.F \ |
103 |
mdsio_writevector.F \ |
104 |
obcs_apply_ts.F \ |
105 |
obcs_apply_uv.F \ |
106 |
obcs_apply_w.F \ |
107 |
obcs_calc.F \ |
108 |
obcs_check.F \ |
109 |
obcs_checkpoint.F \ |
110 |
obcs_init_fixed.F \ |
111 |
obcs_init_variables.F \ |
112 |
obcs_readparms.F \ |
113 |
orlanski_checkpoint.F \ |
114 |
orlanski_east.F \ |
115 |
orlanski_init.F \ |
116 |
orlanski_north.F \ |
117 |
orlanski_south.F \ |
118 |
orlanski_west.F \ |
119 |
shap_filt_apply.F \ |
120 |
shap_filt_tracer.F \ |
121 |
shap_filt_tracerold.F \ |
122 |
shap_filt_u.F \ |
123 |
shap_filt_uv.F \ |
124 |
shap_filt_v.F \ |
125 |
timeave_cumul_1k.F \ |
126 |
timeave_cumul_2v.F \ |
127 |
timeave_cumulate.F \ |
128 |
timeave_norma_1k.F \ |
129 |
timeave_normaliz.F \ |
130 |
timeave_reset.F \ |
131 |
timeave_reset_1k.F \ |
132 |
timeave_statv_write.F \ |
133 |
timeave_statvars.F \ |
134 |
fftpack.F \ |
135 |
zonal_filt_apply.F \ |
136 |
zonal_filt_init.F \ |
137 |
zonal_filt_nofill.F \ |
138 |
zonal_filt_postsmooth.F \ |
139 |
zonal_filt_presmooth.F \ |
140 |
zonal_filter.F \ |
141 |
bar2.F \ |
142 |
barrier.F \ |
143 |
check_threads.F \ |
144 |
comm_stats.F \ |
145 |
dfile.F \ |
146 |
different_multiple.F \ |
147 |
eeboot.F \ |
148 |
eeboot_minimal.F \ |
149 |
eedata_example.F \ |
150 |
eedie.F \ |
151 |
eeintro_msg.F \ |
152 |
eeset_parms.F \ |
153 |
eewrite_eeenv.F \ |
154 |
exch.F \ |
155 |
exch_control.F \ |
156 |
exch_cycle_ebl.F \ |
157 |
exch_init.F \ |
158 |
exch_jam.F \ |
159 |
exch_recv_get_x.F \ |
160 |
exch_recv_get_y.F \ |
161 |
exch_send_put_x.F \ |
162 |
exch_send_put_y.F \ |
163 |
fool_the_compiler.F \ |
164 |
global_max.F \ |
165 |
global_sum.F \ |
166 |
gsum.F \ |
167 |
gsum_jam.F \ |
168 |
ini_communication_patterns.F \ |
169 |
ini_jam.F \ |
170 |
ini_procs.F \ |
171 |
ini_threading_environment.F \ |
172 |
main.F \ |
173 |
memsync.F \ |
174 |
nml_filter.F \ |
175 |
print.F \ |
176 |
read_field.F \ |
177 |
timers.F \ |
178 |
utils.F \ |
179 |
write_field.F \ |
180 |
calc_buoyancy.F \ |
181 |
calc_common_factors.F \ |
182 |
calc_diffusivity.F \ |
183 |
calc_div_ghat.F \ |
184 |
calc_grad_phi_surf.F \ |
185 |
calc_gs.F \ |
186 |
calc_gt.F \ |
187 |
calc_gw.F \ |
188 |
calc_ivdc.F \ |
189 |
calc_mom_rhs.F \ |
190 |
calc_phi_hyd.F \ |
191 |
cg2d.F \ |
192 |
cg3d.F \ |
193 |
checkpoint.F \ |
194 |
config_summary.F \ |
195 |
convect.F \ |
196 |
convective_adjustment.F \ |
197 |
convective_adjustment_ini.F \ |
198 |
correction_step.F \ |
199 |
cycle_tracer.F \ |
200 |
do_fields_blocking_exchanges.F \ |
201 |
do_gterm_blocking_exchanges.F \ |
202 |
do_the_model_io.F \ |
203 |
dynamics.F \ |
204 |
external_fields_load.F \ |
205 |
external_forcing.F \ |
206 |
external_forcing_surf.F \ |
207 |
find_alpha.F \ |
208 |
find_rho.F \ |
209 |
freeze.F \ |
210 |
get_offline_fields.F \ |
211 |
grad_sigma.F \ |
212 |
impldiff.F \ |
213 |
ini_cartesian_grid.F \ |
214 |
ini_cg2d.F \ |
215 |
ini_cg3d.F \ |
216 |
ini_cori.F \ |
217 |
ini_depths.F \ |
218 |
ini_fields.F \ |
219 |
ini_forcing.F \ |
220 |
ini_grid.F \ |
221 |
ini_gw.F \ |
222 |
ini_masks_etc.F \ |
223 |
ini_parms.F \ |
224 |
ini_psurf.F \ |
225 |
ini_salt.F \ |
226 |
ini_spherical_polar_grid.F \ |
227 |
ini_theta.F \ |
228 |
ini_uvel.F \ |
229 |
ini_vertical_grid.F \ |
230 |
ini_vvel.F \ |
231 |
ini_wvel.F \ |
232 |
initialise_fixed.F \ |
233 |
initialise_varia.F \ |
234 |
integrate_for_w.F \ |
235 |
modeldata_example.F \ |
236 |
open_copy_data_file.F \ |
237 |
packages_boot.F \ |
238 |
packages_check.F \ |
239 |
packages_check_error.F \ |
240 |
packages_init_fixed.F \ |
241 |
packages_init_variables.F \ |
242 |
packages_readparms.F \ |
243 |
plot_field.F \ |
244 |
port_rand.F \ |
245 |
read_write.F \ |
246 |
read_write_fld.F \ |
247 |
read_write_rec.F \ |
248 |
set_defaults.F \ |
249 |
solve_for_pressure.F \ |
250 |
state_summary.F \ |
251 |
swfrac.F \ |
252 |
the_correction_step.F \ |
253 |
the_main_loop.F \ |
254 |
the_model_main.F \ |
255 |
timestep.F \ |
256 |
timestep_tracer.F \ |
257 |
write_state.F |
258 |
CSRCFILES = \ |
259 |
tim.c |
260 |
F77FILES = $(SRCFILES:.F=.f) |
261 |
OBJFILES = $(SRCFILES:.F=.o) $(CSRCFILES:.c=.o) |
262 |
|
263 |
.SUFFIXES: |
264 |
.SUFFIXES: .o .f .p .F .c |
265 |
|
266 |
all: $(EXECUTABLE) |
267 |
$(EXECUTABLE): $(OBJFILES) |
268 |
$(LINK) -o $@ $(FFLAGS) $(FOPTIM) $(OBJFILES) $(LIBS) |
269 |
depend: |
270 |
@make links |
271 |
makedepend -o .f $(INCLUDES) $(SRCFILES) |
272 |
|
273 |
links: $(SRCFILES) |
274 |
|
275 |
small_f: $(F77FILES) |
276 |
|
277 |
clean: |
278 |
-rm -rf *.o *.f *.p |
279 |
Clean: |
280 |
@make clean |
281 |
@make cleanlinks |
282 |
-rm -f Makefile.bak |
283 |
CLEAN: |
284 |
@make Clean |
285 |
-find $(EXEDIR) -name "*.meta" -exec rm {} \; |
286 |
-find $(EXEDIR) -name "*.data" -exec rm {} \; |
287 |
-rm -f $(EXECUTABLE) |
288 |
|
289 |
makefile: |
290 |
../../../tools/genmake -mods=../code |
291 |
cleanlinks: |
292 |
-find . -type l -exec rm {} \; |
293 |
|
294 |
# The normal chain of rules is ( .F - .f - .o ) |
295 |
.F.f: |
296 |
$(CPP) $(DEFINES) $(INCLUDES) > $@ |
297 |
.f.o: |
298 |
$(FC) $(FFLAGS) $(FOPTIM) -c $< |
299 |
|
300 |
# Special exceptions that use the ( .F - .p - .f - .o ) rule-chain |
301 |
.F.p: |
302 |
$(CPP) $(DEFINES) $(INCLUDES) > $@ |
303 |
.p.f: |
304 |
$(KPP) $(KFLAGS1)$@ $(KFLAGS2) $< |
305 |
|
306 |
# This section creates symbolic links |
307 |
|
308 |
# These files are linked from ../../../pkg/debug |
309 |
chksum_tiled.F: |
310 |
$(LN) ../../../pkg/debug/$@ $@ |
311 |
# These files are linked from ../../../pkg/gmredi |
312 |
gmredi_calc_diff.F gmredi_calc_tensor.F gmredi_check.F gmredi_diags.F gmredi_init.F gmredi_readparms.F gmredi_rtransport.F gmredi_slope_limit.F gmredi_xtransport.F gmredi_ytransport.F: |
313 |
$(LN) ../../../pkg/gmredi/$@ $@ |
314 |
# These files are linked from ../../../pkg/kpp |
315 |
kpp_calc.F kpp_calc_diff.F kpp_check.F kpp_do_diags.F kpp_init.F kpp_open_diags.F kpp_readparms.F kpp_routines.F kpp_transport_s.F kpp_transport_t.F: |
316 |
$(LN) ../../../pkg/kpp/$@ $@ |
317 |
# These files are linked from ../../../pkg/mdsio |
318 |
mdsio.F mdsio_byteswapr4.F mdsio_byteswapr8.F mdsio_findunit.F mdsio_gl.F mdsio_read_rl_vec.F mdsio_read_rs_vec.F mdsio_readfield.F mdsio_readtile.F mdsio_readvector.F mdsio_reclen.F mdsio_seg4torl.F mdsio_seg4tors.F mdsio_seg8torl.F mdsio_seg8tors.F mdsio_slice.F mdsio_write_rl_vec.F mdsio_write_rs_vec.F mdsio_writefield.F mdsio_writemeta.F mdsio_writevector.F: |
319 |
$(LN) ../../../pkg/mdsio/$@ $@ |
320 |
# These files are linked from ../../../pkg/obcs |
321 |
obcs_apply_ts.F obcs_apply_uv.F obcs_apply_w.F obcs_calc.F obcs_check.F obcs_checkpoint.F obcs_init_fixed.F obcs_init_variables.F obcs_readparms.F orlanski_checkpoint.F orlanski_east.F orlanski_init.F orlanski_north.F orlanski_south.F orlanski_west.F: |
322 |
$(LN) ../../../pkg/obcs/$@ $@ |
323 |
# These files are linked from ../../../pkg/shap_filt |
324 |
shap_filt_apply.F shap_filt_tracer.F shap_filt_tracerold.F shap_filt_u.F shap_filt_uv.F shap_filt_v.F: |
325 |
$(LN) ../../../pkg/shap_filt/$@ $@ |
326 |
# These files are linked from ../../../pkg/timeave |
327 |
timeave_cumul_1k.F timeave_cumul_2v.F timeave_cumulate.F timeave_norma_1k.F timeave_normaliz.F timeave_reset.F timeave_reset_1k.F timeave_statv_write.F timeave_statvars.F: |
328 |
$(LN) ../../../pkg/timeave/$@ $@ |
329 |
# These files are linked from ../../../pkg/zonal_filt |
330 |
fftpack.F zonal_filt_apply.F zonal_filt_init.F zonal_filt_nofill.F zonal_filt_postsmooth.F zonal_filt_presmooth.F zonal_filter.F: |
331 |
$(LN) ../../../pkg/zonal_filt/$@ $@ |
332 |
# These files are linked from ../../../eesupp/src |
333 |
bar2.F barrier.F check_threads.F comm_stats.F dfile.F different_multiple.F eeboot.F eeboot_minimal.F eedata_example.F eedie.F eeintro_msg.F eeset_parms.F eewrite_eeenv.F exch.F exch_control.F exch_cycle_ebl.F exch_init.F exch_jam.F exch_recv_get_x.F exch_recv_get_y.F exch_send_put_x.F exch_send_put_y.F fool_the_compiler.F global_max.F global_sum.F gsum.F gsum_jam.F ini_communication_patterns.F ini_jam.F ini_procs.F ini_threading_environment.F main.F memsync.F nml_filter.F print.F read_field.F tim.c timers.F utils.F write_field.F: |
334 |
$(LN) ../../../eesupp/src/$@ $@ |
335 |
# These files are linked from ../../../model/src |
336 |
calc_buoyancy.F calc_common_factors.F calc_diffusivity.F calc_div_ghat.F calc_grad_phi_surf.F calc_gs.F calc_gt.F calc_gw.F calc_ivdc.F calc_mom_rhs.F calc_phi_hyd.F cg2d.F cg3d.F checkpoint.F config_summary.F convect.F convective_adjustment.F convective_adjustment_ini.F correction_step.F cycle_tracer.F do_fields_blocking_exchanges.F do_gterm_blocking_exchanges.F do_the_model_io.F dynamics.F external_fields_load.F external_forcing.F external_forcing_surf.F find_alpha.F find_rho.F freeze.F get_offline_fields.F grad_sigma.F impldiff.F ini_cartesian_grid.F ini_cg2d.F ini_cg3d.F ini_cori.F ini_depths.F ini_fields.F ini_forcing.F ini_grid.F ini_gw.F ini_masks_etc.F ini_parms.F ini_psurf.F ini_salt.F ini_spherical_polar_grid.F ini_theta.F ini_uvel.F ini_vertical_grid.F ini_vvel.F ini_wvel.F initialise_fixed.F initialise_varia.F integrate_for_w.F modeldata_example.F open_copy_data_file.F packages_boot.F packages_check.F packages_check_error.F packages_init_fixed.F packages_init_variables.F packages_readparms.F plot_field.F port_rand.F read_write.F read_write_fld.F read_write_rec.F set_defaults.F solve_for_pressure.F state_summary.F swfrac.F the_correction_step.F the_main_loop.F the_model_main.F timestep.F timestep_tracer.F write_state.F: |
337 |
$(LN) ../../../model/src/$@ $@ |
338 |
|
339 |
# DO NOT DELETE |