/[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.207 by jmc, Wed May 26 00:08:18 2010 UTC revision 1.210 by jmc, Tue Nov 2 00:51:11 2010 UTC
# Line 56  test_for_string_in_file() { Line 56  test_for_string_in_file() {
56  # the package list.  # the package list.
57  expand_pkg_groups() {  expand_pkg_groups() {
58      new_packages=      new_packages=
     PKG_GROUPS=$ROOTDIR"/pkg/pkg_groups"  
59      if test -r $PKG_GROUPS ; then      if test -r $PKG_GROUPS ; then
60          cat $PKG_GROUPS | sed -e 's/#.*$//g' | sed -e 's/:/ : /g' > ./p1.tmp          cat $PKG_GROUPS | sed -e 's/#.*$//g' | sed -e 's/:/ : /g' > ./p1.tmp
61          cat ./p1.tmp | $AWK '(NF>2 && $2==":"){ print $0 }' > ./p2.tmp          cat ./p1.tmp | $AWK '(NF>2 && $2==":"){ print $0 }' > ./p2.tmp
# Line 67  expand_pkg_groups() { Line 66  expand_pkg_groups() {
66              if test "x$RETVAL" = x0 ; then              if test "x$RETVAL" = x0 ; then
67                  matched=1                  matched=1
68                  replace=`echo $line | $AWK '{ $1=""; $2=""; print $0 }'`                  replace=`echo $line | $AWK '{ $1=""; $2=""; print $0 }'`
69                  echo "    replacing \"$i\" with: $replace"                  echo "    replacing \"$i\" with:$replace"
70                  new_packages="$new_packages $replace"                  new_packages="$new_packages $replace"
71              else              else
72                  new_packages="$new_packages $i"                  new_packages="$new_packages $i"
# Line 484  get_pdepend_list()  { Line 483  get_pdepend_list()  {
483          > ./.pd_tmp          > ./.pd_tmp
484      RETVAL=$?      RETVAL=$?
485      if test ! "x${RETVAL}" = x0 ; then      if test ! "x${RETVAL}" = x0 ; then
486        echo "Error: unable to parse package dependencies -- please check PDEPEND=\"$1\""        echo "Error: unable to parse package dependencies -- please check PKG_DEPEND=\"$1\""
487        exit 1        exit 1
488      fi      fi
489      . ./.pd_tmp      . ./.pd_tmp
# Line 519  Usage: "$0" [OPTIONS] Line 518  Usage: "$0" [OPTIONS]
518        -pdepend=NAME | --pdepend=NAME        -pdepend=NAME | --pdepend=NAME
519            Get package dependency information from "NAME".            Get package dependency information from "NAME".
520    
521      -pdefault NAME | --pdefault NAME      -pgroups NAME | --pgroups NAME
522        -pdefault=NAME | --pdefault=NAME        -pgroups=NAME | --pgroups=NAME
523            Get the default package list from "NAME".            Get the package groups information from "NAME".
524    
525      -bash NAME      -bash NAME
526            Explicitly specify the Bourne or BASH shell to use            Explicitly specify the Bourne or BASH shell to use
# Line 657  get_fortran_c_namemangling()  { Line 656  get_fortran_c_namemangling()  {
656      if test ! "x$FC_NAMEMANGLE" = x ; then      if test ! "x$FC_NAMEMANGLE" = x ; then
657          return 0          return 0
658      fi      fi
659        echo "running: get_fortran_c_namemangling()" >> genmake_warnings
660    
661      default_nm="#define FC_NAMEMANGLE(X) X ## _"      default_nm="#define FC_NAMEMANGLE(X) X ## _"
662    
# Line 743  EOF Line 743  EOF
743    
744    
745  check_HAVE_CLOC()  {  check_HAVE_CLOC()  {
746        echo >> genmake_warnings
747        echo "running: check_HAVE_CLOC()" >> genmake_warnings
748      get_fortran_c_namemangling      get_fortran_c_namemangling
749      cat <<EOF > genmake_tc_1.c      cat <<EOF > genmake_tc_1.c
750  $FC_NAMEMANGLE  $FC_NAMEMANGLE
# Line 789  check_HAVE_SIGREG()  { Line 791  check_HAVE_SIGREG()  {
791      if test ! "x$HAVE_SIGREG" = x ; then      if test ! "x$HAVE_SIGREG" = x ; then
792          return          return
793      fi      fi
794        echo >> genmake_warnings
795        echo "running: check_HAVE_SIGREG()" >> genmake_warnings
796      get_fortran_c_namemangling      get_fortran_c_namemangling
797      cat <<EOF > genmake_tc_1.c      cat <<EOF > genmake_tc_1.c
798  $FC_NAMEMANGLE  $FC_NAMEMANGLE
# Line 832  EOF Line 836  EOF
836        call sigreg(anint)        call sigreg(anint)
837        end        end
838  EOF  EOF
     echo >> genmake_warnings  
     echo "running: check_HAVE_SIGREG()" >> genmake_warnings  
839      cat genmake_tc_2.$FS >> genmake_warnings      cat genmake_tc_2.$FS >> genmake_warnings
840      COMM="$FC $FFLAGS -o genmake_tc genmake_tc_2.$FS genmake_tc_1.o"      COMM="$FC $FFLAGS -o genmake_tc genmake_tc_2.$FS genmake_tc_1.o"
841      echo $COMM >> genmake_warnings      echo $COMM >> genmake_warnings
# Line 855  check_HAVE_SETRLSTK()  { Line 857  check_HAVE_SETRLSTK()  {
857      if test ! "x$HAVE_SETRLSTK" = x ; then      if test ! "x$HAVE_SETRLSTK" = x ; then
858          return          return
859      fi      fi
860        echo >> genmake_warnings
861        echo "running: check_HAVE_SETRLSTK()" >> genmake_warnings
862      get_fortran_c_namemangling      get_fortran_c_namemangling
863      cat <<EOF > genmake_tc_1.c      cat <<EOF > genmake_tc_1.c
864  $FC_NAMEMANGLE  $FC_NAMEMANGLE
# Line 880  EOF Line 884  EOF
884        call setrlstk()        call setrlstk()
885        end        end
886  EOF  EOF
     echo >> genmake_warnings  
     echo "running: check_HAVE_SETRLSTK()" >> genmake_warnings  
887      cat genmake_tc_2.$FS >> genmake_warnings      cat genmake_tc_2.$FS >> genmake_warnings
888      COMM="$FC $FFLAGS -o genmake_tc genmake_tc_2.$FS genmake_tc_1.o"      COMM="$FC $FFLAGS -o genmake_tc genmake_tc_2.$FS genmake_tc_1.o"
889      echo $COMM >> genmake_warnings      echo $COMM >> genmake_warnings
# Line 896  EOF Line 898  EOF
898    
899    
900  check_HAVE_STAT()  {  check_HAVE_STAT()  {
901        echo >> genmake_warnings
902        echo "running: check_HAVE_STAT()" >> genmake_warnings
903      get_fortran_c_namemangling      get_fortran_c_namemangling
904      cat <<EOF > genmake_tc_1.c      cat <<EOF > genmake_tc_1.c
905  $FC_NAMEMANGLE  $FC_NAMEMANGLE
# Line 927  EOF Line 931  EOF
931        print *," HELLO WORLD", nbyte        print *," HELLO WORLD", nbyte
932        end        end
933  EOF  EOF
     echo >> genmake_warnings  
     echo "running: check_HAVE_STAT()" >> genmake_warnings  
934      cat genmake_tc_2.$FS >> genmake_warnings      cat genmake_tc_2.$FS >> genmake_warnings
935      COMM="$FC $FFLAGS -o genmake_tc genmake_tc_2.$FS genmake_tc_1.o"      COMM="$FC $FFLAGS -o genmake_tc genmake_tc_2.$FS genmake_tc_1.o"
936      echo $COMM >> genmake_warnings      echo $COMM >> genmake_warnings
# Line 965  EOF Line 967  EOF
967        IF (iret .NE. NF_NOERR) write(*,*) NF_STRERROR(iret)        IF (iret .NE. NF_NOERR) write(*,*) NF_STRERROR(iret)
968        end        end
969  EOF  EOF
970      echo "===  genmake_tnc.F  ===" > genmake_tnc.log      echo "===  genmake_tnc.F  >>>" > genmake_tnc.log
971      cat genmake_tnc.F >> genmake_tnc.log      cat genmake_tnc.F >> genmake_tnc.log
972      echo "===  genmake_tnc.F  ===" >> genmake_tnc.log      echo "<<<  genmake_tnc.F  ===" >> genmake_tnc.log
973      RET_CPP=f      RET_CPP=f
974      COMM="cat genmake_tnc.F | $CPP $DEFINES $INCLUDES"      COMM="cat genmake_tnc.F | $CPP $DEFINES $INCLUDES"
975      echo "$COMM" >> genmake_tnc.log      echo "$COMM" >> genmake_tnc.log
# Line 994  EOF Line 996  EOF
996    
997      if test "x$RET_COMPILE" = x0 ; then      if test "x$RET_COMPILE" = x0 ; then
998          HAVE_NETCDF=t          HAVE_NETCDF=t
999            echo "check_netcdf: successful" >> genmake_warnings
1000      else      else
1001          # try again with "-lnetcdf" added to the libs          # try again with "-lnetcdf" added to the libs
1002          echo "try again with added '-lnetcdf'" > genmake_tnc.log          echo "==> try again with added '-lnetcdf'" > genmake_tnc.log
1003          echo "cat genmake_tnc.F | $CPP $DEFINES $INCLUDES > genmake_tnc.$FS \ " >> genmake_tnc.log          echo "cat genmake_tnc.F | $CPP $DEFINES $INCLUDES > genmake_tnc.$FS \ " >> genmake_tnc.log
1004          echo " &&  $FC $FFLAGS $FOPTIM -c genmake_tnc.$FS \ " >> genmake_tnc.log          echo " &&  $FC $FFLAGS $FOPTIM -c genmake_tnc.$FS \ " >> genmake_tnc.log
1005          echo " &&  $LINK $FFLAGS $FOPTIM -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
# Line 1004  EOF Line 1007  EOF
1007              &&  $FC $FFLAGS $FOPTIM -c genmake_tnc.$FS >> genmake_tnc.log 2>&1  \              &&  $FC $FFLAGS $FOPTIM -c genmake_tnc.$FS >> genmake_tnc.log 2>&1  \
1008              &&  $LINK $FFLAGS $FOPTIM -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
1009          RET_COMPILE=$?          RET_COMPILE=$?
1010            echo >> genmake_warnings
1011          cat genmake_tnc.log >> genmake_warnings          cat genmake_tnc.log >> genmake_warnings
1012          if test "x$RET_COMPILE" = x0 ; then          if test "x$RET_COMPILE" = x0 ; then
1013              LIBS="$LIBS -lnetcdf"              LIBS="$LIBS -lnetcdf"
1014              HAVE_NETCDF=t              HAVE_NETCDF=t
1015                echo "check_netcdf: successful" >> genmake_warnings
1016          else          else
1017          # try again with "-lnetcdff" added to the libs          # try again with "-lnetcdff" added to the libs
1018              echo "try again with added '-lnetcdff -lnetcdf'" > genmake_tnc.log              echo "==> try again with added '-lnetcdff -lnetcdf'" > genmake_tnc.log
1019              echo "cat genmake_tnc.F | $CPP $DEFINES $INCLUDES > genmake_tnc.$FS \ " >> genmake_tnc.log              echo "cat genmake_tnc.F | $CPP $DEFINES $INCLUDES > genmake_tnc.$FS \ " >> genmake_tnc.log
1020              echo " &&  $FC $FFLAGS $FOPTIM -c genmake_tnc.$FS \ " >> genmake_tnc.log              echo " &&  $FC $FFLAGS $FOPTIM -c genmake_tnc.$FS \ " >> genmake_tnc.log
1021              echo " &&  $LINK $FFLAGS $FOPTIM -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
# Line 1018  EOF Line 1023  EOF
1023                  &&  $FC $FFLAGS $FOPTIM -c genmake_tnc.$FS >> genmake_tnc.log 2>&1  \                  &&  $FC $FFLAGS $FOPTIM -c genmake_tnc.$FS >> genmake_tnc.log 2>&1  \
1024                  &&  $LINK $FFLAGS $FOPTIM -o genmake_tnc genmake_tnc.o $LIBS -lnetcdff -lnetcdf >> genmake_tnc.log 2>&1                  &&  $LINK $FFLAGS $FOPTIM -o genmake_tnc genmake_tnc.o $LIBS -lnetcdff -lnetcdf >> genmake_tnc.log 2>&1
1025              RET_COMPILE=$?              RET_COMPILE=$?
1026                echo >> genmake_warnings
1027              cat genmake_tnc.log >> genmake_warnings              cat genmake_tnc.log >> genmake_warnings
1028              if test "x$RET_COMPILE" = x0 ; then              if test "x$RET_COMPILE" = x0 ; then
1029                  LIBS="$LIBS -lnetcdff -lnetcdf"                  LIBS="$LIBS -lnetcdff -lnetcdf"
1030                  HAVE_NETCDF=t                  HAVE_NETCDF=t
1031                    echo "check_netcdf: successful" >> genmake_warnings
1032              fi              fi
1033          fi          fi
1034      fi      fi
# Line 1051  ENABLE= Line 1058  ENABLE=
1058  DISABLE=  DISABLE=
1059  # MAKEFILE=  # MAKEFILE=
1060  # MAKEDEPEND=  # MAKEDEPEND=
1061  PDEPEND=  PKG_DEPEND=
1062    PKG_GROUPS=
1063  DUMPSTATE=t  DUMPSTATE=t
 PDEFAULT=  
1064  OPTFILE=  OPTFILE=
1065  INCLUDES="-I. $INCLUDES"  INCLUDES="-I. $INCLUDES"
1066  FFLAGS=  FFLAGS=
# Line 1138  FTL_TAF_FLAGS= Line 1145  FTL_TAF_FLAGS=
1145  SVD_TAMC_FLAGS=  SVD_TAMC_FLAGS=
1146  TAMC_EXTRA=  TAMC_EXTRA=
1147    
   
1148  #  The following state can be set directly by command-line switches  #  The following state can be set directly by command-line switches
1149  gm_s1="OPTFILE PDEPEND PDEFAULT MAKEFILE PLATFORM ROOTDIR MODS DISABLE ENABLE"  gm_s1="OPTFILE PKG_DEPEND PKG_GROUPS MAKEFILE MAKEDEPEND PLATFORM ROOTDIR MODS DISABLE ENABLE"
1150  gm_s2="FC IEEE USE_R4 TS PAPIS PCLS PAPI PCL HPMT GSL DEVEL MPI OMP DUMPSTATE STANDARDDIRS"  gm_s2="FC IEEE USE_R4 TS PAPIS PCLS PAPI PCL HPMT GSL DEVEL MPI OMP DUMPSTATE STANDARDDIRS"
1151    
1152  #  The following state is not directly set by command-line switches  #  The following state is not directly set by command-line switches
1153  gm_s3="LN S64 KPP LINK PACKAGES MAKEDEPEND PDEPEND PDEFAULT INCLUDES FFLAGS FOPTIM FEXTRAFLAGS"  gm_s3="LN S64 LINK MAKE PACKAGES INCLUDES FFLAGS FOPTIM FEXTRAFLAGS"
1154  gm_s4="CFLAGS KFLAGS1 KFLAGS2 LIBS KPPFILES NOOPTFILES NOOPTFLAGS"  gm_s4="CFLAGS LIBS KPP KFLAGS1 KFLAGS2 KPPFILES NOOPTFILES NOOPTFLAGS"
1155  gm_s5="TOOLSDIR SOURCEDIRS INCLUDEDIRS PWD MAKE THISHOST THISUSER THISDATE THISVER MACHINE"  gm_s5="TOOLSDIR SOURCEDIRS INCLUDEDIRS PWD THISHOST THISUSER THISDATE THISVER MACHINE"
1156  gm_s6="EXECUTABLE EXEHOOK EXEDIR PACKAGES_CONF"  gm_s6="EXECUTABLE EXEHOOK EXEDIR PACKAGES_CONF"
1157  gm_s7="HAVE_SYSTEM HAVE_FDATE FC_NAMEMANGLE HAVE_ETIME"  gm_s7="FC_NAMEMANGLE HAVE_NETCDF HAVE_SYSTEM HAVE_FDATE HAVE_ETIME"
1158    
1159  #  The following are all related to adjoint/tangent-linear stuff  #  The following are all related to adjoint/tangent-linear stuff
1160  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"
# Line 1169  quick list of options, use "genmake -h" Line 1175  quick list of options, use "genmake -h"
1175    
1176  EOF  EOF
1177    
1178    #- clean-up previous genmake logfiles:
1179    rm -f genmake_state genmake_*optfile genmake_warnings genmake_errors
1180    
1181  echo "===  Processing options files and arguments  ==="  echo "===  Processing options files and arguments  ==="
1182  gm_local="genmake_local"  gm_local="genmake_local"
1183  printf "  getting local config information:  "  printf "  getting local config information:  "
# Line 1215  for ac_option in "$@" ; do Line 1224  for ac_option in "$@" ; do
1224              AD_OPTFILE=$ac_optarg ;;              AD_OPTFILE=$ac_optarg ;;
1225                    
1226          -pdepend | --pdepend)          -pdepend | --pdepend)
1227              ac_prev=PDEPEND ;;              ac_prev=PKG_DEPEND ;;
1228          -pdepend=* | --pdepend=*)          -pdepend=* | --pdepend=*)
1229              PDEPEND=$ac_optarg ;;              PKG_DEPEND=$ac_optarg ;;
1230                    
1231          -pdefault | --pdefault)          -pgroups | --pgroups)
1232              ac_prev=PDEFAULT ;;              ac_prev=PKG_GROUPS ;;
1233          -pdefault=* | --pdefault=*)          -pgroups=* | --pgroups=*)
1234              PDEFAULT=$ac_optarg ;;              PKG_GROUPS=$ac_optarg ;;
1235                    
1236          -make | --make | -m | --m)          -make | --make | -m | --m)
1237              ac_prev=MAKE ;;              ac_prev=MAKE ;;
# Line 1913  for pdir in exch2 regrid ; do Line 1922  for pdir in exch2 regrid ; do
1922  done  done
1923    
1924  printf "\n===  Determining package settings  ===\n"  printf "\n===  Determining package settings  ===\n"
1925  if  test "x${PDEPEND}" = x ; then  if  test "x${PKG_DEPEND}" = x ; then
1926      tmp=$ROOTDIR"/pkg/pkg_depend"      tmp=$ROOTDIR"/pkg/pkg_depend"
1927      if test -r $tmp ; then      if test -r $tmp ; then PKG_DEPEND=$tmp ; fi
1928          PDEPEND=$tmp  fi
1929      else  if  test "x${PKG_DEPEND}" = x ; then
1930          echo "Warning:  No package dependency information was specified."          echo "Warning:  No package dependency information was specified."
1931          echo "  Please check that ROOTDIR/pkg/pkg_depend exists."          echo "  Please check that ROOTDIR/pkg/pkg_depend exists."
1932    else
1933        if test ! -r ${PKG_DEPEND} ; then
1934            echo "Error:  can't read package dependency info from PKG_DEPEND=\"$PKG_DEPEND\""
1935            exit 1
1936      fi      fi
1937        echo "  getting package dependency info from  $PKG_DEPEND"
1938    #  Strip the comments and then convert the dependency file into arrays: PNAME, DNAME
1939        get_pdepend_list $PKG_DEPEND
1940    fi
1941    
1942    # A default package groups file "$ROOTDIR/pkg/pkg_groups" is provided
1943    #  to define the "default_pkg_list" and package groups (for convenience, one
1944    #  can specify a group of packages using names like "ocean" and "atmosphere").
1945    if test "x${PKG_GROUPS}" = x ; then
1946        tmp=$ROOTDIR"/pkg/pkg_groups"
1947        if test -r $tmp ; then PKG_GROUPS=$tmp ; fi
1948    fi
1949    if test "x${PKG_GROUPS}" = x ; then
1950            echo "Warning:  No package groups information was specified."
1951            echo "  Please check that ROOTDIR/pkg/pkg_groups exists."
1952  else  else
1953      if test ! -r ${PDEPEND} ; then      if test ! -r ${PKG_GROUPS} ; then
1954          echo "Error:  can't read package dependency info from PDEPEND=\"$PDEPEND\""          echo "Error:  can't read package groups info from PKG_GROUPS=\"$PKG_GROUPS\""
1955          exit 1          exit 1
1956      fi      fi
1957        echo "  getting package groups info from      $PKG_GROUPS"
1958  fi  fi
1959  echo "  getting package dependency info from  $PDEPEND"  
1960  #  Strip the comments and then convert the dependency file into  #  Search for packages to compile.
1961  #  two arrays: PNAME, DNAME  echo "  checking list of packages to compile:"
1962  get_pdepend_list $PDEPEND  PKG_LIST=
1963    if test "x${PKG_LIST}" = x ; then
 #  Search for default packages.  Note that a "$ROOTDIR/pkg/pkg_groups"  
 #  file has been added so that, for convenience, one can specify  
 #  groups of packages using names like "ocean" and "atmosphere".  
 echo "  checking default package list:  "  
 if test "x${PDEFAULT}" = x ; then  
