/[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.220 by jmc, Fri Jun 3 19:53:45 2011 UTC revision 1.234 by jmc, Fri Aug 17 17:27:57 2012 UTC
# Line 297  EOF Line 297  EOF
297  .F.$tfs:  .F.$tfs:
298          $LN \$< \$@          $LN \$< \$@
299  EOF  EOF
300      $MAKE "genmake_hello."$tfs > /dev/null 2>&1      $MAKE -f $MAKEFILE "genmake_hello."$tfs > /dev/null 2>&1
301      RETVAL=$?      RETVAL=$?
302      if test "x$RETVAL" != x0 -o ! -f "genmake_hello."$tfs ; then      if test "x$RETVAL" != x0 -o ! -f "genmake_hello."$tfs ; then
303          if test "x$FS" = x ; then          if test "x$FS" = x ; then
# Line 358  look_for_makedepend()  { Line 358  look_for_makedepend()  {
358                  MAKEDEPEND=                  MAKEDEPEND=
359              fi              fi
360          else          else
361                echo "${MAKEDEPEND}" | grep 'tools.xmakedepend' > /dev/null 2>&1
362                RETVAL=$?
363                if test "x$RETVAL" = x0 ; then
364                    MAKEDEPEND='$(TOOLSDIR)/xmakedepend'
365                fi
366              echo " -->     MAKEDEPEND=${MAKEDEPEND}" >> $LOGFILE              echo " -->     MAKEDEPEND=${MAKEDEPEND}" >> $LOGFILE
367          fi          fi
368      fi      fi
# Line 379  EOF Line 384  EOF
384        stop        stop
385        end        end
386  EOF  EOF
387          makedepend genmake_tc.f > /dev/null 2>&1          makedepend -f $MAKEFILE genmake_tc.f > /dev/null 2>&1
388          RV1=$?          RV1=$?
389          test -f $MAKEFILE  &&  rm -f $MAKEFILE          test -f $MAKEFILE  &&  rm -f $MAKEFILE
390          test -f $MAKEFILE".tst"  &&  mv -f $MAKEFILE".tst" $MAKEFILE          test -f $MAKEFILE".tst"  &&  mv -f $MAKEFILE".tst" $MAKEFILE
# Line 445  build_embed_encode() Line 450  build_embed_encode()
450              RETVAL=$?              RETVAL=$?
451              if test "x$RETVAL" = x0 ; then              if test "x$RETVAL" = x0 ; then
452                  echo "OK"                  echo "OK"
                 DEFINES="$DEFINES -DHAVE_EMBED_SRC"  
453                  return 0                  return 0
454              fi              fi
455          done          done
# Line 457  build_embed_encode() Line 461  build_embed_encode()
461          return 1          return 1
462      fi      fi
463      echo "OK"      echo "OK"
     DEFINES="$DEFINES -DHAVE_EMBED_SRC"  
464  }  }
465    
466  #  look for possible C compilers  #  look for possible C compilers
# Line 779  EOF Line 782  EOF
782      RETVAL=$?      RETVAL=$?
783      if test "x$RETVAL" = x0 ; then      if test "x$RETVAL" = x0 ; then
784          HAVE_CLOC=t          HAVE_CLOC=t
         DEFINES="$DEFINES -DHAVE_CLOC"  
785      fi      fi
786      rm -f genmake_tc*      rm -f genmake_tc*
787      echo " --> set HAVE_CLOC='$HAVE_CLOC'" >> $LOGFILE      echo " --> set HAVE_CLOC='$HAVE_CLOC'" >> $LOGFILE
# Line 841  EOF Line 843  EOF
843      RETVAL=$?      RETVAL=$?
844      if test "x$RETVAL" = x0 ; then      if test "x$RETVAL" = x0 ; then
845          HAVE_SIGREG=t          HAVE_SIGREG=t
         DEFINES="$DEFINES -DHAVE_SIGREG"  
