/[MITgcm]/MITgcm/tools/genmake2
ViewVC logotype

Diff of /MITgcm/tools/genmake2

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.182 by utke, Wed Jan 14 17:02:01 2009 UTC revision 1.191 by jmc, Wed Apr 22 19:21:18 2009 UTC
# Line 611  Usage: "$0" [OPTIONS] Line 611  Usage: "$0" [OPTIONS]
611            set to PATH. i.e. Include files from \$PATH/include, link to libraries            set to PATH. i.e. Include files from \$PATH/include, link to libraries
612            from \$PATH/lib and use binaries from \$PATH/bin.            from \$PATH/lib and use binaries from \$PATH/bin.
613    
614        -omp | --omp
615              Activate OpenMP code + use Compiler option OMPFLAG
616        -omp=OMPFLAG | --omp=OMPFLAG
617              Activate OpenMP code + use Compiler option OMPFLAG
618    
619      -es | --es | -embed-source | --embed-source      -es | --es | -embed-source | --embed-source
620            Embed a tarball containing the full source code            Embed a tarball containing the full source code
621            (including the Makefile, etc.) used to build the            (including the Makefile, etc.) used to build the
# Line 1058  NOOPTFILES= Line 1063  NOOPTFILES=
1063  NOOPTFLAGS=  NOOPTFLAGS=
1064  MPI=  MPI=
1065  MPIPATH=  MPIPATH=
1066    OMP=
1067    OMPFLAG=
1068  TS=  TS=
1069  PAPIS=  PAPIS=
1070  PCLS=  PCLS=
# Line 1125  TAMC_EXTRA= Line 1132  TAMC_EXTRA=
1132    
1133  #  The following state can be set directly by command-line switches  #  The following state can be set directly by command-line switches
1134  gm_s1="OPTFILE PDEPEND PDEFAULT MAKEFILE PLATFORM ROOTDIR MODS DISABLE ENABLE"  gm_s1="OPTFILE PDEPEND PDEFAULT MAKEFILE PLATFORM ROOTDIR MODS DISABLE ENABLE"
1135  gm_s2="FC CPP IEEE TS PAPIS PCLS PAPI PCL HPMT GSL DEVEL MPI JAM DUMPSTATE STANDARDDIRS"  gm_s2="FC CPP IEEE TS PAPIS PCLS PAPI PCL HPMT GSL DEVEL MPI OMP DUMPSTATE STANDARDDIRS"
1136    
1137  #  The following state is not directly set by command-line switches  #  The following state is not directly set by command-line switches
1138  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"
# Line 1326  for ac_option in "$@" ; do Line 1333  for ac_option in "$@" ; do
1333              MPIPATH=$ac_optarg              MPIPATH=$ac_optarg
1334              MPI=true ;;              MPI=true ;;
1335                    
1336  #       -jam | --jam)          -omp | --omp)
1337  #           JAM=1 ;;              OMP=true ;;
1338  #       -nojam | --nojam)          -omp=* | --omp=*)
1339  #           JAM=0 ;;              OMPFLAG=$ac_optarg
1340                OMP=true ;;
1341                    
1342          -ds | --ds)          -ds | --ds)
1343              DUMPSTATE=t ;;              DUMPSTATE=t ;;
# Line 1567  if test ! "x$MPI" = x ; then Line 1575  if test ! "x$MPI" = x ; then
1575        echo "  Turning on MPI cpp macros"        echo "  Turning on MPI cpp macros"
1576        DEFINES="$DEFINES -DALLOW_USE_MPI -DALWAYS_USE_MPI"        DEFINES="$DEFINES -DALLOW_USE_MPI -DALWAYS_USE_MPI"
1577  fi  fi
1578    if test ! "x$OMP" = x ; then
1579          echo "  Add OMPFLAG and turn on OpenMP cpp macros"
1580          FFLAGS="$FFLAGS $OMPFLAG"
1581          F90FLAGS="$F90FLAGS $OMPFLAG"
1582          DEFINES="$DEFINES -DUSE_OMP_THREADING"
1583    fi
1584    
1585  if test ! "x$TS" = x ; then  if test ! "x$TS" = x ; then
1586        echo "  Turning on timing per timestep"        echo "  Turning on timing per timestep"
# Line 1775  fi Line 1789  fi
1789    
1790    
1791  printf "\n===  Setting defaults  ===\n"  printf "\n===  Setting defaults  ===\n"
1792  printf "  Adding MODS directories:  "  printf "  Adding MODS directories: "
1793  for d in $MODS ; do  for d in $MODS ; do
1794      if test ! -d $d ; then      if test ! -d $d ; then
1795          echo          echo
1796          echo "Error: MODS directory \"$d\" not found!"          echo "Error: MODS directory \"$d\" not found!"
1797          exit 1          exit 1
1798      else      else
1799          printf " $d"          printf "$d "
1800          SOURCEDIRS="$SOURCEDIRS $d"          SOURCEDIRS="$SOURCEDIRS $d"
1801          INCLUDEDIRS="$INCLUDEDIRS $d"          INCLUDEDIRS="$INCLUDEDIRS $d"
1802      fi      fi
# Line 2528  else Line 2542  else
2542      echo "EMBEDDED_FILES = " >>$MAKEFILE      echo "EMBEDDED_FILES = " >>$MAKEFILE
2543  fi  fi
2544    
 #  Note: figure out some way to add Hyades JAM libraries here  