1964      for i in "." $MODS ; do      for i in "." $MODS ; do
1965          if test -r $i"/packages.conf" ; then          if test -r $i"/packages.conf" ; then
1966                  PDEFAULT=$i"/packages.conf"                  PKG_LIST=$i"/packages.conf"
1967                  break                  break
1968          fi          fi
1969      done      done
1970  fi  fi
1971  if test "x${PDEFAULT}" = x ; then  if test "x${PKG_LIST}" = x ; then
1972      PDEFAULT="$ROOTDIR/pkg/pkg_default"      pkg_list='default_pkg_list'
1973  fi      if test "x${PKG_GROUPS}" = x ; then
1974  if test "x${PDEFAULT}" = xNONE ; then          echo "Error:  need package groups info to expand pkg_list=\"$pkg_list\""
1975      echo "    default packages file disabled"          exit 1
1976        fi
1977  else  else
1978      if test ! -r $PDEFAULT ; then      if test ! -r $PKG_LIST ; then
1979          echo "Warning:  can't read default packages from PDEFAULT=\"$PDEFAULT\""          echo "Error:  can't read package list from PKG_LIST=\"$PKG_LIST\""
1980            exit 1
1981      else      else
1982          echo "    using PDEFAULT=\"$PDEFAULT\""          echo "    using PKG_LIST=\"$PKG_LIST\""
1983          #  Strip the comments and add all the names          #  Strip the comments and add all the names
1984          def=`cat $PDEFAULT | sed -e 's/#.*$//g' | $AWK '(NF>0){print $0}'`          pkg_list=`cat $PKG_LIST | sed -e 's/#.*$//g' | $AWK '(NF>0){print $0}'`
1985          RETVAL=$?          RETVAL=$?
1986          if test "x${RETVAL}" != x0 ; then          if test "x${RETVAL}" != x0 ; then
1987              printf "Error: can't parse default package list "              printf "Error: can't parse package list "
1988              echo "-- please check PDEFAULT=\"$PDEFAULT\""              echo "-- please check PKG_LIST=\"$PKG_LIST\""
1989              exit 1              exit 1
1990          fi          fi
         for i in $def ; do  
             PACKAGES="$PACKAGES $i"  
         done  
         echo "    before group expansion packages are:$PACKAGES"  
         RET=1  
         while test $RET = 1 ; do expand_pkg_groups; RET=$?; done  
         echo "    after group expansion packages are: $PACKAGES"  