846      fi      fi
847      rm -f genmake_tc*      rm -f genmake_tc*
848      echo " --> set HAVE_SIGREG='$HAVE_SIGREG'" >> $LOGFILE      echo " --> set HAVE_SIGREG='$HAVE_SIGREG'" >> $LOGFILE
849  }  }
850    
851  check_HAVE_SETRLSTK()  {  check_HAVE_SETRLSTK()  {
     if test "x$HAVE_SETRLSTK" = xt ; then  
         DEFINES="$DEFINES -DHAVE_SETRLSTK"  
         return  
     fi    
852      if test ! "x$HAVE_SETRLSTK" = x ; then      if test ! "x$HAVE_SETRLSTK" = x ; then
853          return          return
854      fi      fi
# Line 889  EOF Line 886  EOF
886      RETVAL=$?      RETVAL=$?
887      if test "x$RETVAL" = x0 ; then      if test "x$RETVAL" = x0 ; then
888          HAVE_SETRLSTK=t          HAVE_SETRLSTK=t
         DEFINES="$DEFINES -DHAVE_SETRLSTK"  
889      fi      fi
890      rm -f genmake_tc*      rm -f genmake_tc*
891      echo " --> set HAVE_SETRLSTK='$HAVE_SETRLSTK'" >> $LOGFILE      echo " --> set HAVE_SETRLSTK='$HAVE_SETRLSTK'" >> $LOGFILE
# Line 936  EOF Line 932  EOF
932      RETVAL=$?      RETVAL=$?
933      if test "x$RETVAL" = x0 ; then      if test "x$RETVAL" = x0 ; then
934          HAVE_STAT=t          HAVE_STAT=t
         DEFINES="$DEFINES -DHAVE_STAT"  
935      fi      fi
936      rm -f genmake_tc*      rm -f genmake_tc*
937      echo " --> set HAVE_STAT='$HAVE_STAT'" >> $LOGFILE      echo " --> set HAVE_STAT='$HAVE_STAT'" >> $LOGFILE
# Line 1034  EOF Line 1029  EOF
1029      echo " --> set HAVE_NETCDF='$HAVE_NETCDF'" >> $LOGFILE      echo " --> set HAVE_NETCDF='$HAVE_NETCDF'" >> $LOGFILE
1030  }  }
1031    
1032    check_lapack_libs()  {
1033        if test ! "x$SKIP_LAPACK_CHECK" = x ; then
1034            return
1035        fi
1036        echo >> $LOGFILE
1037        echo "running: check_lapack_libs()" >> $LOGFILE
1038        cat <<EOF > genmake_tla.F
1039          program fgenla
1040          integer info
1041          integer ipiv( 2 )
1042          double precision ab( 4, 2 ), b( 2 )
1043          data ab / 0., 0., 1., 2., 0., 2., 1., 0. /
1044          data b / 1., 1. /
1045          call dgbsv( 2, 1, 1, 1, ab, 4, ipiv, b, 2, info )
1046          IF (info .NE. 0) write(*,*) 'Error:', info
1047          write(*,*) b
1048          end
1049    EOF
1050        echo "===  genmake_tla.F  >>>" > genmake_tla.log
1051        cat genmake_tla.F >> genmake_tla.log
1052        echo "<<<  genmake_tla.F  ===" >> genmake_tla.log
1053        RET_CPP=f
1054        COMM="cat genmake_tla.F | $CPP $DEFINES $INCLUDES"
1055        echo "$COMM" >> genmake_tla.log
1056        eval $COMM > genmake_tla.$FS 2>/dev/null  &&  RET_CPP=t
1057        if test "x$RET_CPP" = xf ; then
1058            echo "  WARNING: CPP failed to pre-process the lapack test." \
1059                >> genmake_tla.log
1060            echo "    Please check that \$INCLUDES is properly set." \
1061                >> genmake_tla.log
1062        fi
1063        echo "$FC $FFLAGS $FOPTIM -c genmake_tla.$FS  \ " >> genmake_tla.log
1064        echo "  &&  $LINK $FFLAGS $FOPTIM -o genmake_tla.o $LIBS" >> genmake_tla.log
1065        $FC $FFLAGS $FOPTIM -c genmake_tla.$FS >> genmake_tla.log 2>&1  \
1066            &&  $LINK $FFLAGS $FOPTIM -o genmake_tla genmake_tla.o $LIBS >> genmake_tla.log 2>&1
1067        RET_COMPILE=$?
1068        cat genmake_tla.log >> $LOGFILE
1069    
1070        # test program execution not always possible (see check_netcdf_libs)
1071        #
1072        #test -x ./genmake_tla  &&  ./genmake_tla >> genmake_tla.log 2>&1
1073        #RETVAL=$?
1074        #if test "x$RET_COMPILE" = x0 -a "x$RETVAL" = x0 ; then
1075    
1076        if test "x$RET_COMPILE" = x0 ; then
1077            HAVE_LAPACK=t
1078            echo "check_lapack: successful" >> $LOGFILE
1079        else
1080            # try again with "-llapack" added to the libs
1081            echo "==> try again with added '-llapack'" > genmake_tla.log
1082            echo "cat genmake_tla.F | $CPP $DEFINES $INCLUDES > genmake_tla.$FS \ " >> genmake_tla.log
1083            echo " &&  $FC $FFLAGS $FOPTIM -c genmake_tla.$FS \ " >> genmake_tla.log
1084            echo " &&  $LINK $FFLAGS $FOPTIM -o genmake_tla genmake_tla.o $LIBS -llapack" >> genmake_tla.log
1085            cat genmake_tla.F | $CPP $DEFINES $INCLUDES > genmake_tla.$FS 2>/dev/null  \
1086                &&  $FC $FFLAGS $FOPTIM -c genmake_tla.$FS >> genmake_tla.log 2>&1  \
1087                &&  $LINK $FFLAGS $FOPTIM -o genmake_tla genmake_tla.o $LIBS -llapack >> genmake_tla.log 2>&1
1088            RET_COMPILE=$?
1089            echo >> $LOGFILE
1090            cat genmake_tla.log >> $LOGFILE
1091            if test "x$RET_COMPILE" = x0 ; then
1092                LIBS="$LIBS -llapack"
1093                HAVE_LAPACK=t
1094                echo "check_lapack: successful" >> $LOGFILE
1095            else
1096            # try again with "-lf77blas -lcblas" added to the libs
1097                echo "==> try again with added '-llapack -lf77blas -lcblas'" > genmake_tla.log
1098                echo "cat genmake_tla.F | $CPP $DEFINES $INCLUDES > genmake_tla.$FS \ " >> genmake_tla.log
1099                echo " &&  $FC $FFLAGS $FOPTIM -c genmake_tla.$FS \ " >> genmake_tla.log
1100                echo " &&  $LINK $FFLAGS $FOPTIM -o genmake_tla genmake_tla.o $LIBS -llapack -lf77blas -lcblas" >> genmake_tla.log
1101                cat genmake_tla.F | $CPP $DEFINES $INCLUDES > genmake_tla.$FS 2>/dev/null  \
1102                    &&  $FC $FFLAGS $FOPTIM -c genmake_tla.$FS >> genmake_tla.log 2>&1  \
1103                    &&  $LINK $FFLAGS $FOPTIM -o genmake_tla genmake_tla.o $LIBS -llapack -lf77blas -lcblas >> genmake_tla.log 2>&1
1104                RET_COMPILE=$?
1105                echo >> $LOGFILE
1106                cat genmake_tla.log >> $LOGFILE
1107                if test "x$RET_COMPILE" = x0 ; then
1108                    LIBS="$LIBS -llapack -lf77blas -lcblas"
1109                    HAVE_LAPACK=t
1110                    echo "check_lapack: successful" >> $LOGFILE
1111                else
1112                # try again with "-latlas" added to the libs
1113                    echo "==> try again with added '-llapack -lf77blas -lcblas -latlas'" > genmake_tla.log
1114                    echo "cat genmake_tla.F | $CPP $DEFINES $INCLUDES > genmake_tla.$FS \ " >> genmake_tla.log
1115                    echo " &&  $FC $FFLAGS $FOPTIM -c genmake_tla.$FS \ " >> genmake_tla.log
1116                    echo " &&  $LINK $FFLAGS $FOPTIM -o genmake_tla genmake_tla.o $LIBS -llapack -lf77blas -lcblas -latlas" >> genmake_tla.log
1117                    cat genmake_tla.F | $CPP $DEFINES $INCLUDES > genmake_tla.$FS 2>/dev/null  \
1118                        &&  $FC $FFLAGS $FOPTIM -c genmake_tla.$FS >> genmake_tla.log 2>&1  \
1119                        &&  $LINK $FFLAGS $FOPTIM -o genmake_tla genmake_tla.o $LIBS -llapack -lf77blas -lcblas -latlas >> genmake_tla.log 2>&1
1120                    RET_COMPILE=$?
1121                    echo >> $LOGFILE
1122                    cat genmake_tla.log >> $LOGFILE
1123                    if test "x$RET_COMPILE" = x0 ; then
1124                        LIBS="$LIBS -llapack -lf77blas -lcblas -latlas"
1125                        HAVE_LAPACK=t
1126                        echo "check_lapack: successful" >> $LOGFILE
1127                    fi
1128                fi
1129            fi
1130        fi
1131        rm -f genmake_tla*
1132        echo " --> set HAVE_LAPACK='$HAVE_LAPACK'" >> $LOGFILE
1133    }
1134    
1135    
1136  ###############################################################################  ###############################################################################
1137  #   Sequential part of script starts here  #   Sequential part of script starts here
# Line 1101  HAVE_STAT= Line 1199  HAVE_STAT=
1199  HAVE_NETCDF=  HAVE_NETCDF=
1200  HAVE_ETIME=  HAVE_ETIME=
1201  IGNORE_TIME=  IGNORE_TIME=
1202    HAVE_LAPACK=
1203    
1204  MODS=  MODS=
1205  TOOLSDIR=  TOOLSDIR=
# Line 1123  MACHINE=`uname -a` Line 1222  MACHINE=`uname -a`
1222  EXECUTABLE=  EXECUTABLE=
1223  EXEHOOK=  EXEHOOK=
1224  EXEDIR=  EXEDIR=
 PACKAGES_CONF=  
