/[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.147 by ce107, Fri May 5 19:00:28 2006 UTC revision 1.157 by heimbach, Sat Nov 4 21:01:37 2006 UTC
# Line 767  EOF Line 767  EOF
767    
768    
769  check_HAVE_SIGREG()  {  check_HAVE_SIGREG()  {
770        if test ! "x$HAVE_SIGREG" = x ; then
771            return
772        fi
773      get_fortran_c_namemangling      get_fortran_c_namemangling
774      cat <<EOF > genmake_tc_1.c      cat <<EOF > genmake_tc_1.c
775  $FC_NAMEMANGLE  $FC_NAMEMANGLE
# Line 824  EOF Line 827  EOF
827    
828    
829  check_HAVE_SETRLSTK()  {  check_HAVE_SETRLSTK()  {
830        if test "x$HAVE_SETRLSTK" = xt ; then
831            DEFINES="$DEFINES -DHAVE_SETRLSTK"
832            return
833        fi  
834        if test ! "x$HAVE_SETRLSTK" = x ; then
835            return
836        fi
837      get_fortran_c_namemangling      get_fortran_c_namemangling
838      cat <<EOF > genmake_tc_1.c      cat <<EOF > genmake_tc_1.c
839  $FC_NAMEMANGLE  $FC_NAMEMANGLE
# Line 934  EOF Line 944  EOF
944      cat genmake_tnc.F >> genmake_tnc.log      cat genmake_tnc.F >> genmake_tnc.log
945      echo "===  genmake_tnc.F  ===" >> genmake_tnc.log      echo "===  genmake_tnc.F  ===" >> genmake_tnc.log
946      RET_CPP=f      RET_CPP=f
947      COMM="$CPP $DEFINES $INCLUDES genmake_tnc.F"      COMM="cat genmake_tnc.F | $CPP $DEFINES $INCLUDES"
948      echo "$COMM" >> genmake_tnc.log      echo "$COMM" >> genmake_tnc.log
949      $COMM > genmake_tnc.$FS 2>/dev/null  &&  RET_CPP=t      eval $COMM > genmake_tnc.$FS 2>/dev/null  &&  RET_CPP=t
950      if test "x$RET_CPP" = xf ; then      if test "x$RET_CPP" = xf ; then
951          echo "  WARNING: CPP failed to pre-process the netcdf test." \          echo "  WARNING: CPP failed to pre-process the netcdf test." \
952              >> genmake_tnc.log              >> genmake_tnc.log
# Line 944  EOF Line 954  EOF
954              >> genmake_tnc.log              >> genmake_tnc.log
955      fi      fi
956      echo "$FC $FFLAGS $FOPTIM -c genmake_tnc.$FS  \ " >> genmake_tnc.log      echo "$FC $FFLAGS $FOPTIM -c genmake_tnc.$FS  \ " >> genmake_tnc.log
957      echo "  &&  $LINK -o genmake_tnc.o $LIBS" >> genmake_tnc.log      echo "  &&  $LINK $FFLAGS $FOPTIM -o genmake_tnc.o $LIBS" >> genmake_tnc.log
958      $FC $FFLAGS $FOPTIM -c genmake_tnc.$FS >> genmake_tnc.log 2>&1  \      $FC $FFLAGS $FOPTIM -c genmake_tnc.$FS >> genmake_tnc.log 2>&1  \
959          &&  $LINK -o genmake_tnc genmake_tnc.o $LIBS >> genmake_tnc.log 2>&1          &&  $LINK $FFLAGS $FOPTIM -o genmake_tnc genmake_tnc.o $LIBS >> genmake_tnc.log 2>&1
960      RET_COMPILE=$?      RET_COMPILE=$?
961      cat genmake_tnc.log >> genmake_warnings      cat genmake_tnc.log >> genmake_warnings
962    
# Line 962  EOF Line 972  EOF
972      else      else
973          # try again with "-lnetcdf" added to the libs          # try again with "-lnetcdf" added to the libs
974          echo "try again with added '-lnetcdf'" > genmake_tnc.log          echo "try again with added '-lnetcdf'" > genmake_tnc.log
975          echo "$CPP $DEFINES $INCLUDES genmake_tnc.F > genmake_tnc.$FS \ " >> genmake_tnc.log          echo "cat genmake_tnc.F | $CPP $DEFINES $INCLUDES > genmake_tnc.$FS \ " >> genmake_tnc.log
976          echo " &&  $FC $FFLAGS $FOPTIM -c genmake_tnc.$FS \ " >> genmake_tnc.log          echo " &&  $FC $FFLAGS $FOPTIM -c genmake_tnc.$FS \ " >> genmake_tnc.log
977          echo " &&  $LINK -o genmake_tnc genmake_tnc.o $LIBS -lnetcdf" >> genmake_tnc.log          echo " &&  $LINK $FFLAGS $FOPTIM -o genmake_tnc genmake_tnc.o $LIBS -lnetcdf" >> genmake_tnc.log
978          $CPP $DEFINES $INCLUDES genmake_tnc.F > genmake_tnc.$FS 2>/dev/null  \          cat genmake_tnc.F | $CPP $DEFINES $INCLUDES > genmake_tnc.$FS 2>/dev/null  \
979              &&  $FC $FFLAGS $FOPTIM -c genmake_tnc.$FS >> genmake_tnc.log 2>&1  \              &&  $FC $FFLAGS $FOPTIM -c genmake_tnc.$FS >> genmake_tnc.log 2>&1  \
980              &&  $LINK -o genmake_tnc genmake_tnc.o $LIBS -lnetcdf >> genmake_tnc.log 2>&1              &&  $LINK $FFLAGS $FOPTIM -o genmake_tnc genmake_tnc.o $LIBS -lnetcdf >> genmake_tnc.log 2>&1
981          RET_COMPILE=$?          RET_COMPILE=$?
982          cat genmake_tnc.log >> genmake_warnings          cat genmake_tnc.log >> genmake_warnings
983          if test "x$RET_COMPILE" = x0 ; then          if test "x$RET_COMPILE" = x0 ; then
# Line 1033  HAVE_SYSTEM= Line 1043  HAVE_SYSTEM=
1043  HAVE_FDATE=  HAVE_FDATE=
1044  FC_NAMEMANGLE=  FC_NAMEMANGLE=
1045  HAVE_CLOC=  HAVE_CLOC=
1046  HAVE_SETRLSTK=  # HAVE_SETRLSTK=
1047  HAVE_STAT=  HAVE_STAT=
1048  HAVE_NETCDF=  HAVE_NETCDF=
1049  HAVE_ETIME=  HAVE_ETIME=
# Line 1342  fi Line 1352  fi
1352  #  Find the MITgcm ${ROOTDIR}  #  Find the MITgcm ${ROOTDIR}
1353  if test "x${ROOTDIR}" = x ; then  if test "x${ROOTDIR}" = x ; then
1354      tmp=`echo $PWD | sed -e 's/\// /g' | $AWK '{print $NR}'`      tmp=`echo $PWD | sed -e 's/\// /g' | $AWK '{print $NR}'`
1355      if test "x$tmp" = "xbin" -a -d ../model -a -d ../eesup -a -d ../pkg ; then      if test "x$tmp" = "xbin" -a -d ../model -a -d ../eesupp -a -d ../pkg ; then
1356          ROOTDIR=".."          ROOTDIR=".."
1357      else      else
1358          for d in . .. ../.. ../../.. ../../../.. ../../../../.. ; do          for d in . .. ../.. ../../.. ../../../.. ../../../../.. ; do
# Line 1593  if test ! "x$HPMT" = x ; then Line 1603  if test ! "x$HPMT" = x ; then
1603            INCLUDES="$INCLUDES $HPMTINC"            INCLUDES="$INCLUDES $HPMTINC"
1604            LIBS="$LIBS $HPMTLIB"            LIBS="$LIBS $HPMTLIB"
1605        fi        fi
1606          fi
1607  fi  fi
1608  if test ! "x$GSL" = x ; then  if test ! "x$GSL" = x ; then
1609        echo "  Turning on use of GSL to control floating point calculations"        echo "  Turning on use of GSL to control floating point calculations"
# Line 1680  rm -f genmake_t* Line 1691  rm -f genmake_t*
1691    
1692  printf "  Can we unlimit the stack size using $FC...  "  printf "  Can we unlimit the stack size using $FC...  "
1693  check_HAVE_SETRLSTK  check_HAVE_SETRLSTK
1694  if test "x$HAVE_SETRLSTK" != x ; then  if test "x$HAVE_SETRLSTK" = xt ; then
1695      echo "yes"      echo "yes"
1696  else  else
1697      echo "no"      echo "no"
# Line 1689  rm -f genmake_t* Line 1700  rm -f genmake_t*
1700    
1701  printf "  Can we register a signal handler using $FC...  "  printf "  Can we register a signal handler using $FC...  "
1702  check_HAVE_SIGREG  check_HAVE_SIGREG
1703  if test "x$HAVE_SIGREG" != x ; then  if test "x$HAVE_SIGREG" = xt ; then
1704      echo "yes"      echo "yes"
1705  else  else
1706      echo "no"      echo "no"
# Line 1807  if test -r $ROOTDIR"/eesupp/src/Makefile Line 1818  if test -r $ROOTDIR"/eesupp/src/Makefile
1818      fi      fi
1819  fi  fi
1820    
1821  #same for exch2  #same for pkg/exch2 and pkg/regrid
1822  if test -r $ROOTDIR"/pkg/exch2/Makefile" ; then  for pdir in exch2 regrid ; do
1823      echo "  Making source files in exch2 from  templates"      if test -r $ROOTDIR"/pkg/${pdir}/Makefile" ; then
1824      ( cd $ROOTDIR"/pkg/exch2/" && $MAKE ) > make_exch2.errors 2>&1          echo "  Making source files in pkg/${pdir} from templates"
1825      RETVAL=$?          ( cd $ROOTDIR"/pkg/"${pdir} && $MAKE ) > make_${pdir}.errors 2>&1
1826      if test "x${RETVAL}" = x0 ; then          RETVAL=$?
1827          rm -f make_exch2.errors          if test "x${RETVAL}" = x0 ; then
1828      else              rm -f make_${pdir}.errors
1829          echo "Error: problem encountered while building source files in exch2:"          else
1830          cat make_exch2.errors 1>&2              echo "Error: problem encountered while building source files in pkg/${pdir}:"
1831          exit 1              cat make_${pdir}.errors 1>&2
1832                exit 1
1833            fi
1834      fi      fi
1835  fi  done
1836    
1837  printf "\n===  Determining package settings  ===\n"  printf "\n===  Determining package settings  ===\n"
1838  if  test "x${PDEPEND}" = x ; then  if  test "x${PDEPEND}" = x ; then
# Line 2194  if test ! "x$DIVA" = x ; then Line 2207  if test ! "x$DIVA" = x ; then
2207          perl -i -pe 's/MPI_DISPLACEMENT_CURRENT=-1_8/MPI_DISPLACEMENT_CURRENT=-1/g' mpi_headers/mpif.h          perl -i -pe 's/MPI_DISPLACEMENT_CURRENT=-1_8/MPI_DISPLACEMENT_CURRENT=-1/g' mpi_headers/mpif.h
2208      else      else
2209          echo " We cannot create a copy of mpif.h!"          echo " We cannot create a copy of mpif.h!"
2210          exit -1  #       exit -1
2211      fi      fi
2212  fi  fi
2213    
# Line 2455  output.txt: \$(EXECUTABLE) Line 2468  output.txt: \$(EXECUTABLE)
2468          @\$(EXECUTABLE) > \$@          @\$(EXECUTABLE) > \$@
2469    
2470  clean:  clean:
2471          -rm -rf *.o *.$FS *.p *.$FS90 *.mod ${RMFILES} work.{pc,pcl} *.template          -rm -rf *.p *.$FS90 *.mod ${RMFILES} work.{pc,pcl} *.template
2472            -rm -rf *.o
2473            -rm -rf *.$FS
2474  Clean:  Clean:
2475          @make clean          @make clean
2476          @make cleanlinks          @make cleanlinks
# Line 2466  CLEAN: Line 2481  CLEAN:
2481          -find \$(EXEDIR) -name "*.meta" -exec rm {} \;          -find \$(EXEDIR) -name "*.meta" -exec rm {} \;
2482          -find \$(EXEDIR) -name "*.data" -exec rm {} \;          -find \$(EXEDIR) -name "*.data" -exec rm {} \;
2483          -find \$(EXEDIR) -name "fort.*" -exec rm {} \;          -find \$(EXEDIR) -name "fort.*" -exec rm {} \;
2484          -rm -f \$(EXECUTABLE) *.txt STD* *diagnostics.log datetime          -rm -f \$(EXECUTABLE) \$(EXE_AD) *.txt STD* *diagnostics.log datetime
2485          -rm -rf mnc_test_*          -rm -rf mnc_test_*
2486    
2487  #eh3 Makefile: makefile  #eh3 Makefile: makefile
# Line 2554  ad_vars="$ad_vars FTL_TAMC_FLAGS FTL_TAF Line 2569  ad_vars="$ad_vars FTL_TAMC_FLAGS FTL_TAF
2569  ad_vars="$ad_vars SVD_TAMC_FLAGS SVD_TAF_FLAGS"  ad_vars="$ad_vars SVD_TAMC_FLAGS SVD_TAF_FLAGS"
2570  for i in $ad_vars ; do  for i in $ad_vars ; do
2571      name=$i      name=$i
2572      t1="t2=\$"`echo $i`      t1="t2=\$"`echo "$i"`
2573      eval $t1      eval $t1
2574      printf "%-20s = " $name >> $MAKEFILE      printf "%-20s = " $name >> $MAKEFILE
2575      echo $t2 >> $MAKEFILE      echo "$t2" | sed -e 's| \+| |g' >> $MAKEFILE
2576  done  done
2577    
2578  echo "  Add the source list for AD code generation"  echo "  Add the source list for AD code generation"
# Line 2574  rm -f ad_files Line 2589  rm -f ad_files
2589  cat >>$MAKEFILE <<EOF  cat >>$MAKEFILE <<EOF
2590    
2591  # ... AD ...  # ... AD ...
2592  adall: ad_taf  adall: \$(EXE_AD)
2593  adtaf: ad_taf_output.$FS  adtaf: ad_taf_output.$FS
2594  adtamc: ad_tamc_output.$FS  adtamc: ad_tamc_output.$FS
2595    
# Line 2594  adtafonly: Line 2609  adtafonly:
2609          \$(TAF) \$(AD_TAF_FLAGS) \$(TAF_EXTRA) ad_input_code.$FS          \$(TAF) \$(AD_TAF_FLAGS) \$(TAF_EXTRA) ad_input_code.$FS
2610          cat ad_input_code_ad.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ad_taf_output.$FS          cat ad_input_code_ad.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ad_taf_output.$FS
2611    
2612  ad_taf: ad_taf_output.o \$(OBJFILES)  \${EXE_AD}: ad_taf_output.o \$(OBJFILES)
2613          \$(LINK) -o ${EXE_AD} \$(FFLAGS) \$(FOPTIM) \$(OBJFILES) ad_taf_output.o \$(LIBS)          \$(LINK) -o \${EXE_AD} \$(FFLAGS) \$(FOPTIM) \$(OBJFILES) ad_taf_output.o \$(LIBS)
2614    
2615  ad_tamc_output.$FS: ad_input_code.$FS  ad_tamc_output.$FS: ad_input_code.$FS
2616          \$(TAMC) \$(AD_TAMC_FLAGS) \$(TAMC_EXTRA) ad_input_code.$FS          \$(TAMC) \$(AD_TAMC_FLAGS) \$(TAMC_EXTRA) ad_input_code.$FS

Legend:
Removed from v.1.147  
changed lines
  Added in v.1.157

  ViewVC Help
Powered by ViewVC 1.1.22