519 |
-pdefault=NAME | --pdefault=NAME |
-pdefault=NAME | --pdefault=NAME |
520 |
Get the default package list from "NAME". |
Get the default package list from "NAME". |
521 |
|
|
522 |
|
-bash NAME |
523 |
|
Explicitly specify the Bourne or BASH shell to use |
524 |
|
|
525 |
-make NAME | -m NAME |
-make NAME | -m NAME |
526 |
--make=NAME | -m=NAME |
--make=NAME | -m=NAME |
527 |
Use "NAME" for the MAKE program. The default is "make" but |
Use "NAME" for the MAKE program. The default is "make" but |
581 |
*only* works if it is supported by the OPTFILE that |
*only* works if it is supported by the OPTFILE that |
582 |
is being used. |
is being used. |
583 |
|
|
584 |
|
-use_real4 | -use_r4 | -ur4 | --use_real4 | --use_r4 | --ur4 |
585 |
|
Use "real*4" type for _RS variable (#undef REAL4_IS_SLOW) |
586 |
|
*only* works if CPP_EEOPTIONS.h allows this. |
587 |
|
|
588 |
-ignoretime | -ignore_time | --ignoretime | --ignore_time |
-ignoretime | -ignore_time | --ignoretime | --ignore_time |
589 |
Ignore all the "wall clock" routines entirely. This will |
Ignore all the "wall clock" routines entirely. This will |
590 |
not in any way hurt the model results -- it simply means |
not in any way hurt the model results -- it simply means |
628 |
(including the Makefile, etc.) used to build the |
(including the Makefile, etc.) used to build the |
629 |
executable [off by default] |
executable [off by default] |
630 |
|
|
|
-bash NAME |
|
|
Explicitly specify the Bourne or BASH shell to use |
|
|
|
|
631 |
While it is most often a single word, the "NAME" variables specified |
While it is most often a single word, the "NAME" variables specified |
632 |
above can in many cases be a space-delimited string such as: |
above can in many cases be a space-delimited string such as: |
633 |
|
|
639 |
|
|
640 |
For more detailed genmake documentation, please see: |
For more detailed genmake documentation, please see: |
641 |
|
|
642 |
http://mitgcm.org/devel_HOWTO/ |
http://mitgcm.org/public/devel_HOWTO/ |
643 |
|
|
644 |
EOF |
EOF |
645 |
|
|
1069 |
MPIPATH= |
MPIPATH= |
1070 |
OMP= |
OMP= |
1071 |
OMPFLAG= |
OMPFLAG= |
1072 |
|
USE_R4= |
1073 |
TS= |
TS= |
1074 |
PAPIS= |
PAPIS= |
1075 |
PCLS= |
PCLS= |
1137 |
|
|
1138 |
# The following state can be set directly by command-line switches |
# The following state can be set directly by command-line switches |
1139 |
gm_s1="OPTFILE PDEPEND PDEFAULT MAKEFILE PLATFORM ROOTDIR MODS DISABLE ENABLE" |
gm_s1="OPTFILE PDEPEND PDEFAULT MAKEFILE PLATFORM ROOTDIR MODS DISABLE ENABLE" |
1140 |
gm_s2="FC CPP IEEE TS PAPIS PCLS PAPI PCL HPMT GSL DEVEL MPI OMP DUMPSTATE STANDARDDIRS" |
gm_s2="FC IEEE USE_R4 TS PAPIS PCLS PAPI PCL HPMT GSL DEVEL MPI OMP DUMPSTATE STANDARDDIRS" |
1141 |
|
|
1142 |
# The following state is not directly set by command-line switches |
# The following state is not directly set by command-line switches |
1143 |
gm_s3="LN S64 KPP LINK PACKAGES MAKEDEPEND PDEPEND PDEFAULT INCLUDES FFLAGS FOPTIM FEXTRAFLAGS" |
gm_s3="LN S64 KPP LINK PACKAGES MAKEDEPEND PDEPEND PDEFAULT INCLUDES FFLAGS FOPTIM FEXTRAFLAGS" |
1302 |
-noieee | --noieee) |
-noieee | --noieee) |
1303 |
IEEE= ;; |
IEEE= ;; |
1304 |
|
|
1305 |
|
-use_real4 | -use_r4 | -ur4 | --use_real4 | --use_r4 | --ur4 ) |
1306 |
|
USE_R4=true ;; |
1307 |
|
|
1308 |
-ts | --ts) |
-ts | --ts) |
1309 |
TS=true ;; |
TS=true ;; |
1310 |
-papis | --papis) |
-papis | --papis) |
1413 |
# Find the MITgcm ${THISVER} |
# Find the MITgcm ${THISVER} |
1414 |
version_file="${ROOTDIR}/doc/tag-index" |
version_file="${ROOTDIR}/doc/tag-index" |
1415 |
if test -f $version_file ; then |
if test -f $version_file ; then |
1416 |
THISVER=`grep '^checkpoint' $version_file | head -1` |
THISVER=`$AWK '/^checkpoint/{print $1; exit}' $version_file` |
1417 |
#- remove ./BUILD_INFO.h file if older than version_file |
#- remove ./BUILD_INFO.h file if older than version_file |
1418 |
if test -f ./BUILD_INFO.h -a ./BUILD_INFO.h -ot $version_file ; then |
if test -f ./BUILD_INFO.h -a ./BUILD_INFO.h -ot $version_file ; then |
1419 |
echo " remove ./BUILD_INFO.h (older than ${version_file})" |
echo " remove ./BUILD_INFO.h (older than ${version_file})" |
1581 |
DEFINES="$DEFINES -DUSE_OMP_THREADING" |
DEFINES="$DEFINES -DUSE_OMP_THREADING" |
1582 |
fi |
fi |
1583 |
|
|
1584 |
|
if test ! "x$USE_R4" = x ; then |
1585 |
|
echo " Turning on LET_RS_BE_REAL4 cpp flag" |
1586 |
|
DEFINES="$DEFINES -DLET_RS_BE_REAL4" |
1587 |
|
fi |
1588 |
|
|
1589 |
if test ! "x$TS" = x ; then |
if test ! "x$TS" = x ; then |
1590 |
echo " Turning on timing per timestep" |
echo " Turning on timing per timestep" |
1591 |
if test ! "x$FOOLAD" = x ; then |
if test ! "x$FOOLAD" = x ; then |
2656 |
@make clean |
@make clean |
2657 |
@make cleanlinks |
@make cleanlinks |
2658 |
-rm -f \$(SPECIAL_FILES) |
-rm -f \$(SPECIAL_FILES) |
2659 |
-rm -f genmake_state genmake_*optfile genmake_warnings make.log run.log f90mkdepend.log *.bak |
-rm -f genmake_state genmake_*optfile genmake_warnings genmake_errors |
2660 |
|
-rm -f make.log run.log f90mkdepend.log *.bak |
2661 |
-rm -f taf_command taf_output taf_ad.log taf_ad_flow.log |
-rm -f taf_command taf_output taf_ad.log taf_ad_flow.log |
2662 |
CLEAN: |
CLEAN: |
2663 |
@make Clean |
@make Clean |
2797 |
-rm -f ad_config.template |
-rm -f ad_config.template |
2798 |
@make \$(F77_PP_SRC_FILES) |
@make \$(F77_PP_SRC_FILES) |
2799 |
@make \$(FLOFILES) |
@make \$(FLOFILES) |
2800 |
cat \$(FLOFILES) \$(AD_FILES) > ad_input_code.$FS |
cat \$(FLOFILES) \$(AD_FILES) | sed -f \$(TOOLSDIR)/remove_comments_sed > ad_input_code.$FS |
2801 |
|
|
2802 |
ad_taf_output.$FS: ad_input_code.$FS |
ad_taf_output.$FS: ad_input_code.$FS |
2803 |
\$(TAF) \$(AD_TAF_FLAGS) \$(TAF_EXTRA) ad_input_code.$FS |
\$(TAF) \$(AD_TAF_FLAGS) \$(TAF_EXTRA) ad_input_code.$FS |
3055 |
|
|
3056 |
# canonicalizer |
# canonicalizer |
3057 |
ad_input_code_sf.w2f.pre.f$FS90: ad_input_code_sf.w2f.f$FS90 preProcess.py |
ad_input_code_sf.w2f.pre.f$FS90: ad_input_code_sf.w2f.f$FS90 preProcess.py |
3058 |
./preProcess.py --timing -H -S \$< -o \$@ |
./preProcess.py --timing --r8 -H -S \$< -o \$@ |
3059 |
|
|
3060 |
# F -> WHIRL |
# F -> WHIRL |
3061 |
# note that the canonicalized version cuts off at col 72 |
# note that the canonicalized version cuts off at col 72 |
3077 |
|
|
3078 |
# XAIF' -> WHIRL' |
# XAIF' -> WHIRL' |
3079 |
ad_input_code_sf.w2f.pre.xb.x2w.B : ad_input_code_sf.w2f.pre.xb.xaif xaif2whirl |
ad_input_code_sf.w2f.pre.xb.x2w.B : ad_input_code_sf.w2f.pre.xb.xaif xaif2whirl |
3080 |
./xaif2whirl --debug 1 --structured ad_input_code_sf.w2f.pre.B \$< |
./xaif2whirl --debug 1 ad_input_code_sf.w2f.pre.B \$< |
3081 |
|
|
3082 |
# WHIRL' -> F' |
# WHIRL' -> F' |
3083 |
ad_input_code_sf.w2f.pre.xb.x2w.w2f.f$FS90: ad_input_code_sf.w2f.pre.xb.x2w.B whirl2f whirl2f_be |
ad_input_code_sf.w2f.pre.xb.x2w.w2f.f$FS90: ad_input_code_sf.w2f.pre.xb.x2w.B whirl2f whirl2f_be |
3095 |
# this step also creates the file postProcess.make but we cannot |
# this step also creates the file postProcess.make but we cannot |
3096 |
# name it as the target or else make will try to remake it for |
# name it as the target or else make will try to remake it for |
3097 |
# the include directive above for any rule, e.g. make clean |
# the include directive above for any rule, e.g. make clean |
3098 |
./postProcess.py --progress --timing -m r -i ../OAD_support/ad_inline.f --width 4 \$< |
./postProcess.py --progress --timing --outputFormat=fixed -m r -i ../OAD_support/ad_inline.f --width 4 \$< |
3099 |
|
|
3100 |
# setup some links |
# setup some links |
3101 |
%.xsd: |
%.xsd: |
3120 |
oadDriver: |
oadDriver: |
3121 |
\$(LN) \${XAIFBOOSTERROOT}/xaifBooster/algorithms/BasicBlockPreaccumulationReverse/driver/oadDriver \$@ |
\$(LN) \${XAIFBOOSTERROOT}/xaifBooster/algorithms/BasicBlockPreaccumulationReverse/driver/oadDriver \$@ |
3122 |
|
|
3123 |
AD_CLEAN += *_mod.h *_mod.F90 *.FF90 *.mod-whirl temp.sed oad_cp.* postProcess.make postProcess.tag postProcess.comp |
AD_CLEAN += *_mod.h *_mod.F90 *.FF90 *.mod-whirl temp.sed oad_cp.* postProcess.make postProcess.tag postProcess.comp \$(PPEXTRAS:.F=.f) |
3124 |
|
|
3125 |
# ============ end OpenAD specific section ============== |
# ============ end OpenAD specific section ============== |
3126 |
|
|