60 |
# copy everything in ../eesupp/src, ../model/src, |
# copy everything in ../eesupp/src, ../model/src, |
61 |
# ../eesupp/inc and ../model/inc into a directory and then |
# ../eesupp/inc and ../model/inc into a directory and then |
62 |
# edit the paths below to ./ |
# edit the paths below to ./ |
63 |
set SOURCEDIRS = ( ../eesupp/src/ ../model/src/ ../diags/src/) |
set SOURCEDIRS = ( ../eesupp/src/ ../model/src/ ../diags/src/ ../pkg/*/ ) |
64 |
set INCLUDEDIRS = ( ../eesupp/inc/ ../model/inc/ ../diags/inc/) |
set INCLUDEDIRS = ( ./ ../eesupp/inc/ ../model/inc/ ../diags/inc/ ../pkg/*/ ) |
65 |
set BUILDDIR = ( ../bin/ ) |
set BUILDDIR = ( ../bin/ ) |
66 |
set EXEDIR = ( ../exe/ ) |
set EXEDIR = ( ../exe/ ) |
67 |
set EXECUTABLE = ( mitgcmuv ) |
set EXECUTABLE = ( mitgcmuv ) |
109 |
set FOPTIM = ( '-O5 -fast -tune host -inline all' ) |
set FOPTIM = ( '-O5 -fast -tune host -inline all' ) |
110 |
set NOOPTFLAGS = ( '-O0' ) |
set NOOPTFLAGS = ( '-O0' ) |
111 |
set LIBS = ( '-lfmpi -lmpi -lkmp_osfp10 -pthread' ) |
set LIBS = ( '-lfmpi -lmpi -lkmp_osfp10 -pthread' ) |
112 |
set NOOPTFILES = ( 'barrier.F different_multiple.F load_external_fields.F') |
set NOOPTFILES = ( 'barrier.F different_multiple.F external_fields_load.F') |
113 |
set RMFILES = ( '*.p.out' ) |
set RMFILES = ( '*.p.out' ) |
114 |
breaksw |
breaksw |
115 |
case IRIX64+mpi: |
case IRIX64+mpi: |
130 |
set FOPTIM = ( '-O3' ) |
set FOPTIM = ( '-O3' ) |
131 |
# set NOOPTFLAGS = ( '-O0' ) |
# set NOOPTFLAGS = ( '-O0' ) |
132 |
# set NOOPTFILES = ( 'barrier.F different_multiple.F ' \ |
# set NOOPTFILES = ( 'barrier.F different_multiple.F ' \ |
133 |
# 'load_external_fields.F' ) |
# 'external_fields_load.F' ) |
134 |
set RMFILES = ( 'rii_files' ) |
set RMFILES = ( 'rii_files' ) |
135 |
breaksw |
breaksw |
136 |
|
case o2: |
137 |
|
case IRIX: |
138 |
|
echo "Configuring for SGI O2 running IRIX 6.5" |
139 |
|
set DEFINES = ( ${DEFINES} '-DTARGET_SGI -DWORDLENGTH=4' ) |
140 |
|
set FFLAGS = ( '-extend_source -bytereclen -r10000 -mips4' ) |
141 |
|
set FOPTIM = ( '-O2' ) |
142 |
|
set NOOPTFLAGS = ( '-O0' ) |
143 |
|
breaksw |
144 |
|
case o2+mpi: |
145 |
|
case IRIX+mpi: |
146 |
|
echo "Configuring for SGI O2 running IRIX 6.5 with MPI" |
147 |
|
set DEFINES = ( ${DEFINES} '-DTARGET_SGI -DWORDLENGTH=4' ) |
148 |
|
set FFLAGS = ( '-extend_source -bytereclen -r10000 -mips4' ) |
149 |
|
set FOPTIM = ( '-O2' ) |
150 |
|
set NOOPTFILES = ( 'barrier.F different_multiple.F external_fields_load.F' ) |
151 |
|
set NOOPTFLAGS = ( '-O0' ) |
152 |
|
set LIBS = ( '-lmpi' ) |
153 |
|
breaksw |
154 |
|
case o2k+mpi: |
155 |
|
echo "Configuring for SGI Origin2000 running IRIX 6.5" |
156 |
|
set DEFINES = ( ${DEFINES} '-DTARGET_SGI -DWORDLENGTH=4' ) |
157 |
|
set INCLUDES = ( '-I/usr/include' ) |
158 |
|
set FFLAGS = ( '-n32 -extend_source -bytereclen' ) |
159 |
|
set FOPTIM = ( '-O2' ) |
160 |
|
set NOOPTFILES = ( 'calc_mom_rhs.F' ) |
161 |
|
set NOOPTFLAGS = ( '-O1' ) |
162 |
|
set LIBS = ( '-lmpi -lscs' ) |
163 |
|
breaksw |
164 |
|
case onyx: |
165 |
|
case onyx+mpi: |
166 |
|
echo "Configuring for SGI ONYX running IRIX64" |
167 |
|
set DEFINES = ( ${DEFINES} '-DTARGET_SGI -DWORDLENGTH=4' ) |
168 |
|
set FFLAGS = ( '-extend_source -bytereclen -r10000 -64' ) |
169 |
|
set FOPTIM = ( '-O2' ) |
170 |
|
set NOOPTFLAGS = ( '-O0' ) |
171 |
|
set NOOPTFILES = ( 'barrier.F different_multiple.F external_fields_load.F' ) |
172 |
|
set LIBS = ( '-lmpi' ) |
173 |
|
breaksw |
174 |
case SunOS: |
case SunOS: |
175 |
set LN = ( '/usr/bin/ln -fs' ) |
set LN = ( '/usr/bin/ln -fs' ) |
176 |
set CPP = ( '/usr/ccs/lib/cpp -P' ) |
set CPP = ( '/usr/ccs/lib/cpp -P' ) |
177 |
set DEFINES = ( ${DEFINES} '-DTARGET_SUN -DWORDLENGTH=4' ) |
set DEFINES = ( ${DEFINES} '-DTARGET_SUN -DWORDLENGTH=4' ) |
178 |
set FFLAGS = ( '-stackvar -explicitpar -vpara -e -u -noautopar') |
set FFLAGS = ( '-stackvar -explicitpar -vpara -e -u -noautopar') |
179 |
set FOPTIM = ( '-fast -O4' ) |
set FOPTIM = ( '-fast -O3' ) |
180 |
set NOOPTFLAGS = ( '-O0' ) |
set NOOPTFLAGS = ( '-O0' ) |
181 |
set NOOPTFILES = ( 'barrier.F different_multiple.F load_external_fields.F ini_vertical_grid.F') |
set NOOPTFILES = ( 'barrier.F different_multiple.F external_fields_load.F ini_vertical_grid.F') |
182 |
breaksw |
breaksw |
183 |
case SunOS+mpi: |
case SunOS+mpi: |
184 |
set LN = ( '/usr/bin/ln -fs' ) |
set LN = ( '/usr/bin/ln -fs' ) |
186 |
set DEFINES = ( ${DEFINES} '-DTARGET_SUN -DWORDLENGTH=4' ) |
set DEFINES = ( ${DEFINES} '-DTARGET_SUN -DWORDLENGTH=4' ) |
187 |
set INCLUDES = ( '-I/usr/local/mpi/include' ) |
set INCLUDES = ( '-I/usr/local/mpi/include' ) |
188 |
set FFLAGS = ( '-stackvar -explicitpar -vpara -e -u -noautopar') |
set FFLAGS = ( '-stackvar -explicitpar -vpara -e -u -noautopar') |
189 |
set FOPTIM = ( '-fast -O4' ) |
set FOPTIM = ( '-fast -O3' ) |
190 |
set NOOPTFLAGS = ( '-O0' ) |
set NOOPTFLAGS = ( '-O0' ) |
191 |
set LIBS = ( '-L/usr/local/mpi/lib/solaris/ch_shmem -lmpi -lthread' \ |
set LIBS = ( '-L/usr/local/mpi/lib/solaris/ch_shmem -lmpi -lthread' \ |
192 |
'-lsocket -lnsl' ) |
'-lsocket -lnsl' ) |
193 |
set NOOPTFILES = ( 'barrier.F different_multiple.F load_external_fields.F ini_vertical_grid.F') |
set NOOPTFILES = ( 'barrier.F different_multiple.F external_fields_load.F ini_vertical_grid.F') |
194 |
breaksw |
breaksw |
195 |
case IRIX32: |
case IRIX32: |
196 |
echo "Configuring for SGI ONYX running IRIX64" |
echo "Configuring for SGI ONYX running IRIX64" |
200 |
set FOPTIM = ( '-O2' ) |
set FOPTIM = ( '-O2' ) |
201 |
set NOOPTFLAGS = ( '-O0' ) |
set NOOPTFLAGS = ( '-O0' ) |
202 |
set NOOPTFILES = ( 'barrier.F different_multiple.F ' \ |
set NOOPTFILES = ( 'barrier.F different_multiple.F ' \ |
203 |
'load_external_fields.F' ) |
'external_fields_load.F' ) |
204 |
set LIBS = ( '-lmpi' ) |
set LIBS = ( '-lmpi' ) |
205 |
breaksw |
breaksw |
206 |
case HP-UX+mpi: |
case HP-UX+mpi: |
216 |
set FOPTIM = ( '+O2' ) |
set FOPTIM = ( '+O2' ) |
217 |
set NOOPTFLAGS = ( '+O0' ) |
set NOOPTFLAGS = ( '+O0' ) |
218 |
set NOOPTFILES = ( 'barrier.F different_multiple.F' \ |
set NOOPTFILES = ( 'barrier.F different_multiple.F' \ |
219 |
'load_external_fields.F' ) |
'external_fields_load.F' ) |
220 |
breaksw |
breaksw |
221 |
case Linux+mpi: |
case Linux+mpi: |
222 |
set LIBS = ( '-L/usr/local/lib/LINUX/ch_p4/ -lfmpich -lmpich' ) |
set LIBS = ( '-L/usr/local/lib/LINUX/ch_p4/ -lfmpich -lmpich' ) |
255 |
set LINK = ( 'f90' ) |
set LINK = ( 'f90' ) |
256 |
set FFLAGS = ( '-O 2,fusion' ) |
set FFLAGS = ( '-O 2,fusion' ) |
257 |
breaksw |
breaksw |
258 |
|
case T90: |
259 |
|
case sn7113: |
260 |
|
set FC = ( 'f90' ) |
261 |
|
set LINK = ( 'f90' ) |
262 |
|
set LN = ( '/bin/ln -fs' ) |
263 |
|
set CPP = ( '/opt/ctl/bin/cpp -N -P' ) |
264 |
|
set DEFINES = ( ${DEFINES} '-DTARGET_CRAY_VECTOR -DWORDLENGTH=4' ) |
265 |
|
set FFLAGS = ( '-m3 -Rabc -N 132') |
266 |
|
set FOPTIM = ( '-O0' ) |
267 |
|
set NOOPTFLAGS = ( '-O0' ) |
268 |
|
set NOOPTFILES = ( 'barrier.F different_multiple.F external_fields_load.F') |
269 |
|
breaksw |
270 |
|
case SV1: |
271 |
|
case sn3002: |
272 |
|
set FC = ( 'f90' ) |
273 |
|
set LINK = ( 'f90' ) |
274 |
|
set LN = ( '/bin/ln -fs' ) |
275 |
|
set CPP = ( '/opt/ctl/bin/cpp -N -P' ) |
276 |
|
set DEFINES = ( ${DEFINES} '-DTARGET_CRAY_VECTOR -DWORDLENGTH=4' ) |
277 |
|
set FFLAGS = ( '-m3 -Rabc -ei -eI -s cf77types -N 132') |
278 |
|
set FOPTIM = ( '-O0' ) |
279 |
|
set NOOPTFLAGS = ( '-O0' ) |
280 |
|
set NOOPTFILES = ( 'barrier.F different_multiple.F external_fields_load.F') |
281 |
|
breaksw |
282 |
default: |
default: |
283 |
echo "Error: platform not recognized: uname -p = " $platform$USEMPI |
echo "Error: platform not recognized: uname -p = " $platform$USEMPI |
284 |
exit |
exit |
295 |
# Create list of files |
# Create list of files |
296 |
set flist = `ls -1 ${SOURCEDIRS} | grep '.*\.[F]$'` |
set flist = `ls -1 ${SOURCEDIRS} | grep '.*\.[F]$'` |
297 |
if ( $#flist ) then |
if ( $#flist ) then |
298 |
echo -n "SRCFILES = " > srclist.inc |
echo -n 'SRCFILES = ' > srclist.inc |
|
echo -n "F77FILES = " > f77list.inc |
|
|
echo -n "OBJFILES = " > objlist.inc |
|
299 |
foreach ff ( ${flist} ) |
foreach ff ( ${flist} ) |
300 |
set fname = ( ${ff:t} ) |
set fname = ( ${ff:t} ) |
301 |
echo ' \' >> srclist.inc |
echo ' \' >> srclist.inc |
302 |
echo -n " " ${fname:r}.F >> srclist.inc |
echo -n " " ${fname:r}.F >> srclist.inc |
|
echo ' \' >> f77list.inc |
|
|
echo -n " " ${fname:r}.f >> f77list.inc |
|
|
echo ' \' >> objlist.inc |
|
|
echo -n " " ${fname:r}.o >> objlist.inc |
|
303 |
end |
end |
304 |
else |
else |
305 |
echo No source files found...\! |
echo No source files found...\! |
306 |
exit |
exit |
307 |
endif |
endif |
308 |
|
echo " " >> srclist.inc |
309 |
|
|
310 |
set flist = `ls -1 ${SOURCEDIRS} | grep '.*\.[c]$'` |
set flist = `ls -1 ${SOURCEDIRS} | grep '.*\.[c]$'` |
311 |
if ( $#flist ) then |
if ( $#flist ) then |
312 |
|
echo -n 'CSRCFILES = ' > csrclist.inc |
313 |
foreach ff ( ${flist} ) |
foreach ff ( ${flist} ) |
314 |
set fname = ( ${ff:t} ) |
set fname = ( ${ff:t} ) |
315 |
echo ' \' >> objlist.inc |
echo ' \' >> csrclist.inc |
316 |
echo -n " " ${fname:r}.o >> objlist.inc |
echo -n " " ${fname} >> csrclist.inc |
317 |
|
else |
318 |
|
echo -n 'CSRCFILES =' > csrclist.inc |
319 |
endif |
endif |
320 |
echo " " >> srclist.inc |
echo " " >> csrclist.inc |
|
echo " " >> f77list.inc |
|
|
echo " " >> objlist.inc |
|
321 |
|
|
322 |
# Convert lists of directories into command-line options |
# Convert lists of directories into command-line options |
323 |
foreach inc ($INCLUDEDIRS) |
foreach inc ($INCLUDEDIRS) |
376 |
cat >> ${mfile} <<EOF |
cat >> ${mfile} <<EOF |
377 |
# extra stuff for Hyades ............................................ |
# extra stuff for Hyades ............................................ |
378 |
HYADES_DIR = /u/u0/cnh/jam-lib/software |
HYADES_DIR = /u/u0/cnh/jam-lib/software |
379 |
|
HYADES_DIR = /u/u0/cnh/jam-lib-twoproc |
380 |
WORK_DIR = \$(HYADES_DIR) |
WORK_DIR = \$(HYADES_DIR) |
381 |
DEPOSIT_DIR = linux_bin |
DEPOSIT_DIR = linux_bin |
382 |
|
|
434 |
|
|
435 |
EOF |
EOF |
436 |
|
|
437 |
cat srclist.inc >> ${mfile} |
cat srclist.inc >> ${mfile} |
438 |
cat f77list.inc >> ${mfile} |
cat csrclist.inc >> ${mfile} |
439 |
cat objlist.inc >> ${mfile} |
echo 'F77FILES = $(SRCFILES:.F=.f)' >> ${mfile} |
440 |
rm -f srclist.inc f77list.inc objlist.inc |
echo 'OBJFILES = $(SRCFILES:.F=.o) $(CSRCFILES:.c=.o)' >> ${mfile} |
441 |
|
|
442 |
|
rm -f srclist.inc |
443 |
|
|
444 |
cat >> ${mfile} <<EOF |
cat >> ${mfile} <<EOF |
445 |
|
|
454 |
depend: |
depend: |
455 |
@make links |
@make links |
456 |
makedepend -o .f \$(INCLUDES) \$(SRCFILES) |
makedepend -o .f \$(INCLUDES) \$(SRCFILES) |
457 |
|
|
458 |
|
small_f: \$(F77FILES) |
459 |
|
|
460 |
clean: |
clean: |
461 |
-rm -rf *.o *.f *.p ${RMFILES} |
-rm -rf *.o *.f *.p ${RMFILES} |
462 |
Clean: |
Clean: |