/[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.107 by edhill, Fri Oct 15 19:54:56 2004 UTC revision 1.110 by edhill, Wed Oct 27 18:25:05 2004 UTC
# Line 675  EOF Line 675  EOF
675  }  }
676    
677    
678    check_HAVE_STAT()  {
679        get_fortran_c_namemangling
680        cat <<EOF > genmake_tc_1.c
681    $FC_NAMEMANGLE
682    #include <stdio.h>
683    #include <stdlib.h>
684    #include <unistd.h>
685    #include <sys/stat.h>
686    #include <sys/types.h>
687    void FC_NAMEMANGLE(tfsize) ( int *nbyte )
688    {
689        char name[512];
690        struct stat astat;
691    
692        name[0] = 'a'; name[1] = '\0';
693        if (! stat(name, &astat))
694            *nbyte = (int)(astat.st_size);
695        else
696            *nbyte = -1;
697    }
698    EOF
699        make genmake_tc_1.o >> genmake_tc.log 2>&1
700        RET_C=$?
701        cat <<EOF > genmake_tc_2.f
702          program hello
703          integer nbyte
704          call tfsize(nbyte)
705          print *," HELLO WORLD", nbyte
706          end program hello
707    EOF
708        $FC $FFLAGS -o genmake_tc genmake_tc_2.f genmake_tc_1.o >> genmake_tc.log 2>&1
709        RET_F=$?
710        test -x ./genmake_tc  &&  ./genmake_tc >> genmake_tc.log 2>&1
711        RETVAL=$?
712        if test "x$RETVAL" = x0 ; then
713            HAVE_STAT=t
714            DEFINES="$DEFINES -DHAVE_STAT"
715        fi
716        rm -f genmake_tc*
717    }
718    
719    
720  check_netcdf_libs()  {  check_netcdf_libs()  {
721      echo "" > genmake_tnc.log      echo "" > genmake_tnc.log
722      cat <<EOF > genmake_tnc.for      cat <<EOF > genmake_tnc.for
# Line 768  HAVE_SYSTEM= Line 810  HAVE_SYSTEM=
810  HAVE_FDATE=  HAVE_FDATE=
811  FC_NAMEMANGLE=  FC_NAMEMANGLE=
812  HAVE_CLOC=  HAVE_CLOC=
813    HAVE_STAT=
814  HAVE_NETCDF=  HAVE_NETCDF=
815  HAVE_ETIME=  HAVE_ETIME=
816    
# Line 1293  else Line 1336  else
1336  fi  fi
1337  rm -f genmake_t*  rm -f genmake_t*
1338    
1339    printf "  Can we use stat() through C calls...  "
1340    check_HAVE_STAT
1341    if test "x$HAVE_STAT" != x ; then
1342        echo "yes"
1343    else
1344        echo "no"
1345    fi
1346    rm -f genmake_t*
1347    
1348  printf "  Can we create NetCDF-enabled binaries...  "  printf "  Can we create NetCDF-enabled binaries...  "
1349  check_netcdf_libs  check_netcdf_libs
1350  if test "x$HAVE_NETCDF" != x ; then  if test "x$HAVE_NETCDF" != x ; then
# Line 1536  EOF Line 1588  EOF
1588          PACKAGES=`echo $PACKAGES | sed -e 's/mnc//g'`          PACKAGES=`echo $PACKAGES | sed -e 's/mnc//g'`
1589          DISABLE="$DISABLE mnc"          DISABLE="$DISABLE mnc"
1590      else      else
1591          ( cd $ROOTDIR"/pkg/mnc" && $MAKE templates ) > make_mnc.errors 2>&1          ( cd $ROOTDIR"/pkg/mnc" && $MAKE testclean && $MAKE templates ) > make_mnc.errors 2>&1
1592          RETVAL=$?          RETVAL=$?
1593          if test "x${RETVAL}" = x0 ; then          if test "x${RETVAL}" = x0 ; then
1594              rm -f make_mnc.errors              rm -f make_mnc.errors
# Line 2136  ftl_tamc: ftl_tamc_output.o \$(OBJFILES) Line 2188  ftl_tamc: ftl_tamc_output.o \$(OBJFILES)
2188    
2189  # ... SVD ...  # ... SVD ...
2190  svdtaf: ad_taf_output.f ftl_taf_output.f  svdtaf: ad_taf_output.f ftl_taf_output.f
2191  svdall: svd_taf          @echo "--->>> Only ran TAF to generate SVD code!    <<<---"
2192            @echo "--->>> Do make svdall afterwards to compile. <<<---"
2193    svdall: svd_touch svd_taf
2194    
2195  svd_taf: ad_taf_output.o ftl_taf_output.o \$(OBJFILES)  svd_taf: \$(OBJFILES)
2196          \$(LINK) -o mitgcmuv_svd \$(FFLAGS) \$(FOPTIM) \$(OBJFILES) ad_taf_output.o ftl_taf_output.o \$(LIBS)          \$(LINK) -o mitgcmuv_svd \$(FFLAGS) \$(FOPTIM) \$(OBJFILES) ad_taf_output.o ftl_taf_output.o \$(LIBS)
2197    
2198            @echo "--->>> Only COMPILE svd code! <<<---"
2199            @echo "--->>> Assumes you previously <<<---"
2200            @echo "--->>> did make svdtaf        <<<---"
2201    
2202    svd_touch:
2203            @echo "--->>> Only COMPILE svd code! <<<---"
2204            @echo "--->>> Assumes you previously <<<---"
2205            @echo "--->>> did make svdtaf        <<<---"
2206            touch ad_taf_output.f ftl_taf_output.f
2207            \$(FC) \$(FFLAGS) \$(FOPTIM) -c ad_taf_output.f
2208            \$(FC) \$(FFLAGS) \$(FOPTIM) -c ftl_taf_output.f
2209            @$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
2210            cmp ftl_config.template AD_CONFIG.h || cat ftl_config.template > AD_CONFIG.h
2211            -rm -f ftl_config.template
2212    
2213  #=========================================  #=========================================
2214    

Legend:
Removed from v.1.107  
changed lines
  Added in v.1.110

  ViewVC Help
Powered by ViewVC 1.1.22