1991      fi      fi
1992  fi  fi
1993    for i in $pkg_list ; do
1994        PACKAGES="$PACKAGES $i"
1995    done
1996    echo     "    before group expansion packages are:$PACKAGES"
1997    if test "x${PKG_GROUPS}" != x ; then
1998        RET=1
1999        while test $RET = 1 ; do expand_pkg_groups; RET=$?; done
2000        echo "    after group expansion packages are: $PACKAGES"
2001    fi
2002    
2003  echo "  applying DISABLE settings"  echo "  applying DISABLE settings"
2004  echo "" > ./.tmp_pack  echo "" > ./.tmp_pack
# Line 2001  PACKAGES="$PACKAGES $ENABLE" Line 2029  PACKAGES="$PACKAGES $ENABLE"
2029  for i in $PACKAGES ; do  for i in $PACKAGES ; do
2030      j=`echo $i | sed 's/[-+]//'`      j=`echo $i | sed 's/[-+]//'`
2031      if test ! -d "$ROOTDIR/pkg/$j" ; then      if test ! -d "$ROOTDIR/pkg/$j" ; then
2032          echo "Error: can't find package $i at \"$ROOTDIR/pkg/$i\""          echo "Error: dir '$ROOTDIR/pkg/$i' missing for package '$i'"
2033          exit 1          exit 1
2034      fi      fi
2035      echo $i >> ./.tmp_pack      echo $i >> ./.tmp_pack
# Line 2020  mnc_in=$? Line 2048  mnc_in=$?
2048  if test "x$HAVE_NETCDF" != xt ; then  if test "x$HAVE_NETCDF" != xt ; then
2049      if test "x$mnc_in" = x0 ; then      if test "x$mnc_in" = x0 ; then
2050          cat <<EOF          cat <<EOF
   
