9 |
# modified by aja 01/00 |
# modified by aja 01/00 |
10 |
|
|
11 |
# Default lists |
# Default lists |
12 |
set DISABLE = ( aim autodiff cal cost ctrl ecco exf grdchk flt ptracers ) |
if (! $?DISABLE) set DISABLE = ( aim aim_v23 autodiff cal cost ctrl ecco exf grdchk flt land ptracers seaice therm_seaice bulk_force dic gchem ) |
13 |
set DEFINES = ( ) |
if (! $?ENABLE) set ENABLE = ( ) |
14 |
set ENABLE = ( ) |
if (! $?DEFINES) set DEFINES = ( ) |
15 |
set MODS = ( ) |
if (! $?MODS) set MODS = ( ) |
16 |
|
|
17 |
# Grab variables/lists from .genmakerc |
# Grab variables/lists from .genmakerc |
18 |
if (-r .genmakerc) source .genmakerc |
if (-r .genmakerc) source .genmakerc |
247 |
end |
end |
248 |
if (! $?PACKAGES) then |
if (! $?PACKAGES) then |
249 |
set PACKAGES=() |
set PACKAGES=() |
250 |
foreach pkg (`cd $ROOTDIR/pkg; find . -type d | grep -v CVS | sed 's:\./::' | grep -v "\." | sort`) |
foreach pkg (`cd $ROOTDIR/pkg; find . -type d -print | grep -v CVS | sed 's:\./::' | grep -v "\." | sort`) |
251 |
if (-d $ROOTDIR/pkg/$pkg) set PACKAGES=($PACKAGES $pkg) |
if (-d $ROOTDIR/pkg/$pkg) set PACKAGES=($PACKAGES $pkg) |
252 |
end |
end |
253 |
endif |
endif |
292 |
set DEFINES = ($DEFINES '-DDISABLE_MOM_VECINV'); breaksw |
set DEFINES = ($DEFINES '-DDISABLE_MOM_VECINV'); breaksw |
293 |
case generic_advdiff: |
case generic_advdiff: |
294 |
set DEFINES = ($DEFINES '-DDISABLE_GENERIC_ADVDIFF'); breaksw |
set DEFINES = ($DEFINES '-DDISABLE_GENERIC_ADVDIFF'); breaksw |
295 |
|
case debug: |
296 |
|
set DEFINES = ($DEFINES '-DDISABLE_DEBUGMODE'); breaksw |
297 |
default: |
default: |
298 |
breaksw |
breaksw |
299 |
endsw |
endsw |
316 |
echo "$FC was specified as the compiler" |
echo "$FC was specified as the compiler" |
317 |
else |
else |
318 |
echo " " |
echo " " |
319 |
set likelysuspects=(ifc g77 pgf77 f77 f90 f95) |
switch ($platform) |
320 |
|
case Linux*: |
321 |
|
set likelysuspects=(g77 ifc pgf77 f77 f90 f95) |
322 |
|
breaksw |
323 |
|
default: |
324 |
|
set likelysuspects=(f77) |
325 |
|
breaksw |
326 |
|
endsw |
327 |
foreach fc ($likelysuspects) |
foreach fc ($likelysuspects) |
328 |
set foundfc=`which $fc |& cat - ` |
set foundfc=`which $fc |& cat - ` |
329 |
if (-x $foundfc[1]) then |
if (-x $foundfc[1]) then |
340 |
else |
else |
341 |
echo "No compiler found\!" |
echo "No compiler found\!" |
342 |
echo I tried looking for \"$likelysuspects\" in your \$PATH but found none |
echo I tried looking for \"$likelysuspects\" in your \$PATH but found none |
343 |
exit 13 |
echo I will continue anyway and see what happens. |
344 |
|
set FC = ( 'f77' ) |
345 |
|
# exit 13 |
346 |
endif |
endif |
347 |
endif |
endif |
348 |
|
|
363 |
set KFLAGS2 = ( ) |
set KFLAGS2 = ( ) |
364 |
set LIBS = ( ) |
set LIBS = ( ) |
365 |
set KPPFILES = ( ) |
set KPPFILES = ( ) |
366 |
set NOOPTFILES = ( ) |
if (! $?NOOPTFILES ) set NOOPTFILES = ( ) |
367 |
set NOOPTFLAGS = ( ) |
if (! $?NOOPTFLAGS ) set NOOPTFLAGS = ( ) |
368 |
set RMFILES = ( ) |
set RMFILES = ( ) |
369 |
|
|
370 |
# We often want to use different compile/link options is using MPI |
# We often want to use different compile/link options is using MPI |
379 |
# Platform specific options |
# Platform specific options |
380 |
switch ($platform$USEMPI) |
switch ($platform$USEMPI) |
381 |
case OSF1+mpi: |
case OSF1+mpi: |
382 |
|
#ph: e.g. halem.gsfc.nasa.gov |
383 |
echo "Configuring for DEC Alpha with MPI" |
echo "Configuring for DEC Alpha with MPI" |
384 |
set LIBS = ( '-lfmpi -lmpi -lkmp_osfp10 -pthread' ) |
set LIBS = ( '-lfmpi -lmpi -lkmp_osfp10 -pthread' ) |
385 |
|
#ph: -lkmp_osfp10 not needed on some/many platforms |
386 |
case OSF1: |
case OSF1: |
387 |
echo "Configuring for DEC Alpha" |
echo "Configuring for DEC Alpha" |
388 |
set CPP = ( '/usr/bin/cpp -P' ) |
set CPP = ( '/usr/bin/cpp -P' ) |
389 |
set DEFINES = ( ${DEFINES} '-DTARGET_DEC -DWORDLENGTH=1' ) |
set DEFINES = ( ${DEFINES} '-DTARGET_DEC -DWORDLENGTH=1' ) |
390 |
|
set MAKEDEPEND = ( mkdep -f depend.out ) |
391 |
|
#ph: makedepend not available on some/many DEC Alpha's; use mkdep instead |
392 |
set KPP = ( ) |
set KPP = ( ) |
393 |
set KPPFILES = ( ) |
set KPPFILES = ( ) |
394 |
set KFLAGS1 = ( ) |
set KFLAGS1 = ( ) |
395 |
set FC = ( 'f77' ) |
set FC = ( 'f77' ) |
396 |
set FFLAGS = ( '-convert big_endian -r8 -extend_source -automatic -call_shared -notransform_loops -align dcommons' ) |
set FFLAGS = ( '-convert big_endian -r8 -extend_source -automatic -call_shared -notransform_loops -align dcommons' ) |
397 |
set FOPTIM = ( '-O5 -fast -tune host -inline all' ) |
set FOPTIM = ( '-O5 -fast -tune host -inline all' ) |
398 |
|
#ph: -O5 probably too aggressive in conjunction with adjoint code |
399 |
set NOOPTFLAGS = ( '-O0' ) |
set NOOPTFLAGS = ( '-O0' ) |
400 |
set NOOPTFILES = ( 'barrier.F different_multiple.F external_fields_load.F') |
set NOOPTFILES = ( 'barrier.F different_multiple.F external_fields_load.F') |
401 |
set RMFILES = ( '*.p.out' ) |
set RMFILES = ( '*.p.out' ) |
416 |
set INCLUDES = ( '-I/usr/local/mpi/include' ) |
set INCLUDES = ( '-I/usr/local/mpi/include' ) |
417 |
set FFLAGS = ( '-extend_source -mp -mpio -bytereclen -r10000 -mips4 -r8 -static' ) |
set FFLAGS = ( '-extend_source -mp -mpio -bytereclen -r10000 -mips4 -r8 -static' ) |
418 |
set FOPTIM = ( '-O3' ) |
set FOPTIM = ( '-O3' ) |
419 |
# set NOOPTFLAGS = ( '-O0' ) |
if ($?IEEE) set FFLAGS = ( '-extend_source -mp -mpio -bytereclen -r10000 -mips4 -static' ) |
420 |
# set NOOPTFILES = ( 'barrier.F different_multiple.F ' \ |
if ($?IEEE) set FOPTIM = ( '-O0 -OPT:IEEE_arithmetic=1 -OPT:IEEE_NaN_inf=ON' ) |
|
# 'external_fields_load.F' ) |
|
421 |
set RMFILES = ( 'rii_files' ) |
set RMFILES = ( 'rii_files' ) |
422 |
breaksw |
breaksw |
423 |
case o2: |
case o2: |
443 |
set DEFINES = ( ${DEFINES} '-DTARGET_SGI -DWORDLENGTH=4' ) |
set DEFINES = ( ${DEFINES} '-DTARGET_SGI -DWORDLENGTH=4' ) |
444 |
set INCLUDES = ( '-I/usr/include' ) |
set INCLUDES = ( '-I/usr/include' ) |
445 |
set FFLAGS = ( '-n32 -extend_source -bytereclen' ) |
set FFLAGS = ( '-n32 -extend_source -bytereclen' ) |
446 |
set FOPTIM = ( '-O2' ) |
set FOPTIM = ( '-O3 -OPT:Olimit=0:roundoff=3:div_split=ON:alias=typed' ) |
447 |
set NOOPTFILES = ( 'calc_mom_rhs.F' ) |
set LIBS = ( '-lmpi -lscs' ) |
448 |
set NOOPTFLAGS = ( '-O1' ) |
breaksw |
449 |
|
case o2k_noopt: |
450 |
|
case o2k_noopt+mpi: |
451 |
|
echo "Configuring for SGI Origin2000 running IRIX 6.5" |
452 |
|
set DEFINES = ( ${DEFINES} '-DTARGET_SGI -DWORDLENGTH=4' ) |
453 |
|
set INCLUDES = ( '-I/usr/include' ) |
454 |
|
set FFLAGS = ( '-n32 -extend_source -bytereclen' ) |
455 |
|
set FOPTIM = ( '-O0' ) |
456 |
|
set LIBS = ( '-lmpi' ) |
457 |
|
breaksw |
458 |
|
case ames_dbg+mpi: |
459 |
|
echo "Configuring for SGI Origin2000 running IRIX 6.5" |
460 |
|
set DEFINES = ( ${DEFINES} '-DTARGET_SGI -DWORDLENGTH=4' ) |
461 |
|
set INCLUDES = ( '-I/usr/include -I/opt/mpt/1.6.1.beta/usr/include' ) |
462 |
|
set FFLAGS = ( '-n32 -extend_source -bytereclen' ) |
463 |
set LIBS = ( '-lmpi -lscs' ) |
set LIBS = ( '-lmpi -lscs' ) |
464 |
|
set FC = ( 'f90' ) |
465 |
|
set LINK = ( 'f90' ) |
466 |
|
breaksw |
467 |
|
case ames_opt+mpi: |
468 |
|
echo "Configuring for SGI Origin2000 running IRIX 6.5" |
469 |
|
set DEFINES = ( ${DEFINES} '-DTARGET_SGI -DWORDLENGTH=4' ) |
470 |
|
set INCLUDES = ( '-I/usr/include -I/opt/mpt/1.6.1.beta/usr/include' ) |
471 |
|
set FFLAGS = ( '-n32 -extend_source -bytereclen' ) |
472 |
|
set FOPTIM = ( '-O3 -OPT:Olimit=0:roundoff=3:div_split=ON:alias=typed' ) |
473 |
|
set LIBS = ( '-lmpi -lscs' ) |
474 |
|
set FC = ( 'f90' ) |
475 |
|
set LINK = ( 'f90' ) |
476 |
breaksw |
breaksw |
477 |
case onyx: |
case onyx: |
478 |
case onyx+mpi: |
case onyx+mpi: |
507 |
'-lsocket -lnsl' ) |
'-lsocket -lnsl' ) |
508 |
set NOOPTFILES = ( 'barrier.F different_multiple.F external_fields_load.F ini_vertical_grid.F ini_spherical_polar_grid.F ini_cori.F mon_printstats_rl.F mon_printstats_rs.F') |
set NOOPTFILES = ( 'barrier.F different_multiple.F external_fields_load.F ini_vertical_grid.F ini_spherical_polar_grid.F ini_cori.F mon_printstats_rl.F mon_printstats_rs.F') |
509 |
breaksw |
breaksw |
510 |
|
case SunFire+mpi: |
511 |
|
set FC = ( 'mpf77' ) |
512 |
|
set LINK = ( 'mpf77' ) |
513 |
|
set LN = ( '/usr/bin/ln -s' ) |
514 |
|
set CPP = ( '/usr/ccs/lib/cpp -P' ) |
515 |
|
set MAKEDEPEND = ( ${TOOLSDIR}/xmakedepend ) |
516 |
|
set DEFINES = ( ${DEFINES} '-DTARGET_SUN -DWORDLENGTH=4' ) |
517 |
|
set INCLUDES = ( '-I/opt/SUNWhpc/include' ) |
518 |
|
set LIBS = ( '-lmpi -lthread -lsocket -lnsl' ) |
519 |
|
set FFLAGS = ( '-e -u -noautopar ' \ |
520 |
|
'-xtypemap=real:64,double:64,integer:32 -fsimple=0' ) |
521 |
|
set FOPTIM = ( '-dalign -O4 -xarch=native' ) |
522 |
|
set CFLAGS = ( '-dalign -xO4 -xarch=native' ) |
523 |
|
set NOOPTFLAGS = ( '-dalign -O0 -xarch=native' ) |
524 |
|
breaksw |
525 |
case IRIX32: |
case IRIX32: |
526 |
echo "Configuring for SGI ONYX running IRIX64" |
echo "Configuring for SGI ONYX running IRIX64" |
527 |
set DEFINES = ( ${DEFINES} '-DTARGET_SGI -DWORDLENGTH=4' ) |
set DEFINES = ( ${DEFINES} '-DTARGET_SGI -DWORDLENGTH=4' ) |
548 |
set NOOPTFILES = ( 'barrier.F different_multiple.F' \ |
set NOOPTFILES = ( 'barrier.F different_multiple.F' \ |
549 |
'external_fields_load.F' ) |
'external_fields_load.F' ) |
550 |
breaksw |
breaksw |
551 |
|
case Linux-ia64+mpi: |
552 |
|
echo "Configuring with MPI" |
553 |
|
case Linux-ia64: |
554 |
|
echo "Configuring for " $platform |
555 |
|
set LN = ( '/bin/ln -s' ) |
556 |
|
set CPP = ( '/lib/cpp -traditional -P' ) |
557 |
|
set DEFINES = ( ${DEFINES} '-D_BYTESWAPIO -DWORDLENGTH=4' ) |
558 |
|
set FC = ( 'efc' ) |
559 |
|
set FFLAGS = ( '-WB -Vaxlib -u -w' ) |
560 |
|
set FOPTIM = ( '-O2 ' ) |
561 |
|
set LINK = ( 'efc' ) |
562 |
|
set LIBS = ( '-lmpi -lscs -lpthread' ) |
563 |
|
breaksw |
564 |
case Linux-alpha+mpi: |
case Linux-alpha+mpi: |
565 |
echo "Configuring with MPI" |
echo "Configuring with MPI" |
566 |
set LIBS = ( '-L/usr/local/lib/LINUX/ch_p4/ -lfmpich -lmpich' ) |
set LIBS = ( '-L/usr/local/lib/LINUX/ch_p4/ -lfmpich -lmpich' ) |
607 |
set FFLAGS = ( '-Wimplicit -Wunused -Wuninitialized' ) |
set FFLAGS = ( '-Wimplicit -Wunused -Wuninitialized' ) |
608 |
if ($?IEEE) set FFLAGS = ( $FFLAGS '-ffloat-store' ) |
if ($?IEEE) set FFLAGS = ( $FFLAGS '-ffloat-store' ) |
609 |
set FOPTIM = ( '-O3 -malign-double -funroll-loops' ) |
set FOPTIM = ( '-O3 -malign-double -funroll-loops' ) |
610 |
|
set NOOPTFLAGS = ( '-O0' ) |
611 |
breaksw |
breaksw |
612 |
case pgf77: |
case pgf77: |
613 |
set DEFINES = ( ${DEFINES} '-DWORDLENGTH=4' ) |
set DEFINES = ( ${DEFINES} '-DWORDLENGTH=4' ) |
664 |
set NOOPTFLAGS = ( '-O0' ) |
set NOOPTFLAGS = ( '-O0' ) |
665 |
set NOOPTFILES = ( 'barrier.F different_multiple.F external_fields_load.F') |
set NOOPTFILES = ( 'barrier.F different_multiple.F external_fields_load.F') |
666 |
breaksw |
breaksw |
667 |
|
case cg01+pgi: |
668 |
|
set LN = ( '/bin/ln -s' ) |
669 |
|
set CPP = ( '/lib/cpp -traditional -P' ) |
670 |
|
set INCLUDES = ( '-I/usr/local/pkg/mpi/mpi-1.2.4..8a-gm-1.5/pgi/include' ) |
671 |
|
set DEFINES = ( ${DEFINES} '-DWORDLENGTH=4' ) |
672 |
|
set FC = ( '/usr/local/pkg/mpi/mpi-1.2.4..8a-gm-1.5/pgi/bin/mpif77' ) |
673 |
|
set FFLAGS = ( '-byteswapio -r8 -Mnodclchk -Mextend' ) |
674 |
|
# set LIBS = ( '-L/home/cnh/src/gm-1.4/libgm') |
675 |
|
set FOPTIM = ( '-tp p6 -v -O2 -Munroll -Mvect=cachesize:512000,transform -Kieee' ) |
676 |
|
set LINK = ( '/usr/local/pkg/mpi/mpi-1.2.4..8a-gm-1.5/pgi/bin/mpif77' ) |
677 |
|
breaksw |
678 |
case SP3: |
case SP3: |
679 |
# originally from A. Biastoch, SIO. |
# originally from A. Biastoch, SIO. |
680 |
|
# e.g. horizon.npaci.edu |
681 |
echo "Configuring for IBM SP POWER3" |
echo "Configuring for IBM SP POWER3" |
682 |
set SOURCEDIRS = ( ./ $SOURCEDIRS ) |
set SOURCEDIRS = ( ./ $SOURCEDIRS ) |
683 |
set LN = ( 'ln -s' ) |
set LN = ( 'ln -s' ) |
700 |
# 'external_fields_load.F' ) |
# 'external_fields_load.F' ) |
701 |
set RMFILES = ( 'rii_files' ) |
set RMFILES = ( 'rii_files' ) |
702 |
breaksw |
breaksw |
703 |
|
case SP4: |
704 |
|
#ph: e.g. bluesky.ucar.edu, marcellus.navo.hpc.mil |
705 |
|
echo "Configuring for IBM SP POWER4" |
706 |
|
set SOURCEDIRS = ( ./ $SOURCEDIRS ) |
707 |
|
set LN = ( 'ln -s' ) |
708 |
|
set DEFINES = ( ${DEFINES} '-DTARGET_PWR3 -DTARGET_SGI -DWORDLENGTH=4' ) |
709 |
|
set INCLUDES = ( '-I/usr/lpp/ppe.poe/include' ) |
710 |
|
# set CPP = ( '/lib/cpp' ) |
711 |
|
set FC = ( 'mpxlf95' ) |
712 |
|
set LINK = ( 'mpxlf95' ) |
713 |
|
set FLAGS = ( '-O3 -qarch=pwr4 -qtune=pwr4 -qcache=auto -qmaxmem=-1' \ |
714 |
|
'-bmaxdata:0x80000000 -bloadmap:mitgcmuv.map' ) |
715 |
|
set FFLAGS = ( '-qfixed=132 -O3 -qarch=pwr4 -qtune=pwr4 -qcache=auto -qmaxmem=-1' \ |
716 |
|
'-bmaxdata:0x80000000 ' ) |
717 |
|
set LDFLAGS = ( '-O3 -qarch=pwr4 -qtune=pwr4 -qcache=auto -qmaxmem=-1' \ |
718 |
|
'-bmaxdata:0x80000000' ) |
719 |
|
set LIBS = ( ' -L/usr/local/apps/mass -lmass' ) |
720 |
|
# set FFLAGS = ( '-extend_source -mp -mpio -bytereclen -r10000 -mips4' ) |
721 |
|
# set FOPTIM = ( '-O3' ) |
722 |
|
# set NOOPTFLAGS = ( '-O0' ) |
723 |
|
# set NOOPTFILES = ( 'barrier.F different_multiple.F ' \ |
724 |
|
# 'external_fields_load.F' ) |
725 |
|
set RMFILES = ( 'rii_files' ) |
726 |
|
breaksw |
727 |
|
case aer-linux-cluster+mpi |
728 |
|
echo "Configuring for " $platform |
729 |
|
set LN = ( '/bin/ln -s' ) |
730 |
|
set CPP = ( '/lib/cpp -traditional -P' ) |
731 |
|
set DEFINES = ( ${DEFINES} '-DWORDLENGTH=4' ) |
732 |
|
set FC = ( '/opt/mpich/bin/mpif77' ) |
733 |
|
set LINK = ( '/opt/mpich/bin/mpif77' ) |
734 |
|
set FFLAGS = ( '-byteswapio -r8 -Mnodclchk -Mextend' ) |
735 |
|
set FOPTIM = ( '-tp p6 -v -O2 -Munroll -Mvect=cachesize:512000,transform -Kieee' ) |
736 |
|
set LIBS = ( '-L/opt/mpich/lib/ -lfmpich -lmpich' ) |
737 |
|
set INCLUDES = ( '-I/opt/mpich/include' ) |
738 |
|
breaksw |
739 |
default: |
default: |
740 |
echo "Error: platform not recognized: uname -p = " $platform$USEMPI |
echo "Error: platform not recognized: uname -p = " $platform$USEMPI |
741 |
exit |
exit |
953 |
@make Clean |
@make Clean |
954 |
-find \$(EXEDIR) -name "*.meta" -exec rm {} \; |
-find \$(EXEDIR) -name "*.meta" -exec rm {} \; |
955 |
-find \$(EXEDIR) -name "*.data" -exec rm {} \; |
-find \$(EXEDIR) -name "*.data" -exec rm {} \; |
956 |
|
-find \$(EXEDIR) -name "fort.*" -exec rm {} \; |
957 |
-rm -f \$(EXECUTABLE) |
-rm -f \$(EXECUTABLE) |
958 |
|
|
959 |
makefile: |
makefile: |