1225  IEEE=  IEEE=
1226  if test "x$MITGCM_IEEE" != x ; then  if test "x$MITGCM_IEEE" != x ; then
1227      IEEE=$MITGCM_IEEE      IEEE=$MITGCM_IEEE
# Line 1145  SVD_TAMC_FLAGS= Line 1243  SVD_TAMC_FLAGS=
1243  TAMC_EXTRA=  TAMC_EXTRA=
1244    
1245  #  The following state can be set directly by command-line switches  #  The following state can be set directly by command-line switches
1246  gm_s1="OPTFILE PKG_DEPEND PKG_GROUPS MAKEFILE MAKEDEPEND PLATFORM ROOTDIR MODS DISABLE ENABLE"  gm_s1="OPTFILE PKG_DEPEND PKG_GROUPS DISABLE ENABLE MAKEFILE MAKEDEPEND PLATFORM"
1247  gm_s2="FC CC USE_R4 TS PAPIS PCLS PAPI PCL HPMT IEEE DEVEL GSL MPI OMP DUMPSTATE STANDARDDIRS"  gm_s2="FC CC MPI OMP USE_R4 TS PAPIS PCLS PAPI PCL HPMT IEEE DEVEL GSL FEXTRAFLAGS"
1248    gm_s3="ROOTDIR STANDARDDIRS MODS DUMPSTATE"
1249    
1250  #  The following state is not directly set by command-line switches  #  The following state is not directly set by command-line switches
1251  gm_s3="LN S64 LINK MAKE PACKAGES INCLUDES FFLAGS FOPTIM FEXTRAFLAGS"  gm_s4="LN S64 LINK MAKE PACKAGES INCLUDES FFLAGS FOPTIM"
1252  gm_s4="CFLAGS LIBS KPP KFLAGS1 KFLAGS2 KPPFILES NOOPTFILES NOOPTFLAGS"  gm_s5="CFLAGS LIBS KPP KFLAGS1 KFLAGS2 KPPFILES NOOPTFILES NOOPTFLAGS"
1253  gm_s5="TOOLSDIR SOURCEDIRS INCLUDEDIRS PWD THISHOST THISUSER THISDATE THISVER MACHINE"  gm_s6="TOOLSDIR SOURCEDIRS INCLUDEDIRS EXEDIR EXECUTABLE EXEHOOK"
1254  gm_s6="EXECUTABLE EXEHOOK EXEDIR PACKAGES_CONF"  gm_s7="PWD THISHOST THISUSER THISDATE THISVER MACHINE"
1255  gm_s7="FC_NAMEMANGLE HAVE_NETCDF HAVE_SYSTEM HAVE_FDATE HAVE_ETIME"  gm_s8="FC_NAMEMANGLE HAVE_NETCDF HAVE_SYSTEM HAVE_FDATE HAVE_ETIME HAVE_LAPACK"
1256    
1257  #  The following are all related to adjoint/tangent-linear stuff  #  The following are all related to adjoint/tangent-linear stuff
1258  gm_s10="AUTODIFF_PKG_USED AD_OPTFILE TAMC TAF AD_TAMC_FLAGS AD_TAF_FLAGS"  gm_s10="AUTODIFF_PKG_USED AD_OPTFILE TAMC TAF AD_TAMC_FLAGS AD_TAF_FLAGS"
1259  gm_s11="FTL_TAMC_FLAGS FTL_TAF_FLAGS SVD_TAMC_FLAGS SVD_TAF_FLAGS"  gm_s11="FTL_TAMC_FLAGS FTL_TAF_FLAGS SVD_TAMC_FLAGS SVD_TAF_FLAGS"
1260  gm_s12="TAF_EXTRA TAMC_EXTRA"  gm_s12="TAF_EXTRA TAMC_EXTRA"
1261    
1262  gm_state="COMMANDL $gm_s1 $gm_s2 $gm_s3 $gm_s4 $gm_s5 $gm_s6 $gm_s7"  gm_state="COMMANDL $gm_s1 $gm_s2 $gm_s3 $gm_s4 $gm_s5 $gm_s6 $gm_s7 $gm_s8"
1263  gm_state="$gm_state $gm_s10 $gm_s11 $gm_s12"  gm_state="$gm_state $gm_s10 $gm_s11 $gm_s12"
1264    
1265  cat <<EOF  cat <<EOF
# Line 1352  for ac_option in "$@" ; do Line 1451  for ac_option in "$@" ; do
1451          -ds | --ds)          -ds | --ds)
1452              DUMPSTATE=t ;;              DUMPSTATE=t ;;
1453                    
1454            -extra_flag | --extra_flag)
1455                ac_prev=FEXTRAFLAGS ;;
1456            -extra_flag=* | --extra_flag=*)
1457                FEXTRAFLAGS=$ac_optarg ;;
1458            
1459          -taf_extra | --taf_extra)          -taf_extra | --taf_extra)
1460              ac_prev=TAF_EXTRA ;;              ac_prev=TAF_EXTRA ;;
1461          -taf_extra=* | --taf_extra=*)          -taf_extra=* | --taf_extra=*)
# Line 1435  if test "x$MAKEFILE" = x ; then Line 1539  if test "x$MAKEFILE" = x ; then
1539      MAKEFILE="Makefile"      MAKEFILE="Makefile"
1540  fi  fi
1541    
1542  echo "  getting OPTFILE information:  "  echo "  getting OPTFILE information:"
1543  if test "x${OPTFILE}" = x ; then  if test "x${OPTFILE}" = x ; then
1544      if test "x$MITGCM_OF" = x ; then      if test "x$MITGCM_OF" = x ; then
1545          echo "Warning: no OPTFILE specified so we'll look for possible settings"          echo "Warning: no OPTFILE specified so we'll look for possible settings"
# Line 1464  if test "x$OPTFILE" != xNONE ; then Line 1568  if test "x$OPTFILE" != xNONE ; then
1568      fi      fi
1569  fi  fi
1570    
1571  echo "  getting AD_OPTFILE information:  "  echo "  getting AD_OPTFILE information:"
1572  if test "x${AD_OPTFILE}" = x ; then  if test "x${AD_OPTFILE}" = x ; then
1573      if test "x$MITGCM_AD_OF" = x ; then      if test "x$MITGCM_AD_OF" = x ; then
1574          AD_OPTFILE=$ROOTDIR/tools/adjoint_options/adjoint_default          AD_OPTFILE=$ROOTDIR/tools/adjoint_options/adjoint_default
# Line 1512  EOF Line 1616  EOF
1616  fi  fi
1617  if test "x$GET_FC_VERSION" != x ; then  if test "x$GET_FC_VERSION" != x ; then
1618    echo "Get compiler version using: $FC $GET_FC_VERSION" >> $LOGFILE    echo "Get compiler version using: $FC $GET_FC_VERSION" >> $LOGFILE
1619    $FC $GET_FC_VERSION >> $LOGFILE 2>&1    ff=`echo $FC | sed 's/ .*//'` ; xx=`echo $ff | sed 's/^./& /' | sed 's/ .*//'`
1620      if test $xx != '/' ; then which $ff >> $LOGFILE ; fi
1621      $FC $GET_FC_VERSION > genmake_fc_vers1 2> genmake_fc_vers2
1622      if test -s genmake_fc_vers1 ; then
1623        cat genmake_fc_vers1 >> $LOGFILE
1624      else
1625        cat genmake_fc_vers2 >> $LOGFILE
1626      fi
1627    echo "<-- compiler version ----" >> $LOGFILE    echo "<-- compiler version ----" >> $LOGFILE
1628      rm -f genmake_fc_vers1 genmake_fc_vers2
1629  fi  fi
1630    
1631  if test "x$CC" = x ; then  if test "x$CC" = x ; then
# Line 1750  rm -f genmake_tcomp* Line 1862  rm -f genmake_tcomp*
1862  printf "  Can we call simple C routines (here, \"cloc()\") using $FC...  "  printf "  Can we call simple C routines (here, \"cloc()\") using $FC...  "
1863  check_HAVE_CLOC  check_HAVE_CLOC
1864  if test "x$HAVE_CLOC" != x ; then  if test "x$HAVE_CLOC" != x ; then
1865        DEFINES="$DEFINES -DHAVE_CLOC"
1866      echo "yes"      echo "yes"
1867  else  else
1868      echo "no"      echo "no"
# Line 1764  rm -f genmake_t* Line 1877  rm -f genmake_t*
1877  printf "  Can we unlimit the stack size using $FC...  "  printf "  Can we unlimit the stack size using $FC...  "
1878  check_HAVE_SETRLSTK  check_HAVE_SETRLSTK
1879  if test "x$HAVE_SETRLSTK" = xt ; then  if test "x$HAVE_SETRLSTK" = xt ; then
1880        DEFINES="$DEFINES -DHAVE_SETRLSTK"
1881      echo "yes"      echo "yes"
1882  else  else
1883      echo "no"      echo "no"
# Line 1773  rm -f genmake_t* Line 1887  rm -f genmake_t*
1887  printf "  Can we register a signal handler using $FC...  "  printf "  Can we register a signal handler using $FC...  "
1888  check_HAVE_SIGREG  check_HAVE_SIGREG
1889  if test "x$HAVE_SIGREG" = xt ; then  if test "x$HAVE_SIGREG" = xt ; then
1890        DEFINES="$DEFINES -DHAVE_SIGREG"
1891      echo "yes"      echo "yes"
1892  else  else
1893      echo "no"      echo "no"
# Line 1782  rm -f genmake_t* Line 1897  rm -f genmake_t*
1897  printf "  Can we use stat() through C calls...  "  printf "  Can we use stat() through C calls...  "
1898  check_HAVE_STAT  check_HAVE_STAT
1899  if test "x$HAVE_STAT" != x ; then  if test "x$HAVE_STAT" != x ; then
1900        DEFINES="$DEFINES -DHAVE_STAT"
1901      echo "yes"      echo "yes"
1902  else  else
1903      echo "no"      echo "no"
# Line 1791  rm -f genmake_t* Line 1907  rm -f genmake_t*
1907  printf "  Can we create NetCDF-enabled binaries...  "  printf "  Can we create NetCDF-enabled binaries...  "
1908  check_netcdf_libs  check_netcdf_libs
1909  if test "x$HAVE_NETCDF" != x ; then  if test "x$HAVE_NETCDF" != x ; then
1910        DEFINES="$DEFINES -DHAVE_NETCDF"
1911        echo "yes"
1912    else
1913        echo "no"
1914    fi
1915    
1916    printf "  Can we create LAPACK-enabled binaries...  "
1917    check_lapack_libs
1918    if test "x$HAVE_LAPACK" != x ; then
1919        DEFINES="$DEFINES -DHAVE_LAPACK"
1920      echo "yes"      echo "yes"
1921  else  else
1922      echo "no"      echo "no"
# Line 1802  if test "x$EMBED_SRC" = xt ; then Line 1928  if test "x$EMBED_SRC" = xt ; then
1928  fi  fi
1929  if test "x$EMBED_SRC" = xt ; then  if test "x$EMBED_SRC" = xt ; then
1930      ENABLE="$ENABLE embed_files"      ENABLE="$ENABLE embed_files"
1931    #   DEFINES="$DEFINES -DHAVE_EMBED_SRC"
1932  fi  fi
1933    
1934  printf "\n===  Setting defaults  ===\n"  printf "\n===  Setting defaults  ===\n"
# Line 2107  EOF Line 2234  EOF
2234      fi      fi
2235  fi  fi
2236    
2237    #  Check for package RADTRANS: if LAPACK is not available,
2238    #  then issue a warning that the direct radtrans solver is not available.
2239    if test "x$HAVE_LAPACK" != xt ; then
2240        echo " $PACKAGES " | grep ' radtrans ' > /dev/null 2>&1
2241        RETVAL=$?
2242        if test "x$RETVAL" = x0 ; then
2243            cat <<EOF
2244    *********************************************************************
2245    WARNING: the "radtrans" package was enabled but tests failed to
2246      compile LAPACK applications.  This means that the direct radtrans
2247      solver is not available and compilation will fail if it is enabled.
2248      If you want to use the direct solver, please check that:
2249    
2250      1) LAPACK is correctly installed for this compiler and
2251      2) the LIBS variable (within the "optfile") specifies the correct
2252         LAPACK library to link against.
2253    *********************************************************************
2254    EOF
2255        fi
2256    fi
2257    
2258  if  test "x${PKG_DEPEND}" != x ; then  if  test "x${PKG_DEPEND}" != x ; then
2259    echo "  applying package dependency rules"    echo "  applying package dependency rules"
2260    ck=    ck=
# Line 2640  NOOPTFILES = ${NOOPTFILES} Line 2788  NOOPTFILES = ${NOOPTFILES}
2788  NOOPTFLAGS = ${NOOPTFLAGS}  NOOPTFLAGS = ${NOOPTFLAGS}
2789  # Flags and libraries needed for linking  # Flags and libraries needed for linking
2790  LIBS = ${LIBS}  LIBS = ${LIBS}
2791  # Name of the Mekfile  # Name of the makefile
2792  MAKEFILE=${MAKEFILE}  MAKEFILE=${MAKEFILE}
2793    
2794  EOF  EOF
# Line 2676  all: \$(EXECUTABLE) Line 2824  all: \$(EXECUTABLE)
2824  \$(EXECUTABLE): \$(SPECIAL_FILES) \$(F77_SRC_FILES) \$(C_SRC_FILES) \$(H_SRC_FILES) \$(F90_SRC_FILES) \$(OBJFILES) \$(EMBEDDED_FILES)  \$(EXECUTABLE): \$(SPECIAL_FILES) \$(F77_SRC_FILES) \$(C_SRC_FILES) \$(H_SRC_FILES) \$(F90_SRC_FILES) \$(OBJFILES) \$(EMBEDDED_FILES)
2825          @echo Creating \$@ ...          @echo Creating \$@ ...
2826          \$(LINK) -o \$@ \$(FFLAGS) \$(FOPTIM) \$(OBJFILES) \$(LIBS)          \$(LINK) -o \$@ \$(FFLAGS) \$(FOPTIM) \$(OBJFILES) \$(LIBS)
2827    
2828  depend:  depend:
2829          @make links          @make -f \$(MAKEFILE) links
2830          \$(MAKEDEPEND) -o .$FS \$(DEFINES) \$(INCLUDES) \$(F77_SRC_FILES)          \$(MAKEDEPEND) -f \$(MAKEFILE) -o .$FS \$(DEFINES) \$(INCLUDES) \$(F77_SRC_FILES)
2831          \$(TOOLSDIR)/f90mkdepend >> \$(MAKEFILE)          \$(TOOLSDIR)/f90mkdepend >> \$(MAKEFILE)
2832          -rm -f makedepend.out          -rm -f makedepend.out
2833    
# Line 2688  libmitgcmuv.a: \$(OBJFILES) Line 2837  libmitgcmuv.a: \$(OBJFILES)
2837          ar rcv libmitgcmuv.a \$(OBJFILES)          ar rcv libmitgcmuv.a \$(OBJFILES)
2838          ar d   libmitgcmuv.a main.o          ar d   libmitgcmuv.a main.o
2839    
2840    obj: \$(OBJFILES)
2841    
2842  links: \$(F77_SRC_FILES) \$(C_SRC_FILES) \$(H_SRC_FILES) \$(F90_SRC_FILES) \$(SPECIAL_FILES)  links: \$(F77_SRC_FILES) \$(C_SRC_FILES) \$(H_SRC_FILES) \$(F90_SRC_FILES) \$(SPECIAL_FILES)
2843    
2844  small_f: \$(F77_PP_SRC_FILES) \$(F90_PP_SRC_FILES)  small_f: \$(F77_PP_SRC_FILES) \$(F90_PP_SRC_FILES)
# Line 2705  clean: Line 2856  clean:
2856    
2857  # remove most of the files that "make" and "make depend" generate  # remove most of the files that "make" and "make depend" generate
2858  Clean:  Clean:
2859          @make clean          @make -f \$(MAKEFILE) clean
2860          @make cleanlinks          @make -f \$(MAKEFILE) cleanlinks
2861          -rm -f \$(SPECIAL_FILES) f90mkdepend.log $MAKEFILE.old          -rm -f \$(SPECIAL_FILES) f90mkdepend.log $MAKEFILE.old
2862          -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 taf_ftl.log
2863          -rm -f genmake_warnings genmake_errors make.log          -rm -f genmake_warnings genmake_errors make.log
2864    
2865  # remove also the executable, files that "genmake2" generates (except Makefile)  # remove also the executable, files that "genmake2" generates (except Makefile)
2866  #         and output from a run (plus log files from testreport)  #         and output from a run (plus log files from testreport)
2867  CLEAN:  CLEAN:
2868          @make Clean          @make -f \$(MAKEFILE) Clean
2869          -rm -f \$(EXECUTABLE) \$(EXE_AD) *.bak          -rm -f \$(EXECUTABLE) \$(EXE_AD) \$(EXE_FTL) *.bak
2870          -rm -f $LOGFILE genmake_state genmake_*optfile          -rm -f $LOGFILE genmake_state genmake_*optfile
2871          -rm -f SIZE.h.mpi genmake.tr_log make.tr_log          -rm -f SIZE.h.mpi genmake.tr_log make.tr_log
2872          -find \$(EXEDIR) -name "*.meta" -exec rm {} \;          -find \$(EXEDIR) -name "*.meta" -exec rm {} \;
# Line 2736  ${PACKAGES_DOT_H}: Line 2887  ${PACKAGES_DOT_H}:
2887          @$BASH\$(TOOLSDIR)/convert_cpp_cmd2defines "Warning - this file is automatically generated - do NOT edit" -bPACKAGES_CONFIG_H "Disabled packages:" \$(DISABLED_PACKAGES) " " "Enabled packages:" \$(ENABLED_PACKAGES) > \$@          @$BASH\$(TOOLSDIR)/convert_cpp_cmd2defines "Warning - this file is automatically generated - do NOT edit" -bPACKAGES_CONFIG_H "Disabled packages:" \$(DISABLED_PACKAGES) " " "Enabled packages:" \$(ENABLED_PACKAGES) > \$@
2888  AD_CONFIG.h:  AD_CONFIG.h:
2889          @echo Creating \$@ ...          @echo Creating \$@ ...
2890          @$BASH\$(TOOLSDIR)/convert_cpp_cmd2defines "Warning - this file is automatically generated - do NOT edit" -bAD_CONFIG_H -UALLOW_ADJOINT_RUN -UALLOW_TANGENTLINEAR_RUN -UALLOW_ECCO_OPTIMIZATION > \$@          @$BASH\$(TOOLSDIR)/convert_cpp_cmd2defines "Warning - this file is automatically generated - do NOT edit" -bAD_CONFIG_H -UALLOW_ADJOINT_RUN -UALLOW_TANGENTLINEAR_RUN > \$@
2891  FC_NAMEMANGLE.h:  FC_NAMEMANGLE.h:
2892          @echo Creating \$@ ...          @echo Creating \$@ ...
2893          echo "$FC_NAMEMANGLE" > \$@          echo "$FC_NAMEMANGLE" > \$@
# Line 2850  adtaf: ad_taf_output.$FS Line 3001  adtaf: ad_taf_output.$FS
3001  adtamc: ad_tamc_output.$FS  adtamc: ad_tamc_output.$FS
3002    
3003  ad_input_code.$FS: \$(AD_FILES) \$(H_SRC_FILES) \$(AD_FLOW_FILES)  ad_input_code.$FS: \$(AD_FILES) \$(H_SRC_FILES) \$(AD_FLOW_FILES)
3004          @$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 > ad_config.template
3005          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
3006          -rm -f ad_config.template          -rm -f ad_config.template
3007          @make \$(F77_PP_SRC_FILES)          @make -f \$(MAKEFILE) \$(F77_PP_SRC_FILES)
3008          @make \$(FLOFILES)          @make -f \$(MAKEFILE) \$(FLOFILES)
3009          cat \$(FLOFILES) \$(AD_FILES) | sed -f \$(TOOLSDIR)/remove_comments_sed > ad_input_code.$FS          cat \$(FLOFILES) \$(AD_FILES) | sed -f \$(TOOLSDIR)/remove_comments_sed > ad_input_code.$FS
3010    
3011  ad_taf_output.$FS: ad_input_code.$FS  ad_taf_output.$FS: ad_input_code.$FS
# Line 2883  adonlyfwd: Line 3034  adonlyfwd:
3034  adtrick:  adtrick:
3035          patch < \$(TOOLSDIR)/ad_taf_output.f.adtrick.diff          patch < \$(TOOLSDIR)/ad_taf_output.f.adtrick.diff
3036    
3037    adobj: ad_taf_output.o \$(OBJFILES)
3038    
3039  # ... FTL ...  # ... FTL ...
3040  ftlall: ftl_taf  ftlall: \$(EXE_FTL)
3041  ftltaf: ftl_taf_output.$FS  ftltaf: ftl_taf_output.$FS
3042  ftltamc: ftl_tamc_output.$FS  ftltamc: ftl_tamc_output.$FS
3043    
3044  ftl_input_code.$FS: \$(AD_FILES) \$(H_SRC_FILES)  ftl_input_code.$FS: \$(AD_FILES) \$(H_SRC_FILES)
3045          @$BASH\$(TOOLSDIR)/convert_cpp_cmd2defines "Warning - this file is automatically generated - do NOT edit" -UALLOW_ADJOINT_RUN -DALLOW_TANGENTLINEAR_RUN -UALLOW_ECCO_OPTIMIZATION > ftl_config.template          @$BASH\$(TOOLSDIR)/convert_cpp_cmd2defines "Warning - this file is automatically generated - do NOT edit" -UALLOW_ADJOINT_RUN -DALLOW_TANGENTLINEAR_RUN > ftl_config.template
3046          cmp ftl_config.template AD_CONFIG.h || cat ftl_config.template > AD_CONFIG.h          cmp ftl_config.template AD_CONFIG.h || cat ftl_config.template > AD_CONFIG.h
3047          -rm -f ftl_config.template          -rm -f ftl_config.template
3048          @make \$(F77_PP_SRC_FILES)          @make -f \$(MAKEFILE) \$(F77_PP_SRC_FILES)
3049          @make \$(AD_FLOW_FILES)          @make -f \$(MAKEFILE) \$(AD_FLOW_FILES)
3050          cat \$(AD_FLOW_FILES) \$(AD_FILES) > ftl_input_code.$FS          cat \$(AD_FLOW_FILES) \$(AD_FILES) | sed -f \$(TOOLSDIR)/remove_comments_sed > ftl_input_code.$FS
3051    
3052  ftl_taf_output.$FS: ftl_input_code.$FS  ftl_taf_output.$FS: ftl_input_code.$FS
3053          \$(TAF) \$(FTL_TAF_FLAGS) \$(TAF_EXTRA) ftl_input_code.$FS          \$(TAF) \$(FTL_TAF_FLAGS) \$(TAF_EXTRA) ftl_input_code.$FS
# Line 2906  ftltafonly: Line 3059  ftltafonly:
3059          ls -l ftl_input_code_ftl.$FS          ls -l ftl_input_code_ftl.$FS
3060          cat ftl_input_code_ftl.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ftl_taf_output.$FS          cat ftl_input_code_ftl.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ftl_taf_output.$FS
3061    
3062  ftl_taf: ftl_taf_output.o \$(OBJFILES)  \${EXE_FTL}: ftl_taf_output.o \$(OBJFILES)
3063          \$(LINK) -o ${EXE_FTL} \$(FFLAGS) \$(FOPTIM) \$(OBJFILES) ftl_taf_output.o \$(LIBS)          \$(LINK) -o \${EXE_FTL} \$(FFLAGS) \$(FOPTIM) \$(OBJFILES) ftl_taf_output.o \$(LIBS)
3064    
3065  ftl_tamc_output.$FS: ftl_input_code.$FS  ftl_tamc_output.$FS: ftl_input_code.$FS
3066          \$(TAMC) \$(FTL_TAMC_FLAGS) \$(TAMC_EXTRA) ftl_input_code.$FS          \$(TAMC) \$(FTL_TAMC_FLAGS) \$(TAMC_EXTRA) ftl_input_code.$FS
# Line 2936  svd_touch: Line 3089  svd_touch:
3089          touch ad_taf_output.$FS ftl_taf_output.$FS          touch ad_taf_output.$FS ftl_taf_output.$FS
3090          \$(FC) \$(FFLAGS) \$(FOPTIM) -c ad_taf_output.$FS          \$(FC) \$(FFLAGS) \$(FOPTIM) -c ad_taf_output.$FS
3091          \$(FC) \$(FFLAGS) \$(FOPTIM) -c ftl_taf_output.$FS          \$(FC) \$(FFLAGS) \$(FOPTIM) -c ftl_taf_output.$FS
3092          @$BASH\$(TOOLSDIR)/convert_cpp_cmd2defines "Warning - this file is automatically generated - do NOT edit" -UALLOW_ADJOINT_RUN -DALLOW_TANGENTLINEAR_RUN -UALLOW_ECCO_OPTIMIZATION > ftl_config.template          @$BASH\$(TOOLSDIR)/convert_cpp_cmd2defines "Warning - this file is automatically generated - do NOT edit" -UALLOW_ADJOINT_RUN -DALLOW_TANGENTLINEAR_RUN > ftl_config.template
3093          cmp ftl_config.template AD_CONFIG.h || cat ftl_config.template > AD_CONFIG.h          cmp ftl_config.template AD_CONFIG.h || cat ftl_config.template > AD_CONFIG.h
3094          -rm -f ftl_config.template          -rm -f ftl_config.template
3095    
# Line 3013  CB2M_F90_PP_SRC_FILES=\$(addsuffix _mod. Line 3166  CB2M_F90_PP_SRC_FILES=\$(addsuffix _mod.
3166    
3167  .PHONY: adDepend  .PHONY: adDepend
3168  adDepend: \$(ALL_LINKED_FILES) \$(addsuffix _mod.h, \$(CB2M_F90_SRC_NAMES)) \$(addsuffix _mod.FF90, \$(CB2M_F90_SRC_NAMES)) \$(F77_SRC_FILES:.F=_cb2m.FF90)  adDepend: \$(ALL_LINKED_FILES) \$(addsuffix _mod.h, \$(CB2M_F90_SRC_NAMES)) \$(addsuffix _mod.FF90, \$(CB2M_F90_SRC_NAMES)) \$(F77_SRC_FILES:.F=_cb2m.FF90)
3169          \$(MAKEDEPEND) -o .$FS \$(DEFINES) \$(INCLUDES) \$(F77_SRC_FILES)          \$(MAKEDEPEND) -f \$(MAKEFILE) -o .$FS \$(DEFINES) \$(INCLUDES) \$(F77_SRC_FILES)
3170          \$(TOOLSDIR)/f90mkdepend >> \$(MAKEFILE)          \$(TOOLSDIR)/f90mkdepend >> \$(MAKEFILE)
3171          -rm -f makedepend.out          -rm -f makedepend.out
3172    
# Line 3152  postProcess.tag: ad_input_code_sf.w2f.pr Line 3305  postProcess.tag: ad_input_code_sf.w2f.pr
3305          # this step also creates the file postProcess.make but we cannot          # this step also creates the file postProcess.make but we cannot
3306          # 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
3307          # the include directive above for any rule, e.g. make clean          # the include directive above for any rule, e.g. make clean
3308          ./postProcess.py --progress --timing --outputFormat=fixed -m r -i ../OAD_support/ad_inline.f --width 4 \$<          ./postProcess.py --progress --timing --infoUnitFile w2f__types.f90 --outputFormat=fixed -m r -i ../OAD_support/ad_inline.f --width 4 \$<
3309    
3310  # setup some links  # setup some links
3311  %.xsd:  %.xsd:
# Line 3236  else Line 3389  else
3389      fi      fi
3390  fi  fi
3391  if test ! -f AD_CONFIG.h ; then  if test ! -f AD_CONFIG.h ; then
3392      $BASH $TOOLSDIR/convert_cpp_cmd2defines "Warning - this file is automatically generated - do NOT edit" -UALLOW_ADJOINT_RUN -UALLOW_TANGENTLINEAR_RUN -UALLOW_ECCO_OPTIMIZATION > AD_CONFIG.h      $BASH $TOOLSDIR/convert_cpp_cmd2defines "Warning - this file is automatically generated - do NOT edit" -UALLOW_ADJOINT_RUN -UALLOW_TANGENTLINEAR_RUN > AD_CONFIG.h
3393  fi  fi
3394    
3395  #  Write the "state" for future records  #  Write the "state" for future records
# Line 3245  if test "x$DUMPSTATE" = xt ; then Line 3398  if test "x$DUMPSTATE" = xt ; then
3398      for i in $gm_state ; do      for i in $gm_state ; do
3399          t1="t2=\$$i"          t1="t2=\$$i"
3400          eval $t1          eval $t1
3401          echo "$i='$t2'" >> genmake_state          echo "$i='$t2'" | sed -e 's/  */ /g' >> genmake_state
3402      done      done
3403  fi  fi

Legend:
Removed from v.1.220  
changed lines
  Added in v.1.234

  ViewVC Help
Powered by ViewVC 1.1.22