2051  *********************************************************************  *********************************************************************
2052  WARNING: the "mnc" package was enabled but tests failed to compile  WARNING: the "mnc" package was enabled but tests failed to compile
2053    NetCDF applications.  Please check that:    NetCDF applications.  Please check that:
# Line 2031  WARNING: the "mnc" package was enabled b Line 2058  WARNING: the "mnc" package was enabled b
2058    
2059    Due to this failure, the "mnc" package is now DISABLED.    Due to this failure, the "mnc" package is now DISABLED.
2060  *********************************************************************  *********************************************************************
   
2061  EOF  EOF
2062          PACKAGES=`echo $PACKAGES | sed -e 's/mnc//g'`          PACKAGES=`echo $PACKAGES | sed -e 's/mnc//g'`
2063          DISABLE="$DISABLE mnc"          DISABLE="$DISABLE mnc"
# Line 2063  if test "x$HAVE_NETCDF" != xt ; then Line 2089  if test "x$HAVE_NETCDF" != xt ; then
2089      RETVAL=$?      RETVAL=$?
2090      if test "x$RETVAL" = x0 ; then      if test "x$RETVAL" = x0 ; then
2091          cat <<EOF          cat <<EOF
   
2092  *********************************************************************  *********************************************************************
2093  WARNING: the "profiles" package was enabled but tests failed to  WARNING: the "profiles" package was enabled but tests failed to
2094    compile NetCDF applications.  Please check that:    compile NetCDF applications.  Please check that:
# Line 2074  WARNING: the "profiles" package was enab Line 2099  WARNING: the "profiles" package was enab
2099    
2100    Due to this failure, the "profiles" package is now DISABLED.    Due to this failure, the "profiles" package is now DISABLED.
2101  *********************************************************************  *********************************************************************
   