2545  cat >>$MAKEFILE <<EOF  cat >>$MAKEFILE <<EOF
2546  # Unix ln (link)  # Unix ln (link)
2547  LN = ${LN}  LN = ${LN}
# Line 2727  EOF Line 2740  EOF
2740  #===  Automatic Differentiation Rules  ===  #===  Automatic Differentiation Rules  ===
2741  #===  for TAMC/TAF  ======================  #===  for TAMC/TAF  ======================
2742    
2743  if test "x$OPENAD" == x ; then  if test "x$OPENAD" = x ; then
2744    
2745  cat >>$MAKEFILE <<EOF  cat >>$MAKEFILE <<EOF
2746    
# Line 2768  adall: \$(EXE_AD) Line 2781  adall: \$(EXE_AD)
2781  adtaf: ad_taf_output.$FS  adtaf: ad_taf_output.$FS
2782  adtamc: ad_tamc_output.$FS  adtamc: ad_tamc_output.$FS
2783    
2784  ad_input_code.$FS: \$(AD_FILES) \$(H_SRC_FILES)  ad_input_code.$FS: \$(AD_FILES) \$(H_SRC_FILES) \$(AD_FLOW_FILES)
2785          @$BASH\$(TOOLSDIR)/convert_cpp_cmd2defines "Warning - this file is automatically generated - do NOT edit" -DALLOW_ADJOINT_RUN -UALLOW_TANGENTLINEAR_RUN -UALLOW_ECCO_OPTIMIZATION > ad_config.template          @$BASH\$(TOOLSDIR)/convert_cpp_cmd2defines "Warning - this file is automatically generated - do NOT edit" -DALLOW_ADJOINT_RUN -UALLOW_TANGENTLINEAR_RUN -UALLOW_ECCO_OPTIMIZATION > ad_config.template
2786          cmp ad_config.template AD_CONFIG.h || cat ad_config.template > AD_CONFIG.h          cmp ad_config.template AD_CONFIG.h || cat ad_config.template > AD_CONFIG.h
2787          -rm -f ad_config.template          -rm -f ad_config.template
# Line 3029  ad_input_code_sf.w2f.pre.xaif : ad_input Line 3042  ad_input_code_sf.w2f.pre.xaif : ad_input
3042          ./whirl2xaif -s -n --debug 1 -o \$@ \$<          ./whirl2xaif -s -n --debug 1 -o \$@ \$<
3043    
3044  # XAIF -> XAIF'  # XAIF -> XAIF'
3045  ad_input_code_sf.w2f.pre.xb.xaif : ad_input_code_sf.w2f.pre.xaif xaif.xsd xaif_base.xsd xaif_inlinable_intrinsics.xsd xaif_derivative_propagator.xsd xaif_output.xsd openad_adm  ad_input_code_sf.w2f.pre.xb.xaif : ad_input_code_sf.w2f.pre.xaif xaif.xsd xaif_base.xsd xaif_inlinable_intrinsics.xsd xaif_derivative_propagator.xsd xaif_output.xsd oadDriver
3046          ./openad_adm -f -t forward_step -i \$< -c \${XAIFSCHEMAROOT}/schema/examples/inlinable_intrinsics.xaif -o \$@ -I -r          ./oadDriver -f -t forward_step -i \$< -c \${XAIFSCHEMAROOT}/schema/examples/inlinable_intrinsics.xaif -o \$@ -I -r
3047    
3048  # XAIF' -> WHIRL'  # XAIF' -> WHIRL'
3049  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
# Line 3044  ad_input_code_sf.w2f.pre.xb.x2w.w2f.f$FS Line 3057  ad_input_code_sf.w2f.pre.xb.x2w.w2f.f$FS
3057  ad_input_code_sf.w2f.pre.xb.x2w.w2f.td.f$FS90: ad_input_code_sf.w2f.pre.xb.x2w.w2f.f$FS90 ../OAD_support/insertTemplateDir.bash  ad_input_code_sf.w2f.pre.xb.x2w.w2f.td.f$FS90: ad_input_code_sf.w2f.pre.xb.x2w.w2f.f$FS90 ../OAD_support/insertTemplateDir.bash
3058          ../OAD_support/insertTemplateDir.bash \$< \$@          ../OAD_support/insertTemplateDir.bash \$< \$@
3059    
3060    PPEXTRAS=\$(wildcard ../OAD_support/ad_template.*.F) ../OAD_support/ad_inline.F
3061  # postprocess F'  # postprocess F'
3062  ad_input_code_sf.w2f.pre.xb.x2w.w2f.td.pp.f$FS90: ad_input_code_sf.w2f.pre.xb.x2w.w2f.td.f$FS90 multi-pp.pl ../OAD_support/ad_inline.f \$(wildcard ../OAD_support/ad_template.*.f)  ad_input_code_sf.w2f.pre.xb.x2w.w2f.td.pp.f$FS90: ad_input_code_sf.w2f.pre.xb.x2w.w2f.td.f$FS90 postProcess.py \$(PPEXTRAS:.F=.f)
3063          perl multi-pp.pl -inline=../OAD_support/ad_inline.f \$<          ./postProcess.py -m r -i ../OAD_support/ad_inline.f -o \$@ \$<
         # the postprocessor still gets the name wrong  
         cat \$<.pp | sed 's/RETURN//' > \$@  
