/[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.61 by edhill, Thu Jan 15 04:27:39 2004 UTC revision 1.71 by edhill, Wed Mar 10 23:34:04 2004 UTC
# Line 37  test_for_string_in_file() { Line 37  test_for_string_in_file() {
37      grep -i "$strng" $file > /dev/null 2>&1      grep -i "$strng" $file > /dev/null 2>&1
38      RETVAL=$?      RETVAL=$?
39      if test "x${RETVAL}" = x0 ; then      if test "x${RETVAL}" = x0 ; then
40          echo -n "Error: In $file there is an illegal line: "          printf "Error: In $file there is an illegal line: "
41          grep -i "$strng" $file          grep -i "$strng" $file
42          return 1          return 1
43      fi      fi
# Line 100  find_possible_configs()  { Line 100  find_possible_configs()  {
100          CPP="cpp -traditional -P"          CPP="cpp -traditional -P"
101      fi      fi
102    
103      # makedepend is not always available      #  The "original" makedepend is part of the Imake system that is
104        #  most often distributed with XFree86 or with an XFree86 source
105        #  package.  As a result, many machines (eg. generic Linux) do not
106        #  have a system-default "makedepend" available.  For those
107        #  systems, we have two fall-back options:
108        #
109        #    1) a makedepend implementation shipped with the cyrus-imapd
110        #       package:  ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/
111        #
112        #    2) a known-buggy xmakedpend shell script
113        #
114        #  So the choices are, in order:
115        #
116        #    1) use the user-specified program
117        #    2) use a system-wide default
118        #    3) locally build and use the cyrus implementation
119        #    4) fall back to the buggy local xmakedpend script
120        #
121      if test "x${MAKEDEPEND}" = x ; then      if test "x${MAKEDEPEND}" = x ; then
122        which makedepend >& /dev/null        which makedepend >& /dev/null
123        RETVAL=$?        RETVAL=$?
124        if test "x${RETVAL}" = x1 ; then        if test ! "x${RETVAL}" = x0 ; then
125           echo "    makedepend was not found. Using xmakedpend instead."           echo "    a system-default makedepend was not found."
126           MAKEDEPEND='$(TOOLSDIR)/xmakedepend'  
127             #  Try to build the cyrus impl
128             rm -f ./genmake_cy_md
129             (
130                 cd $ROOTDIR/tools/cyrus-imapd-makedepend  \
131                     &&  ./configure > /dev/null 2>&1  \
132                     &&  make > /dev/null 2>&1  \
133                     &&  ./makedepend ifparser.c > /dev/null 2>&1  \
134                     &&  echo "true"
135             ) > ./genmake_cy_md
136             grep true ./genmake_cy_md > /dev/null 2>&1
137             RETVAL=$?
138             if test "x$RETVAL" = x0 ; then
139                 MAKEDEPEND='$(TOOLSDIR)/cyrus-imapd-makedepend/makedepend'
140             else
141                 MAKEDEPEND='$(TOOLSDIR)/xmakedepend'
142             fi
143             rm -f ./genmake_cy_md
144        fi        fi
145      fi      fi
146    
# Line 145  EOF Line 179  EOF
179          echo "   "$p_FC          echo "   "$p_FC
180          if test "x$FC" = x ; then          if test "x$FC" = x ; then
181              FC=`echo $p_FC | $AWK '{print $1}'`              FC=`echo $p_FC | $AWK '{print $1}'`
182                echo "  Setting FORTRAN compiler to: "$FC
183          fi          fi
184      fi      fi
185    
186      for i in $p_FC ; do      if test "x$OPTFILE" = x ; then
187          p_OF=$ROOTDIR"/tools/build_options/"$PLATFORM"_"$i          OPTFILE=$ROOTDIR"/tools/build_options/"$PLATFORM"_"$FC
188          if test -r $p_OF ; then          if test ! -r $OPTFILE ; then
189              OPTFILE=$p_OF               echo "  I looked for the file "$OPTFILE" but did not find it"
190              echo "  The options file:  $p_OF"          fi
191              echo "    appears to match so we'll use it."      fi
192              break  #    echo "  The options file:  $p_OF"
193          fi  #    echo "    appears to match so we'll use it."
194      done  #   for i in $p_FC ; do
195    #p_OF=$ROOTDIR"/tools/build_options/"$PLATFORM"_"$i
196    #if test -r $p_OF ; then
197    #    OPTFILE=$p_OF
198    #    echo "  The options file:  $p_OF"
199    #    echo "    appears to match so we'll use it."
200    #    break
201    #fi
202    #   done
203      if test "x$OPTFILE" = x ; then      if test "x$OPTFILE" = x ; then
204          cat 1>&2 <<EOF          cat 1>&2 <<EOF
205    
# Line 215  get_pdepend_list()  { Line 258  get_pdepend_list()  {
258      . ./.pd_tmp      . ./.pd_tmp
259      rm -f ./.pd_tmp      rm -f ./.pd_tmp
260    
261      echo -n "PNAME = "${}      printf "PNAME = "${}
262  }  }
263    
264    
# Line 253  Usage: "$0" [OPTIONS] Line 296  Usage: "$0" [OPTIONS]
296        --makefile=NAME | -mf=NAME        --makefile=NAME | -mf=NAME
297            Call the makefile "NAME".  The default is "Makefile".            Call the makefile "NAME".  The default is "Makefile".
298    
299        -makedepend NAME | -md NAME
300          --makedepend=NAME | -md=NAME
301              Use "NAME" for the MAKEDEPEND program.
302    
303      -rootdir NAME | --rootdir NAME | -rd NAME | --rd NAME      -rootdir NAME | --rootdir NAME | -rd NAME | --rd NAME
304        -rootdir=NAME | --rootdir=NAME | -rd=NAME | --rd=NAME        -rootdir=NAME | --rootdir=NAME | -rd=NAME | --rd=NAME
305            Specify the location of the MITgcm ROOTDIR as "NAME".            Specify the location of the MITgcm ROOTDIR as "NAME".
# Line 294  Usage: "$0" [OPTIONS] Line 341  Usage: "$0" [OPTIONS]
341            *only* works if it is supported by the OPTFILE that            *only* works if it is supported by the OPTFILE that
342            is being used.            is being used.
343    
344        -mpi | --mpi
345              Include MPI header files and link to MPI libraries
346        -mpi=PATH | --mpi=PATH
347              Include MPI header files and link to MPI libraries using MPI_ROOT
348              set to PATH. i.e. Include files from $PATH/include, link to libraries
349              from $PATH/lib and use binaries from $PATH/bin.
350    
351        -bash NAME
352              Explicitly specify the Bourne or BASH shell to use
353    
354    While it is most often a single word, the "NAME" variables specified    While it is most often a single word, the "NAME" variables specified
355    above can in many cases be a space-delimited string such as:    above can in many cases be a space-delimited string such as:
356    
# Line 458  EOF Line 515  EOF
515      if test "x$RET_COMPILE" = x0 -a "x$RETVAL" = x0 ; then      if test "x$RET_COMPILE" = x0 -a "x$RETVAL" = x0 ; then
516          HAVE_NETCDF=t          HAVE_NETCDF=t
517      else      else
518          cat genmake_tnc.log >> genmake_warnings          # try again with "-lnetcdf" added to the libs
519            $CPP genmake_tnc.F > genmake_tnc.f  \
520                &&  $FC $FFLAGS $FOPTIM -o genmake_tnc genmake_tnc.f \
521                $LIBS -lnetcdf >> genmake_tnc_2.log 2>&1
522            RET_COMPILE=$?
523            test -x ./genmake_tnc  &&  ./genmake_tnc >> genmake_tnc.log 2>&1
524            RETVAL=$?
525            if test "x$RET_COMPILE" = x0 -a "x$RETVAL" = x0 ; then
526                LIBS="$LIBS -lnetcdf"
527                HAVE_NETCDF=t
528            else
529                cat genmake_tnc.log >> genmake_warnings
530            fi
531      fi      fi
532      rm -f genmake_tnc*      rm -f genmake_tnc*
533  }  }
534    
535    
536    
537    ###############################################################################
538    #   Sequential part of script starts here
539    ###############################################################################
540    
541  #  Set defaults here  #  Set defaults here
542  COMMANDL="$0 $@"  COMMANDL="$0 $@"
543    
# Line 474  KPP= Line 548  KPP=
548  FC=  FC=
549  CPP=  CPP=
550  LINK=  LINK=
 # DEFINES="-DWORDLENGTH=4"  