2102  EOF  EOF
2103          PACKAGES=`echo $PACKAGES | sed -e 's/profiles//g'`          PACKAGES=`echo $PACKAGES | sed -e 's/profiles//g'`
2104          DISABLE="$DISABLE profiles"          DISABLE="$DISABLE profiles"
# Line 2084  EOF Line 2108  EOF
2108      fi      fi
2109  fi  fi
2110    
2111  echo "  applying package dependency rules"  if  test "x${PKG_DEPEND}" != x ; then
2112  ck=    echo "  applying package dependency rules"
2113  while test "x$ck" != xtt ; do    ck=
2114      while test "x$ck" != xtt ; do
2115      i=0      i=0
2116      # rtot=${#PNAME[@]}      # rtot=${#PNAME[@]}
2117      rtot=$nname      rtot=$nname
# Line 2157  while test "x$ck" != xtt ; do Line 2182  while test "x$ck" != xtt ; do
2182          #i=$(( $i + 1 ))          #i=$(( $i + 1 ))
2183      done      done
2184      ck=$ck"t"      ck=$ck"t"
2185  done    done
2186  echo "    packages are: $PACKAGES"    echo "    packages are: $PACKAGES"
2187    fi
2188  for i in $PACKAGES ; do  for i in $PACKAGES ; do
2189      adr="$ROOTDIR/pkg/$i"      adr="$ROOTDIR/pkg/$i"
2190      if test -d $adr ; then      if test -d $adr ; then
# Line 2671  output.txt: \$(EXECUTABLE) Line 2697  output.txt: \$(EXECUTABLE)
2697          @printf 'running ... '          @printf 'running ... '
2698          @\$(EXECUTABLE) > \$@          @\$(EXECUTABLE) > \$@
2699    
2700    # remove most of the files that "make" generates
2701  clean:  clean:
2702          -rm -rf *.p *.$FS90 *.mod ${RMFILES} work.{pc,pcl} *.template          -rm -rf *.p *.$FS90 *.mod ${RMFILES} work.{pc,pcl} *.template
2703          -rm -rf *.o          -rm -rf *.o
2704          -rm -rf *.$FS *.flowdir          -rm -rf *.$FS *.flowdir
2705          -rm -rf *.f$FS90 \$(AD_CLEAN) ad_input*          -rm -rf *.f$FS90 \$(AD_CLEAN) ad_input*
2706    
2707    # remove most of the files that "make" and "make depend" generate
2708  Clean:  Clean:
2709          @make clean          @make clean
2710          @make cleanlinks          @make cleanlinks
2711          -rm -f \$(SPECIAL_FILES)          -rm -f \$(SPECIAL_FILES) f90mkdepend.log
         -rm -f genmake_state genmake_*optfile genmake_warnings genmake_errors  
         -rm -f make.log run.log f90mkdepend.log *.bak "$MAKEFILE.old"  