3064    
3065  # extract all transformed modules  # extract all transformed modules
3066  all_mods.xb.x2w.w2f.pp.f$FS90: ad_input_code_sf.w2f.pre.xb.x2w.w2f.td.pp.f$FS90  all_mods.xb.x2w.w2f.pp.f$FS90: ad_input_code_sf.w2f.pre.xb.x2w.w2f.td.pp.f$FS90
# Line 3075  mfef90: Line 3087  mfef90:
3087  whirl2xaif xaif2whirl:  whirl2xaif xaif2whirl:
3088          \$(LN) \${OPENADFORTTK}/bin/\$@ .          \$(LN) \${OPENADFORTTK}/bin/\$@ .
3089    
3090  %.pl:  preProcess.py postProcess.py:
         \$(LN) \${OPENADFORTTK}/bin/\$@ .  
   
 preProcess.py:  
3091          \$(LN) \${OPENADFORTTK_BASE}/tools/SourceProcessing/\$@ .          \$(LN) \${OPENADFORTTK_BASE}/tools/SourceProcessing/\$@ .
3092    
3093  whirl2f whirl2f_be:  whirl2f whirl2f_be:
3094          \$(LN) \${OPEN64ROOT}/whirl2f/\$@ .          \$(LN) \${OPEN64ROOT}/whirl2f/\$@ .
3095    
3096  openad_adm:  oadDriver:
3097          \$(LN) \${XAIFBOOSTERROOT}/xaifBooster/algorithms/BasicBlockPreaccumulationReverse/test/t \$@          \$(LN) \${XAIFBOOSTERROOT}/xaifBooster/algorithms/BasicBlockPreaccumulationReverse/driver/oadDriver \$@
3098    
3099  # ============ end OpenAD specific section ==============  # ============ end OpenAD specific section ==============
3100    

Legend:
Removed from v.1.182  
changed lines
  Added in v.1.191

  ViewVC Help
Powered by ViewVC 1.1.22