551  DEFINES=  DEFINES=
552  PACKAGES=  PACKAGES=
553  ENABLE=  ENABLE=
# Line 491  FOPTIM= Line 564  FOPTIM=
564  CFLAGS=  CFLAGS=
565  KFLAGS1=  KFLAGS1=
566  KFLAGS2=  KFLAGS2=
567    #LDADD=
568  LIBS=  LIBS=
569  KPPFILES=  KPPFILES=
570  NOOPTFILES=  NOOPTFILES=
571  NOOPTFLAGS=  NOOPTFLAGS=
572    MPI=
573    MPIPATH=
574    
575  # DEFINES checked by test compilation  # DEFINES checked by test compilation
576  HAVE_SYSTEM=  HAVE_SYSTEM=
# Line 509  SOURCEDIRS= Line 585  SOURCEDIRS=
585  INCLUDEDIRS=  INCLUDEDIRS=
586  STANDARDDIRS="USE_THE_DEFAULT"  STANDARDDIRS="USE_THE_DEFAULT"
587    
588    BASH=
589  PWD=`pwd`  PWD=`pwd`
590  MAKE=make  MAKE=make
591  AWK=awk  AWK=awk
# Line 577  for i in . $MODS ; do Line 654  for i in . $MODS ; do
654          break          break
655      fi      fi
656  done  done
657  echo -n "  getting local config information:  "  printf "  getting local config information:  "
658  if test -e $gm_local ; then  if test -e $gm_local ; then
659      echo "using $gm_local"      echo "using $gm_local"
660      . $gm_local      . $gm_local
# Line 642  for ac_option ; do Line 719  for ac_option ; do
719          -make=* | --make=* | -m=* | --m=*)          -make=* | --make=* | -m=* | --m=*)
720              MAKE=$ac_optarg ;;              MAKE=$ac_optarg ;;
721                    
722            -bash | --bash)
723                ac_prev=BASH ;;
724            -bash=* | --bash=*)
725                BASH=$ac_optarg ;;
726            
727            -makedepend | --makedepend | -md | --md)
728                ac_prev=MAKEDEPEND ;;
729            -makedepend=* | --makedepend=* | -md=* | --md=*)
730                MAKEDEPEND=$ac_optarg ;;
731            
732          -makefile | --makefile | -ma | --ma)          -makefile | --makefile | -ma | --ma)
733              ac_prev=MAKEFILE ;;              ac_prev=MAKEFILE ;;
734          -makefile=* | --makefile=* | -ma=* | --ma=*)          -makefile=* | --makefile=* | -ma=* | --ma=*)
# Line 693  for ac_option ; do Line 780  for ac_option ; do
780              IEEE=true ;;              IEEE=true ;;
781          -noieee | --noieee)          -noieee | --noieee)
782              IEEE= ;;              IEEE= ;;
783    
784            -mpi | --mpi)
785                MPI=true ;;
786            -mpi=* | --mpi=*)
787                MPIPATH=$ac_optarg
788                MPI=true ;;
789                    
790  #       -jam | --jam)  #       -jam | --jam)
791  #           JAM=1 ;;  #           JAM=1 ;;
# Line 745  if test "x${ROOTDIR}" = x ; then Line 838  if test "x${ROOTDIR}" = x ; then
838          for d in . .. ../.. ../../.. ../../../.. ../../../../.. ; do          for d in . .. ../.. ../../.. ../../../.. ../../../../.. ; do
839              if [ -d "$d/model" -a -d "$d/eesupp" -a -d "$d/pkg" ]; then              if [ -d "$d/model" -a -d "$d/eesupp" -a -d "$d/pkg" ]; then
840                  ROOTDIR=$d                  ROOTDIR=$d
841                  echo -n "Warning:  ROOTDIR was not specified but there appears to be"                  printf "Warning:  ROOTDIR was not specified but there appears to be"
842                  echo " a copy of MITgcm at \"$ROOTDIR\" so we'll try it."                  echo " a copy of MITgcm at \"$ROOTDIR\" so we'll try it."
843                  break                  break
844              fi              fi
# Line 779  if test "x$OPTFILE" != xNONE ; then Line 872  if test "x$OPTFILE" != xNONE ; then
872          . "$OPTFILE"          . "$OPTFILE"
873          RETVAL=$?          RETVAL=$?
874          if test "x$RETVAL" != x0 ; then          if test "x$RETVAL" != x0 ; then
875              echo -n "Error: failed to source OPTFILE \"$OPTFILE\""              printf "Error: failed to source OPTFILE \"$OPTFILE\""
876              echo "--please check that variable syntax is bash-compatible"              echo "--please check that variable syntax is bash-compatible"
877              exit 1              exit 1
878          fi          fi
# Line 806  if test "x${AD_OPTFILE}" != xNONE ; then Line 899  if test "x${AD_OPTFILE}" != xNONE ; then
899          . "$AD_OPTFILE"          . "$AD_OPTFILE"
900          RETVAL=$?          RETVAL=$?
901          if test "x$RETVAL" != x0 ; then          if test "x$RETVAL" != x0 ; then
902              echo -n "Error: failed to source AD_OPTFILE \"$AD_OPTFILE\""              printf "Error: failed to source AD_OPTFILE \"$AD_OPTFILE\""
903              echo "--please check that variable syntax is bash-compatible"              echo "--please check that variable syntax is bash-compatible"
904              exit 1              exit 1
905          fi          fi
# Line 821  fi Line 914  fi
914    
915  #  Check that FC, LINK, CPP, S64, LN, and MAKE are defined.  If not,  #  Check that FC, LINK, CPP, S64, LN, and MAKE are defined.  If not,
916  #  either set defaults or complain and abort!  #  either set defaults or complain and abort!
917    if test ! "x$BASH" = x ; then
918        # add a trailing space so that it works within the Makefile syntax (see below)
919        BASH="$BASH "
920    fi
921  if test "x$FC" = x ; then  if test "x$FC" = x ; then
922      cat <<EOF 1>&2      cat <<EOF 1>&2
923    
# Line 834  fi Line 931  fi
931  if test "x$LINK" = x ; then  if test "x$LINK" = x ; then
932      LINK=$FC      LINK=$FC
933  fi  fi
 if test "x$CPP" = x ; then  
     CPP="cpp"  
 fi  