2712          -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
2713    
2714    # remove also the executable, files that "genmake2" generates (except Makefile)
2715    #         and output from a run (plus output and log files from testreport)
2716  CLEAN:  CLEAN:
2717          @make Clean          @make Clean
2718            -rm -f \$(EXECUTABLE) \$(EXE_AD) *.bak "$MAKEFILE.old"
2719            -rm -f genmake_state genmake_*optfile genmake_warnings genmake_errors
2720            -rm -f genmake.log make.log run.log
2721          -find \$(EXEDIR) -name "*.meta" -exec rm {} \;          -find \$(EXEDIR) -name "*.meta" -exec rm {} \;
2722          -find \$(EXEDIR) -name "*.data" -exec rm {} \;          -find \$(EXEDIR) -name "*.data" -exec rm {} \;
2723          -find \$(EXEDIR) -name "fort.*" -exec rm {} \;          -find \$(EXEDIR) -name "fort.*" -exec rm {} \;
2724          -rm -f \$(EXECUTABLE) \$(EXE_AD) *.txt STD* *diagnostics.log datetime          -rm -f *.txt STD* *diagnostics.log datetime
2725          -rm -f *_MIT_CE_000.opt0000 costfunction*0000          -rm -f *_MIT_CE_000.opt0000 costfunction*0000
2726          -rm -rf mnc_test_*          -rm -rf mnc_test_*
2727    

Legend:
Removed from v.1.207  
changed lines
  Added in v.1.210

  ViewVC Help
Powered by ViewVC 1.1.22