/[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.119 by edhill, Wed Mar 9 19:57:00 2005 UTC revision 1.134 by edhill, Wed Nov 9 04:31:30 2005 UTC
# Line 197  EOF Line 197  EOF
197        end        end
198  EOF  EOF
199          makedepend genmake_tc.f > /dev/null 2>&1          makedepend genmake_tc.f > /dev/null 2>&1
200            RV1=$?
201          test -f $MAKEFILE  &&  rm -f $MAKEFILE          test -f $MAKEFILE  &&  rm -f $MAKEFILE
202          test -f $MAKEFILE".tst"  &&  mv -f $MAKEFILE".tst" $MAKEFILE          test -f $MAKEFILE".tst"  &&  mv -f $MAKEFILE".tst" $MAKEFILE
         RV1=$?  
203          if test "x${RV0}${RV1}" = x00 ; then          if test "x${RV0}${RV1}" = x00 ; then
204              MAKEDEPEND=makedepend              MAKEDEPEND=makedepend
205          else          else
# Line 321  EOF Line 321  EOF
321    
322      #================================================================      #================================================================
323      #  look for possible FORTRAN compilers      #  look for possible FORTRAN compilers
324      tmp="$MITGCM_FC $FC efc g77 f77 pgf77 pgf95 ifc f90 f95 mpif77 mpf77 mpxlf95"      tmp="$MITGCM_FC $FC efc g77 f77 pgf77 pgf95 ifc f90 f95 mpif77 mpf77 mpxlf95 gfortran"
325      p_FC=      p_FC=
326      for c in $tmp ; do      for c in $tmp ; do
327          rm -f ./hello.f ./hello          rm -f ./hello.f ./hello
# Line 527  Usage: "$0" [OPTIONS] Line 527  Usage: "$0" [OPTIONS]
527            *only* works if it is supported by the OPTFILE that            *only* works if it is supported by the OPTFILE that
528            is being used.            is being used.
529    
530        -ts | --ts
531              Produce timing information per timestep
532    
533      -mpi | --mpi      -mpi | --mpi
534            Include MPI header files and link to MPI libraries            Include MPI header files and link to MPI libraries
535      -mpi=PATH | --mpi=PATH      -mpi=PATH | --mpi=PATH
# Line 598  EOF Line 601  EOF
601        call tsub( string )        call tsub( string )
602        end        end
603  EOF  EOF
604      $FC $FFLAGS $DEFINES -c genmake_tcomp.$FS >> genmake_warnings 2>&1      $FC $FFLAGS -c genmake_tcomp.$FS >> genmake_warnings 2>&1
605      RETVAL=$?      RETVAL=$?
606      if test "x$RETVAL" != x0 ; then      if test "x$RETVAL" != x0 ; then
607          FC_NAMEMANGLE=$default_nm          FC_NAMEMANGLE=$default_nm
# Line 668  EOF Line 671  EOF
671      RET_C=$?      RET_C=$?
672      cat <<EOF > genmake_tc_2.$FS      cat <<EOF > genmake_tc_2.$FS
673        program hello        program hello
674        Real*8 wtime        REAL*8 wtime
675        external cloc        external cloc
676        call cloc(wtime)        call cloc(wtime)
677        print *," HELLO WORLD", wtime        print *," HELLO WORLD", wtime
678        end program hello        end
679  EOF  EOF
680      $FC $FFLAGS -o genmake_tc genmake_tc_2.$FS genmake_tc_1.o >> genmake_warnings 2>&1      $FC $FFLAGS -o genmake_tc genmake_tc_2.$FS genmake_tc_1.o >> genmake_warnings 2>&1
681      RET_F=$?      RET_F=$?
# Line 686  EOF Line 689  EOF
689  }  }
690    
691    
692    check_HAVE_SETRLSTK()  {
693        get_fortran_c_namemangling
694        cat <<EOF > genmake_tc_1.c
695    $FC_NAMEMANGLE
696    #include <sys/time.h>
697    #include <sys/resource.h>
698    #include <unistd.h>
699    void FC_NAMEMANGLE(setrlstk) ()
700    {
701        struct rlimit rls;
702        rls.rlim_cur = RLIM_INFINITY;
703        rls.rlim_max = RLIM_INFINITY;
704        setrlimit(RLIMIT_STACK, &rls);
705        return;
706    }
707    EOF
708        make genmake_tc_1.o >> genmake_warnings 2>&1
709        RET_C=$?
710        cat <<EOF > genmake_tc_2.$FS
711          program hello
712          external setrlstk
713          call setrlstk()
714          end
715    EOF
716        $FC $FFLAGS -o genmake_tc genmake_tc_2.$FS genmake_tc_1.o >> genmake_warnings 2>&1
717        RET_F=$?
718        test -x ./genmake_tc  &&  ./genmake_tc >> genmake_warnings 2>&1
719        RETVAL=$?
720        if test "x$RETVAL" = x0 ; then
721            HAVE_SETRLSTK=t
722            DEFINES="$DEFINES -DHAVE_SETRLSTK"
723        fi
724        rm -f genmake_tc*
725    }
726    
727    
728  check_HAVE_STAT()  {  check_HAVE_STAT()  {
729      get_fortran_c_namemangling      get_fortran_c_namemangling
730      cat <<EOF > genmake_tc_1.c      cat <<EOF > genmake_tc_1.c
# Line 714  EOF Line 753  EOF
753        integer nbyte        integer nbyte
754        call tfsize(nbyte)        call tfsize(nbyte)
755        print *," HELLO WORLD", nbyte        print *," HELLO WORLD", nbyte
756        end program hello        end
757  EOF  EOF
758      $FC $FFLAGS -o genmake_tc genmake_tc_2.$FS genmake_tc_1.o >> genmake_tc.log 2>&1      $FC $FFLAGS -o genmake_tc genmake_tc_2.$FS genmake_tc_1.o >> genmake_tc.log 2>&1
759      RET_F=$?      RET_F=$?
# Line 752  EOF Line 791  EOF
791  EOF  EOF
792      echo "Executing:" > genmake_tnc.log      echo "Executing:" > genmake_tnc.log
793      echo "  $CPP $DEFINES $INCLUDES genmake_tnc.F > genmake_tnc.$FS" \      echo "  $CPP $DEFINES $INCLUDES genmake_tnc.F > genmake_tnc.$FS" \
794          > genmake_tnc.log          >> genmake_tnc.log
795      RET_CPP=f      RET_CPP=f
796      $CPP $DEFINES $INCLUDES genmake_tnc.F > genmake_tnc.$FS 2>/dev/null  \      $CPP $DEFINES $INCLUDES genmake_tnc.F > genmake_tnc.$FS 2>/dev/null  \
797          &&  RET_CPP=t          &&  RET_CPP=t
798      if test "x$RET_CPP" = xf ; then      if test "x$RET_CPP" = xf ; then
799          echo "  WARNING: CPP failed to pre-process the netcdf test." \          echo "  WARNING: CPP failed to pre-process the netcdf test." \
800              > genmake_tnc.log              >> genmake_tnc.log
801          echo "    Please check that \$INCLUDES is properly set." \          echo "    Please check that \$INCLUDES is properly set." \
802              > genmake_tnc.log              >> genmake_tnc.log
803      fi      fi
804      echo "Executing:" > genmake_tnc.log      echo "Executing:" > genmake_tnc.log
805      echo "  $FC $FFLAGS $FOPTIM -c genmake_tnc.$FS" > genmake_tnc.log      echo "  $FC $FFLAGS $FOPTIM -c genmake_tnc.$FS" >> genmake_tnc.log
806      echo "  $LINK -o genmake_tnc.o $LIBS" > genmake_tnc.log      echo "  $LINK -o genmake_tnc.o $LIBS" >> genmake_tnc.log
807      $FC $FFLAGS $FOPTIM -c genmake_tnc.$FS >> genmake_tnc.log 2>&1  \      $FC $FFLAGS $FOPTIM -c genmake_tnc.$FS >> genmake_tnc.log 2>&1  \
808          &&  $LINK -o genmake_tnc genmake_tnc.o $LIBS >> genmake_tnc.log 2>&1          &&  $LINK -o genmake_tnc genmake_tnc.o $LIBS >> genmake_tnc.log 2>&1
809      RET_COMPILE=$?      RET_COMPILE=$?
# Line 780  EOF Line 819  EOF
819          HAVE_NETCDF=t          HAVE_NETCDF=t
820      else      else
821          # try again with "-lnetcdf" added to the libs          # try again with "-lnetcdf" added to the libs
822            echo "$CPP $DEFINES $INCLUDES genmake_tnc.F > genmake_tnc.$FS \ " >> genmake_tnc.log
823            echo " &&  $FC $FFLAGS $FOPTIM -c genmake_tnc.$FS \ " >> genmake_tnc.log
824            echo " &&  $LINK -o genmake_tnc genmake_tnc.o $LIBS -lnetcdf" >> genmake_tnc.log
825          $CPP $DEFINES $INCLUDES genmake_tnc.F > genmake_tnc.$FS 2>/dev/null  \          $CPP $DEFINES $INCLUDES genmake_tnc.F > genmake_tnc.$FS 2>/dev/null  \
826              &&  $FC $FFLAGS $FOPTIM -c genmake_tnc.$FS >> genmake_tnc.log 2>&1  \              &&  $FC $FFLAGS $FOPTIM -c genmake_tnc.$FS >> genmake_tnc.log 2>&1  \
827              &&  $LINK -o genmake_tnc genmake_tnc.o $LIBS -lnetcdf >> genmake_tnc.log 2>&1              &&  $LINK -o genmake_tnc genmake_tnc.o $LIBS -lnetcdf >> genmake_tnc.log 2>&1
# Line 788  EOF Line 830  EOF
830              LIBS="$LIBS -lnetcdf"              LIBS="$LIBS -lnetcdf"
831              HAVE_NETCDF=t              HAVE_NETCDF=t
832          else          else
833                echo "===  genmake_tnc.F  ===" >> genmake_warnings
834                cat genmake_tnc.F >> genmake_warnings
835                echo "===  genmake_tnc.F  ===" >> genmake_warnings
836              cat genmake_tnc.log >> genmake_warnings              cat genmake_tnc.log >> genmake_warnings
837          fi          fi
838      fi      fi
# Line 834  NOOPTFILES= Line 879  NOOPTFILES=
879  NOOPTFLAGS=  NOOPTFLAGS=
880  MPI=  MPI=
881  MPIPATH=  MPIPATH=
882    TS=
883    HAVE_TEST_L=
884    
885  # DEFINES checked by test compilation  # DEFINES checked by test compilation or command-line
886  HAVE_SYSTEM=  HAVE_SYSTEM=
887  HAVE_FDATE=  HAVE_FDATE=
888  FC_NAMEMANGLE=  FC_NAMEMANGLE=
889  HAVE_CLOC=  HAVE_CLOC=
890    HAVE_SETRLSTK=
891  HAVE_STAT=  HAVE_STAT=
892  HAVE_NETCDF=  HAVE_NETCDF=
893  HAVE_ETIME=  HAVE_ETIME=
894    IGNORE_TIME=
895    
896  MODS=  MODS=
897  TOOLSDIR=  TOOLSDIR=
# Line 888  TAMC_EXTRA= Line 937  TAMC_EXTRA=
937    
938  #  The following state can be set directly by command-line switches  #  The following state can be set directly by command-line switches
939  gm_s1="OPTFILE PDEPEND PDEFAULT MAKEFILE PLATFORM ROOTDIR MODS DISABLE ENABLE"  gm_s1="OPTFILE PDEPEND PDEFAULT MAKEFILE PLATFORM ROOTDIR MODS DISABLE ENABLE"
940  gm_s2="FC CPP IEEE MPI JAM DUMPSTATE STANDARDDIRS"  gm_s2="FC CPP IEEE TS MPI JAM DUMPSTATE STANDARDDIRS"
941    
942  #  The following state is not directly set by command-line switches  #  The following state is not directly set by command-line switches
943  gm_s3="LN S64 KPP LINK PACKAGES MAKEDEPEND PDEPEND PDEFAULT INCLUDES FFLAGS FOPTIM "  gm_s3="LN S64 KPP LINK PACKAGES MAKEDEPEND PDEPEND PDEFAULT INCLUDES FFLAGS FOPTIM "
# Line 1068  for ac_option in "$@" ; do Line 1117  for ac_option in "$@" ; do
1117          -noieee | --noieee)          -noieee | --noieee)
1118              IEEE= ;;              IEEE= ;;
1119    
1120            -ts | --ts)
1121                TS=true ;;
1122    
1123          -mpi | --mpi)          -mpi | --mpi)
1124              MPI=true ;;              MPI=true ;;
1125          -mpi=* | --mpi=*)          -mpi=* | --mpi=*)
# Line 1091  for ac_option in "$@" ; do Line 1143  for ac_option in "$@" ; do
1143              ac_prev=TAMC_EXTRA ;;              ac_prev=TAMC_EXTRA ;;
1144          -tamc_extra=* | --tamc_extra=*)          -tamc_extra=* | --tamc_extra=*)
1145              TAMC_EXTRA=$ac_optarg ;;              TAMC_EXTRA=$ac_optarg ;;
1146            
1147            -ignoretime | -ignore_time | --ignoretime | --ignore_time)
1148                IGNORE_TIME="-DIGNORE_TIME" ;;
1149    
1150          -*)          -*)
1151              echo "Error: unrecognized option: "$ac_option              echo "Error: unrecognized option: "$ac_option
# Line 1148  fi Line 1203  fi
1203    
1204  #  Find the MITgcm ${THISVER}  #  Find the MITgcm ${THISVER}
1205  if test -f "${ROOTDIR}/doc/tag-index" ; then  if test -f "${ROOTDIR}/doc/tag-index" ; then
1206      THISVER=`grep checkpoint ${ROOTDIR}/doc/tag-index | head -1`      THISVER=`grep '^checkpoint' ${ROOTDIR}/doc/tag-index | head -1`
1207  fi  fi
1208    
1209  if test "x$MAKEFILE" = x ; then  if test "x$MAKEFILE" = x ; then
# Line 1290  Error: The command "ln -s" failed -- ple Line 1345  Error: The command "ln -s" failed -- ple
1345  EOF  EOF
1346      exit 1      exit 1
1347  fi  fi
1348    test -L genmake_tlink > /dev/null 2>&1
1349    RETVAL=$?
1350    if test "x$RETVAL" = x0 ; then
1351        HAVE_TEST_L=t
1352    fi
1353  rm -f genmake_test_ln genmake_tlink  rm -f genmake_test_ln genmake_tlink
1354    
1355  #  Check for broken *.F/*.f handling and fix if possible  #  Check for broken *.F/*.f handling and fix if possible
# Line 1300  if test ! "x$MPI" = x ; then Line 1360  if test ! "x$MPI" = x ; then
1360        DEFINES="$DEFINES -DALLOW_USE_MPI -DALWAYS_USE_MPI"        DEFINES="$DEFINES -DALLOW_USE_MPI -DALWAYS_USE_MPI"
1361  fi  fi
1362    
1363    if test ! "x$TS" = x ; then
1364          echo "  Turning on timing per timestep"
1365          DEFINES="$DEFINES -DTIME_PER_TIMESTEP"
1366    fi
1367    
1368  printf "\n===  Checking system libraries  ===\n"  printf "\n===  Checking system libraries  ===\n"
1369  printf "  Do we have the system() command using $FC...  "  printf "  Do we have the system() command using $FC...  "
1370  cat > genmake_tcomp.$FS <<EOF  cat > genmake_tcomp.$FS <<EOF
# Line 1307  cat > genmake_tcomp.$FS <<EOF Line 1372  cat > genmake_tcomp.$FS <<EOF
1372        call system('echo hi')        call system('echo hi')
1373        end        end
1374  EOF  EOF
1375  $FC $FFLAGS $DEFINES -o genmake_tcomp genmake_tcomp.$FS > genmake_tcomp.log 2>&1  $FC $FFLAGS -o genmake_tcomp genmake_tcomp.$FS > genmake_tcomp.log 2>&1
1376  RETVAL=$?  RETVAL=$?
1377  if test "x$RETVAL" = x0 ; then  if test "x$RETVAL" = x0 ; then
1378      HAVE_SYSTEM=t      HAVE_SYSTEM=t
# Line 1322  rm -f genmake_tcomp* Line 1387  rm -f genmake_tcomp*
1387  printf "  Do we have the fdate() command using $FC...  "  printf "  Do we have the fdate() command using $FC...  "
1388  cat > genmake_tcomp.$FS <<EOF  cat > genmake_tcomp.$FS <<EOF
1389        program hello        program hello
1390        CHARACTER(128) string        CHARACTER*(128) string
1391        string = ' '        string = ' '
1392        call fdate( string )        call fdate( string )
1393        print *, string        print *, string
1394        end        end
1395  EOF  EOF
1396  $FC $FFLAGS $DEFINES -o genmake_tcomp genmake_tcomp.$FS > genmake_tcomp.log 2>&1  $FC $FFLAGS -o genmake_tcomp genmake_tcomp.$FS > genmake_tcomp.log 2>&1
1397  RETVAL=$?  RETVAL=$?
1398  if test "x$RETVAL" = x0 ; then  if test "x$RETVAL" = x0 ; then
1399      HAVE_FDATE=t      HAVE_FDATE=t
# Line 1350  cat > genmake_tcomp.$FS <<EOF Line 1415  cat > genmake_tcomp.$FS <<EOF
1415        print *, tarray        print *, tarray
1416        end        end
1417  EOF  EOF
1418  $FC $FFLAGS $DEFINES -o genmake_tcomp genmake_tcomp.$FS > genmake_tcomp.log 2>&1  $FC $FFLAGS -o genmake_tcomp genmake_tcomp.$FS > genmake_tcomp.log 2>&1
1419  RETVAL=$?  RETVAL=$?
1420  if test "x$RETVAL" = x0 ; then  if test "x$RETVAL" = x0 ; then
1421      HAVE_ETIME=t      HAVE_ETIME=t
# Line 1371  else Line 1436  else
1436  fi  fi
1437  rm -f genmake_t*  rm -f genmake_t*
1438    
1439    printf "  Can we unlimit the stack size using $FC...  "
1440    check_HAVE_SETRLSTK
1441    if test "x$HAVE_SETRLSTK" != x ; then
1442        echo "yes"
1443    else
1444        echo "no"
1445    fi
1446    rm -f genmake_t*
1447    
1448  printf "  Can we use stat() through C calls...  "  printf "  Can we use stat() through C calls...  "
1449  check_HAVE_STAT  check_HAVE_STAT
1450  if test "x$HAVE_STAT" != x ; then  if test "x$HAVE_STAT" != x ; then
# Line 1387  if test "x$HAVE_NETCDF" != x ; then Line 1461  if test "x$HAVE_NETCDF" != x ; then
1461  else  else
1462      echo "no"      echo "no"
1463  fi  fi
1464    DEFINES="$DEFINES $IGNORE_TIME"
1465    
1466  printf "\n===  Setting defaults  ===\n"  printf "\n===  Setting defaults  ===\n"
1467  printf "  Adding MODS directories:  "  printf "  Adding MODS directories:  "
# Line 1826  for i in $SOURCEDIRS ; do Line 1900  for i in $SOURCEDIRS ; do
1900          cat $i/$j >> ad_files          cat $i/$j >> ad_files
1901      done      done
1902  done  done
1903    if test ! "x"$FS = "x.f" ; then
1904        cat ad_files | sed -e "s/\.f/.$FS/g" > ad_files_f
1905        mv -f ad_files_f ad_files
1906    fi
1907    
1908  echo  echo
1909  echo "===  Creating the Makefile  ==="  echo "===  Creating the Makefile  ==="
# Line 1855  for d in $alldirs ; do Line 1932  for d in $alldirs ; do
1932      for sf in $sfiles ; do      for sf in $sfiles ; do
1933          if test ! -r ".links.tmp/$sf" ; then          if test ! -r ".links.tmp/$sf" ; then
1934              if test -f "$d/$sf" ; then              if test -f "$d/$sf" ; then
1935                    ignore_f=f
1936                  case $d/$sf in                  case $d/$sf in
1937                    ./$PACKAGES_DOT_H)                    ./$PACKAGES_DOT_H)
1938                          ;;                          ;;
# Line 1865  for d in $alldirs ; do Line 1943  for d in $alldirs ; do
1943                    ./BUILD_INFO.h)                    ./BUILD_INFO.h)
1944                          ;;                          ;;
1945                    *)                    *)
1946                          touch .links.tmp/$sf                          #  For the local directory *ONLY*,
1947                          deplist="$deplist $sf"                          #  ignore all soft-links
1948                            if test "x$HAVE_TEST_L" = xt -a "x$d" = x. -a -L $sf ; then
1949                                ignore_f=t
1950                            else
1951                                touch .links.tmp/$sf
1952                                deplist="$deplist $sf"
1953                            fi
1954                          ;;                          ;;
1955                  esac                  esac
1956                  extn=`echo $sf | $AWK -F. '{print $NF}'`                  if test "x$ignore_f" = xf ; then
1957                  case $extn in                      extn=`echo $sf | $AWK -F. '{print $NF}'`
1958                      F)                      case $extn in
1959                          echo    " \\"  >> srclist.inc                          F)
1960                          printf " $sf" >> srclist.inc                              echo    " \\"  >> srclist.inc
1961                          ;;                              printf " $sf" >> srclist.inc
1962                      F90)                              ;;
1963                          echo    " \\"  >> f90srclist.inc                          F90)
1964                          printf " $sf" >> f90srclist.inc                              echo    " \\"  >> f90srclist.inc
1965                          ;;                              printf " $sf" >> f90srclist.inc
1966                      c)                              ;;
1967                          echo    " \\"  >> csrclist.inc                          c)
1968                          printf " $sf" >> csrclist.inc                              echo    " \\"  >> csrclist.inc
1969                          ;;                              printf " $sf" >> csrclist.inc
1970                      h)                              ;;
1971                          echo    " \\"  >> hlist.inc                          h)
1972                          printf " $sf" >> hlist.inc                              echo    " \\"  >> hlist.inc
1973                          ;;                              printf " $sf" >> hlist.inc
1974                      flow)                              ;;
1975                          echo    " \\"  >> ad_flow_files.inc                          flow)
1976                          printf " $sf" >> ad_flow_files.inc                              echo    " \\"  >> ad_flow_files.inc
1977                          ;;                              printf " $sf" >> ad_flow_files.inc
1978                  esac                              ;;
1979                        esac
1980                    fi
1981              fi              fi
1982          fi          fi
1983      done      done
# Line 2022  cat hlist.inc         >> $MAKEFILE Line 2108  cat hlist.inc         >> $MAKEFILE
2108  cat ad_flow_files.inc >> $MAKEFILE  cat ad_flow_files.inc >> $MAKEFILE
2109  echo >> $MAKEFILE  echo >> $MAKEFILE
2110  echo 'F77FILES =  $(SRCFILES:.F=.'$FS')'      >> $MAKEFILE  echo 'F77FILES =  $(SRCFILES:.F=.'$FS')'      >> $MAKEFILE
2111  echo 'F90FILES =  $(F90SRCFILES:.F=.'$FS90')' >> $MAKEFILE  echo 'F90FILES =  $(F90SRCFILES:.F90=.'$FS90')' >> $MAKEFILE
2112  echo 'OBJFILES =  $(SRCFILES:.F=.o) $(CSRCFILES:.c=.o) $(F90SRCFILES:.F90=.o)' >> $MAKEFILE  echo 'OBJFILES =  $(SRCFILES:.F=.o) $(CSRCFILES:.c=.o) $(F90SRCFILES:.F90=.o)' >> $MAKEFILE
2113  echo >> $MAKEFILE  echo >> $MAKEFILE
2114  echo '.SUFFIXES:' >> $MAKEFILE  echo '.SUFFIXES:' >> $MAKEFILE
# Line 2042  depend: Line 2128  depend:
2128          \$(TOOLSDIR)/f90mkdepend >> \$(MAKEFILE)          \$(TOOLSDIR)/f90mkdepend >> \$(MAKEFILE)
2129          -rm -f makedepend.out          -rm -f makedepend.out
2130    
2131    lib: libmitgcmuv.a
2132    
2133    libmitgcmuv.a: \$(OBJFILES)
2134            ar rcv libmitgcmuv.a \$(OBJFILES)
2135    
2136  links: \$(SRCFILES) \$(CSRCFILES) \$(HEADERFILES) \$(F90SRCFILES) \$(SPECIAL_FILES)  links: \$(SRCFILES) \$(CSRCFILES) \$(HEADERFILES) \$(F90SRCFILES) \$(SPECIAL_FILES)
2137    
2138  small_f: \$(F77FILES) \$(F90FILES)  small_f: \$(F77FILES) \$(F90FILES)
# Line 2151  cat >>$MAKEFILE <<EOF Line 2242  cat >>$MAKEFILE <<EOF
2242    
2243  # ... AD ...  # ... AD ...
2244  adall: ad_taf  adall: ad_taf
2245  adtaf: ad_taf_output.f  adtaf: ad_taf_output.$FS
2246  adtamc: ad_tamc_output.f  adtamc: ad_tamc_output.$FS
2247    
2248  ad_input_code.f: \$(AD_FILES) \$(HEADERFILES)  ad_input_code.$FS: \$(AD_FILES) \$(HEADERFILES)
2249          @$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
2250          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
2251          -rm -f ad_config.template          -rm -f ad_config.template
2252          @make \$(F77FILES)          @make \$(F77FILES)
2253          @make \$(AD_FLOW_FILES)          @make \$(AD_FLOW_FILES)
2254          cat \$(AD_FLOW_FILES) \$(AD_FILES) > ad_input_code.f          cat \$(AD_FLOW_FILES) \$(AD_FILES) > ad_input_code.$FS
2255    
2256  ad_taf_output.f: ad_input_code.f  ad_taf_output.$FS: ad_input_code.$FS
2257          \$(TAF) \$(AD_TAF_FLAGS) \$(TAF_EXTRA) ad_input_code.f          \$(TAF) \$(AD_TAF_FLAGS) \$(TAF_EXTRA) ad_input_code.$FS
2258          cat ad_input_code_ad.f | sed -f \$(TOOLSDIR)/adjoint_sed > ad_taf_output.f          cat ad_input_code_ad.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ad_taf_output.$FS
2259    
2260  adtafonly:  adtafonly:
2261          \$(TAF) \$(AD_TAF_FLAGS) \$(TAF_EXTRA) ad_input_code.f          \$(TAF) \$(AD_TAF_FLAGS) \$(TAF_EXTRA) ad_input_code.$FS
2262          cat ad_input_code_ad.f | sed -f \$(TOOLSDIR)/adjoint_sed > ad_taf_output.f          cat ad_input_code_ad.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ad_taf_output.$FS
2263    
2264  ad_taf: ad_taf_output.o \$(OBJFILES)  ad_taf: ad_taf_output.o \$(OBJFILES)
2265          \$(LINK) -o ${EXE_AD} \$(FFLAGS) \$(FOPTIM) \$(OBJFILES) ad_taf_output.o \$(LIBS)          \$(LINK) -o ${EXE_AD} \$(FFLAGS) \$(FOPTIM) \$(OBJFILES) ad_taf_output.o \$(LIBS)
2266    
2267  ad_tamc_output.f: ad_input_code.f  ad_tamc_output.$FS: ad_input_code.$FS
2268          \$(TAMC) \$(AD_TAMC_FLAGS) \$(TAMC_EXTRA) ad_input_code.f          \$(TAMC) \$(AD_TAMC_FLAGS) \$(TAMC_EXTRA) ad_input_code.$FS
2269          cat ad_input_code_ad.f | sed -f \$(TOOLSDIR)/adjoint_sed > ad_tamc_output.f          cat ad_input_code_ad.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ad_tamc_output.$FS
2270    
2271  ad_tamc: ad_tamc_output.o \$(OBJFILES)  ad_tamc: ad_tamc_output.o \$(OBJFILES)
2272          \$(LINK) -o ${EXE_AD} \$(FFLAGS) \$(FOPTIM) \$(OBJFILES) ad_tamc_output.o \$(LIBS)          \$(LINK) -o ${EXE_AD} \$(FFLAGS) \$(FOPTIM) \$(OBJFILES) ad_tamc_output.o \$(LIBS)
# Line 2188  adtrick: Line 2279  adtrick:
2279    
2280  # ... FTL ...  # ... FTL ...
2281  ftlall: ftl_taf  ftlall: ftl_taf
2282  ftltaf: ftl_taf_output.f  ftltaf: ftl_taf_output.$FS
2283  ftltamc: ftl_tamc_output.f  ftltamc: ftl_tamc_output.$FS
2284    
2285  ftl_input_code.f: \$(AD_FILES) \$(HEADERFILES)  ftl_input_code.$FS: \$(AD_FILES) \$(HEADERFILES)
2286          @$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 -UALLOW_ECCO_OPTIMIZATION > ftl_config.template
2287          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
2288          -rm -f ftl_config.template          -rm -f ftl_config.template
2289          @make \$(F77FILES)          @make \$(F77FILES)
2290          @make \$(AD_FLOW_FILES)          @make \$(AD_FLOW_FILES)
2291          cat \$(AD_FLOW_FILES) \$(AD_FILES) > ftl_input_code.f          cat \$(AD_FLOW_FILES) \$(AD_FILES) > ftl_input_code.$FS
2292    
2293  ftl_taf_output.f: ftl_input_code.f  ftl_taf_output.$FS: ftl_input_code.$FS
2294          \$(TAF) \$(FTL_TAF_FLAGS) \$(TAF_EXTRA) ftl_input_code.f          \$(TAF) \$(FTL_TAF_FLAGS) \$(TAF_EXTRA) ftl_input_code.$FS
2295          cat ftl_input_code_ftl.f | sed -f \$(TOOLSDIR)/adjoint_sed > ftl_taf_output.f          cat ftl_input_code_ftl.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ftl_taf_output.$FS
2296    
2297  ftltafonly:  ftltafonly:
2298          \$(TAF) \$(FTL_TAF_FLAGS) \$(TAF_EXTRA) ftl_input_code.f          \$(TAF) \$(FTL_TAF_FLAGS) \$(TAF_EXTRA) ftl_input_code.$FS
2299          cat ftl_input_code_ftl.f | sed -f \$(TOOLSDIR)/adjoint_sed > ftl_taf_output.f          cat ftl_input_code_ftl.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ftl_taf_output.$FS
2300    
2301  ftl_taf: ftl_taf_output.o \$(OBJFILES)  ftl_taf: ftl_taf_output.o \$(OBJFILES)
2302          \$(LINK) -o ${EXE_FTL} \$(FFLAGS) \$(FOPTIM) \$(OBJFILES) ftl_taf_output.o \$(LIBS)          \$(LINK) -o ${EXE_FTL} \$(FFLAGS) \$(FOPTIM) \$(OBJFILES) ftl_taf_output.o \$(LIBS)
2303    
2304  ftl_tamc_output.f: ftl_input_code.f  ftl_tamc_output.$FS: ftl_input_code.$FS
2305          \$(TAMC) \$(FTL_TAMC_FLAGS) \$(TAMC_EXTRA) ftl_input_code.f          \$(TAMC) \$(FTL_TAMC_FLAGS) \$(TAMC_EXTRA) ftl_input_code.$FS
2306          cat ftl_input_code_ftl.f | sed -f \$(TOOLSDIR)/adjoint_sed > ftl_tamc_output.f          cat ftl_input_code_ftl.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ftl_tamc_output.$FS
2307    
2308  ftl_tamc: ftl_tamc_output.o \$(OBJFILES)  ftl_tamc: ftl_tamc_output.o \$(OBJFILES)
2309          \$(LINK) -o ${EXE_FTL} \$(FFLAGS) \$(FOPTIM) \$(OBJFILES) ftl_tamc_output.o \$(LIBS)          \$(LINK) -o ${EXE_FTL} \$(FFLAGS) \$(FOPTIM) \$(OBJFILES) ftl_tamc_output.o \$(LIBS)
2310    
2311    
2312  # ... SVD ...  # ... SVD ...
2313  svdtaf: ad_taf_output.f ftl_taf_output.f  svdtaf: ad_taf_output.$FS ftl_taf_output.$FS
2314          @echo "--->>> Only ran TAF to generate SVD code!    <<<---"          @echo "--->>> Only ran TAF to generate SVD code!    <<<---"
2315          @echo "--->>> Do make svdall afterwards to compile. <<<---"          @echo "--->>> Do make svdall afterwards to compile. <<<---"
2316  svdall: svd_touch svd_taf  svdall: svd_touch svd_taf
# Line 2235  svd_touch: Line 2326  svd_touch:
2326          @echo "--->>> Only COMPILE svd code! <<<---"          @echo "--->>> Only COMPILE svd code! <<<---"
2327          @echo "--->>> Assumes you previously <<<---"          @echo "--->>> Assumes you previously <<<---"
2328          @echo "--->>> did make svdtaf        <<<---"          @echo "--->>> did make svdtaf        <<<---"
2329          touch ad_taf_output.f ftl_taf_output.f          touch ad_taf_output.$FS ftl_taf_output.$FS
2330          \$(FC) \$(FFLAGS) \$(FOPTIM) -c ad_taf_output.f          \$(FC) \$(FFLAGS) \$(FOPTIM) -c ad_taf_output.$FS
2331          \$(FC) \$(FFLAGS) \$(FOPTIM) -c ftl_taf_output.f          \$(FC) \$(FFLAGS) \$(FOPTIM) -c ftl_taf_output.$FS
2332          @$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 -UALLOW_ECCO_OPTIMIZATION > ftl_config.template
2333          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
2334          -rm -f ftl_config.template          -rm -f ftl_config.template

Legend:
Removed from v.1.119  
changed lines
  Added in v.1.134

  ViewVC Help
Powered by ViewVC 1.1.22