934  if test "x$MAKE" = x ; then  if test "x$MAKE" = x ; then
935      MAKE="make"      MAKE="make"
936  fi  fi
937    if test "x$CPP" = x ; then
938        CPP=cpp
939    fi
940    #EH3 === UGLY ===
941    #  The following an ugly little hack to check for $CPP in /lib/ and it
942    #  should eventually be replaced with a more general function that
943    #  searches a combo of the user's path and a list of "usual suspects"
944    #  to find the correct location for binaries such as $CPP.
945    for i in " " "/lib/" ; do
946        echo "#define A a" | $i$CPP > test_cpp 2>&1 && CPP=$i$CPP
947    done
948    #EH3 === UGLY ===
949  echo "#define A a" | $CPP > test_cpp 2>&1  echo "#define A a" | $CPP > test_cpp 2>&1
950  RETVAL=$?  RETVAL=$?
951  if test "x$RETVAL" != x0 ; then  if test "x$RETVAL" != x0 ; then
# Line 876  EOF Line 982  EOF
982  fi  fi
983  rm -f genmake_test_ln genmake_tlink  rm -f genmake_test_ln genmake_tlink
984    
985    if test ! "x$MPI" = x ; then
986          echo "  Turning on MPI cpp macros"
987          DEFINES="$DEFINES -DALLOW_USE_MPI -DALWAYS_USE_MPI"
988    fi
989    
990  printf "\n===  Checking system libraries  ===\n"  printf "\n===  Checking system libraries  ===\n"
991  echo -n "  Do we have the system() command using $FC...  "  printf "  Do we have the system() command using $FC...  "
992  cat > genmake_tcomp.f <<EOF  cat > genmake_tcomp.f <<EOF
993        program hello        program hello
994        call system('echo hi')        call system('echo hi')
# Line 896  else Line 1006  else
1006  fi  fi
1007  rm -f genmake_tcomp*  rm -f genmake_tcomp*
1008    
1009  echo -n "  Do we have the fdate() command using $FC...  "  printf "  Do we have the fdate() command using $FC...  "
1010  cat > genmake_tcomp.f <<EOF  cat > genmake_tcomp.f <<EOF
1011        program hello        program hello
1012        CHARACTER(128) string        CHARACTER(128) string
# Line 917  else Line 1027  else
1027  fi  fi
1028  rm -f genmake_tcomp*  rm -f genmake_tcomp*
1029    
1030  echo -n "  Can we call simple C routines (here, \"cloc()\") using $FC...  "  printf "  Can we call simple C routines (here, \"cloc()\") using $FC...  "
1031  check_HAVE_CLOC  check_HAVE_CLOC
1032  if test "x$HAVE_CLOC" != x ; then  if test "x$HAVE_CLOC" != x ; then
1033      echo "yes"      echo "yes"
# Line 926  else Line 1036  else
1036  fi  fi
1037  rm -f genmake_t*  rm -f genmake_t*
1038    
1039  echo -n "  Can we create NetCDF-enabled binaries...  "  printf "  Can we create NetCDF-enabled binaries...  "
1040  check_netcdf_libs  check_netcdf_libs
1041  if test "x$HAVE_NETCDF" != x ; then  if test "x$HAVE_NETCDF" != x ; then
1042      echo "yes"      echo "yes"
# Line 936  fi Line 1046  fi
1046    
1047    
1048  printf "\n===  Setting defaults  ===\n"  printf "\n===  Setting defaults  ===\n"
1049  echo -n "  Adding MODS directories:  "  printf "  Adding MODS directories:  "
1050  for d in $MODS ; do  for d in $MODS ; do
1051      if test ! -d $d ; then      if test ! -d $d ; then
1052          echo          echo
1053          echo "Error: MODS directory \"$d\" not found!"          echo "Error: MODS directory \"$d\" not found!"
1054          exit 1          exit 1
1055      else      else
1056          echo -n " $d"          printf " $d"
1057          SOURCEDIRS="$SOURCEDIRS $d"          SOURCEDIRS="$SOURCEDIRS $d"
1058          INCLUDEDIRS="$INCLUDEDIRS $d"          INCLUDEDIRS="$INCLUDEDIRS $d"
1059      fi      fi
# Line 973  if test "x${TOOLSDIR}" = x ; then Line 1083  if test "x${TOOLSDIR}" = x ; then
1083      TOOLSDIR="$ROOTDIR/tools"      TOOLSDIR="$ROOTDIR/tools"
1084  fi  fi
1085  if test ! -d ${TOOLSDIR} ; then  if test ! -d ${TOOLSDIR} ; then
1086      echo "Error: the specified $TOOLSDIR (\"$TOOLSDIR\") does not exist!"      echo "Error: the specified TOOLSDIR (\"$TOOLSDIR\") does not exist!"
1087      exit 1      exit 1
1088  fi  fi
1089  if test "x$S64" = x ; then  if test "x$S64" = x ; then
# Line 994  if test -r $ROOTDIR"/eesupp/src/Makefile Line 1104  if test -r $ROOTDIR"/eesupp/src/Makefile
1104          rm -f make_eesupp.errors          rm -f make_eesupp.errors
1105      else      else
1106          echo "Error: problem encountered while building source files in eesupp:"          echo "Error: problem encountered while building source files in eesupp:"
1107          cat make_eesupp.errors          cat make_eesupp.errors 1>&2
1108          exit 1          exit 1
1109      fi      fi
1110  fi  fi
# Line 1008  if test -r $ROOTDIR"/pkg/exch2/Makefile" Line 1118  if test -r $ROOTDIR"/pkg/exch2/Makefile"
1118          rm -f make_exch2.errors          rm -f make_exch2.errors
1119      else      else
1120          echo "Error: problem encountered while building source files in exch2:"          echo "Error: problem encountered while building source files in exch2:"
1121          cat make_exch2.errors          cat make_exch2.errors 1>&2
1122          exit 1          exit 1
1123      fi      fi
1124  fi  fi
# Line 1068  else Line 1178  else
1178          def=`cat $PDEFAULT | sed -e 's/#.*$//g' | $AWK '(NF>0){print $0}'`          def=`cat $PDEFAULT | sed -e 's/#.*$//g' | $AWK '(NF>0){print $0}'`
1179          RETVAL=$?          RETVAL=$?
1180          if test "x${RETVAL}" != x0 ; then          if test "x${RETVAL}" != x0 ; then
1181              echo -n "Error: can't parse default package list "              printf "Error: can't parse default package list "
1182              echo "-- please check PDEFAULT=\"$PDEFAULT\""              echo "-- please check PDEFAULT=\"$PDEFAULT\""
1183              exit 1              exit 1
1184          fi          fi
# Line 1196  for i in $PACKAGES ; do Line 1306  for i in $PACKAGES ; do
1306      fi      fi
1307  done  done
1308    
1309  #  Check for ability to build and use NetCDF  #  Build MNC templates and check for ability to build and use NetCDF
1310  echo $PACKAGES | grep ' mnc ' > /dev/null 2>&1  echo $PACKAGES | grep ' mnc ' > /dev/null 2>&1
1311  RETVAL=$?  RETVAL=$?
1312  if test "x$RETVAL" = x0 -a "x$HAVE_NETCDF" != xt ; then  if test "x$RETVAL" = x0 ; then
1313      cat <<EOF      ( cd $ROOTDIR"/pkg/mnc" && $MAKE templates ) > make_mnc.errors 2>&1
1314        RETVAL=$?
1315        if test "x${RETVAL}" = x0 ; then
1316            rm -f make_mnc.errors
1317        else
1318            echo "Error: problem encountered while building source files in pkg/mnc:"
1319            cat make_mnc.errors 1>&2
1320            exit 1
1321        fi
1322        if test "x$HAVE_NETCDF" != xt ; then
1323            cat <<EOF
1324    
1325  WARNING: the "mnc" package has been enabled but tests failed to  WARNING: the "mnc" package has been enabled but tests failed to
1326    compile and/or execute NetCDF applications.  Please check that:    compile and/or execute NetCDF applications.  Please check that:
# Line 1210  WARNING: the "mnc" package has been enab Line 1330  WARNING: the "mnc" package has been enab
1330         NetCDF library to link against.         NetCDF library to link against.
1331        
1332  EOF  EOF
1333        fi
1334  fi  fi
1335    
1336  # Create a list of #define and #undef to enable/disable packages  # Create a list of #define and #undef to enable/disable packages
# Line 1340  rm -rf .links.tmp Line 1461  rm -rf .links.tmp
1461  mkdir .links.tmp  mkdir .links.tmp
1462  echo "# This section creates symbolic links" > srclinks.tmp  echo "# This section creates symbolic links" > srclinks.tmp
1463  echo "" >> srclinks.tmp  echo "" >> srclinks.tmp
1464  echo -n 'SRCFILES = '    > srclist.inc  printf 'SRCFILES = '    > srclist.inc
1465  echo -n 'CSRCFILES = '   > csrclist.inc  printf 'CSRCFILES = '   > csrclist.inc
1466  echo -n 'F90SRCFILES = ' > f90srclist.inc  printf 'F90SRCFILES = ' > f90srclist.inc
1467  echo -n 'HEADERFILES = ' > hlist.inc  printf 'HEADERFILES = ' > hlist.inc
1468  echo -n 'AD_FLOW_FILES = ' > ad_flow_files.inc  printf 'AD_FLOW_FILES = ' > ad_flow_files.inc
1469  alldirs="$SOURCEDIRS $INCLUDEDIRS ."  alldirs="$SOURCEDIRS $INCLUDEDIRS ."
1470  for d in $alldirs ; do  for d in $alldirs ; do
1471      deplist=      deplist=
# Line 1369  for d in $alldirs ; do Line 1490  for d in $alldirs ; do
1490                  case $extn in                  case $extn in
1491                      F)                      F)
1492                          echo    " \\"  >> srclist.inc                          echo    " \\"  >> srclist.inc
1493                          echo -n " $sf" >> srclist.inc                          printf " $sf" >> srclist.inc
1494                          ;;                          ;;
1495                      F90)                      F90)
1496                          echo    " \\"  >> f90srclist.inc                          echo    " \\"  >> f90srclist.inc
1497                          echo -n " $sf" >> f90srclist.inc                          printf " $sf" >> f90srclist.inc
1498                          ;;                          ;;
1499                      c)                      c)
1500                          echo    " \\"  >> csrclist.inc                          echo    " \\"  >> csrclist.inc
1501                          echo -n " $sf" >> csrclist.inc                          printf " $sf" >> csrclist.inc
1502                          ;;                          ;;
1503                      h)                      h)
1504                          echo    " \\"  >> hlist.inc                          echo    " \\"  >> hlist.inc
1505                          echo -n " $sf" >> hlist.inc                          printf " $sf" >> hlist.inc
1506                          ;;                          ;;
1507                      flow)                      flow)
1508                          echo    " \\"  >> ad_flow_files.inc                          echo    " \\"  >> ad_flow_files.inc
1509                          echo -n " $sf" >> ad_flow_files.inc                          printf " $sf" >> ad_flow_files.inc
1510                          ;;                          ;;
1511                  esac                  esac
1512              fi              fi
# Line 1482  FC = ${FC} Line 1603  FC = ${FC}
1603  # Fortran compiler  # Fortran compiler
1604  F90C = ${F90C}  F90C = ${F90C}
1605  # Link editor  # Link editor
1606  LINK = ${LINK}  LINK = ${LINK} ${LDADD}
1607    
1608  # Defines for CPP  # Defines for CPP
1609  DEFINES = ${DEFINES}  DEFINES = ${DEFINES}
# Line 1567  cleanlinks: Line 1688  cleanlinks:
1688  # Special targets ($SPECIAL_FILES) which are create by make  # Special targets ($SPECIAL_FILES) which are create by make
1689  ${PACKAGES_DOT_H}:  ${PACKAGES_DOT_H}:
1690          @echo Creating \$@ ...          @echo Creating \$@ ...
1691          @\$(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) > \$@
1692  AD_CONFIG.h:  AD_CONFIG.h:
1693          @echo Creating \$@ ...          @echo Creating \$@ ...
1694          @\$(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 -UALLOW_ECCO_OPTIMIZATION > \$@
1695  FC_NAMEMANGLE.h:  FC_NAMEMANGLE.h:
1696          @echo Creating \$@ ...          @echo Creating \$@ ...
1697          echo "$FC_NAMEMANGLE" > \$@          echo "$FC_NAMEMANGLE" > \$@
# Line 1617  done Line 1738  done
1738    
1739  echo "  Add the source list for AD code generation"  echo "  Add the source list for AD code generation"
1740  echo >> $MAKEFILE  echo >> $MAKEFILE
1741  echo -n "AD_FILES = " >> $MAKEFILE  printf "AD_FILES = " >> $MAKEFILE
1742  AD_FILES=`cat ad_files`  AD_FILES=`cat ad_files`
1743  for i in $AD_FILES ; do  for i in $AD_FILES ; do
1744      echo    " \\" >> $MAKEFILE      echo    " \\" >> $MAKEFILE
1745      echo -n " $i" >> $MAKEFILE      printf " $i" >> $MAKEFILE
1746  done  done
1747  echo >> $MAKEFILE  echo >> $MAKEFILE
1748  rm -f ad_files  rm -f ad_files
# Line 1634  adtaf: ad_taf_output.f Line 1755  adtaf: ad_taf_output.f
1755  adtamc: ad_tamc_output.f  adtamc: ad_tamc_output.f
1756    
1757  ad_input_code.f: \$(AD_FILES) \$(HEADERFILES)  ad_input_code.f: \$(AD_FILES) \$(HEADERFILES)
1758          @\$(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
1759          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
1760          -rm -f ad_config.template          -rm -f ad_config.template
1761          @make \$(F77FILES)          @make \$(F77FILES)
# Line 1666  ftltaf: ftl_taf_output.f Line 1787  ftltaf: ftl_taf_output.f
1787  ftltamc: ftl_tamc_output.f  ftltamc: ftl_tamc_output.f
1788    
1789  ftl_input_code.f: \$(AD_FILES) \$(HEADERFILES)  ftl_input_code.f: \$(AD_FILES) \$(HEADERFILES)
1790          @\$(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
1791          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
1792          -rm -f ftl_config.template          -rm -f ftl_config.template
1793          @make \$(F77FILES)          @make \$(F77FILES)
# Line 1739  printf "\n\n# DO NOT DELETE\n" >> $MAKEF Line 1860  printf "\n\n# DO NOT DELETE\n" >> $MAKEF
1860  printf "\n===  Done  ===\n"  printf "\n===  Done  ===\n"
1861    
1862  # Create special header files  # Create special header files
1863  $TOOLSDIR/convert_cpp_cmd2defines "Warning - this file is automatically generated - do NOT edit" -bPACKAGES_CONFIG_H "Disabled packages:" $DISABLED_PACKAGES " " "Enabled packages:" $ENABLED_PACKAGES > $PACKAGES_DOT_H".tmp"  $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 > $PACKAGES_DOT_H".tmp"
1864  if test ! -f $PACKAGES_DOT_H ; then  if test ! -f $PACKAGES_DOT_H ; then
1865      mv -f $PACKAGES_DOT_H".tmp" $PACKAGES_DOT_H      mv -f $PACKAGES_DOT_H".tmp" $PACKAGES_DOT_H
1866  else  else
# Line 1753  else Line 1874  else
1874      fi      fi
1875  fi  fi
1876  if test ! -f AD_CONFIG.h ; then  if test ! -f AD_CONFIG.h ; then
1877      $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 -UALLOW_ECCO_OPTIMIZATION > AD_CONFIG.h
1878  fi  fi
1879    
1880    
1881  #  Write the "state" for future records  #  Write the "state" for future records
1882  if test "x$DUMPSTATE" != xf ; then  if test "x$DUMPSTATE" != xf ; then
1883      echo -n "" > genmake_state      printf "" > genmake_state
1884      for i in $gm_state ; do      for i in $gm_state ; do
1885          t1="t2=\$$i"          t1="t2=\$$i"
1886          eval $t1          eval $t1

Legend:
Removed from v.1.61  
changed lines
  Added in v.1.71

  ViewVC Help
Powered by ViewVC 1.1.22