/[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.153 by edhill, Fri Jul 14 16:39:39 2006 UTC revision 1.160 by ce107, Wed Jan 31 21:28:10 2007 UTC
# Line 325  find_possible_configs()  { Line 325  find_possible_configs()  {
325    
326      #================================================================      #================================================================
327      #  look for possible C compilers      #  look for possible C compilers
328      tmp="$MITGCM_CC $CC gcc c89 cc c99 mpicc"      tmp="$MITGCM_CC $CC gcc c89 cc c99 mpicc icc"
329      p_CC=      p_CC=
330      for c in $tmp ; do      for c in $tmp ; do
331          rm -f ./genmake_hello.c  ./genmake_hello          rm -f ./genmake_hello.c  ./genmake_hello
# Line 364  EOF Line 364  EOF
364    
365      #================================================================      #================================================================
366      #  look for possible FORTRAN compilers      #  look for possible FORTRAN compilers
367      tmp="$MITGCM_FC $FC efc g77 f77 pgf77 pgf95 ifc f90 f95 mpif77 mpf77 mpxlf95 gfortran"      tmp="$MITGCM_FC $FC efc g77 f77 pgf77 pgf95 ifc ifort f90 f95 mpif77 mpf77 mpxlf95 gfortran g95"
368      p_FC=      p_FC=
369      for c in $tmp ; do      for c in $tmp ; do
370          rm -f ./hello.f ./hello          rm -f ./hello.f ./hello
# Line 601  Usage: "$0" [OPTIONS] Line 601  Usage: "$0" [OPTIONS]
601    
602      -gsl | --gsl      -gsl | --gsl
603            Use GSL to control floating point rounding and precision            Use GSL to control floating point rounding and precision
604        -devel | --devel
605              Add additional warning and debugging flags for development
606    
607      -mpi | --mpi      -mpi | --mpi
608            Include MPI header files and link to MPI libraries            Include MPI header files and link to MPI libraries
# Line 946  EOF Line 948  EOF
948      RET_CPP=f      RET_CPP=f
949      COMM="cat genmake_tnc.F | $CPP $DEFINES $INCLUDES"      COMM="cat genmake_tnc.F | $CPP $DEFINES $INCLUDES"
950      echo "$COMM" >> genmake_tnc.log      echo "$COMM" >> genmake_tnc.log
951      $COMM > genmake_tnc.$FS 2>/dev/null  &&  RET_CPP=t      eval $COMM > genmake_tnc.$FS 2>/dev/null  &&  RET_CPP=t
952      if test "x$RET_CPP" = xf ; then      if test "x$RET_CPP" = xf ; then
953          echo "  WARNING: CPP failed to pre-process the netcdf test." \          echo "  WARNING: CPP failed to pre-process the netcdf test." \
954              >> genmake_tnc.log              >> genmake_tnc.log
# Line 983  EOF Line 985  EOF
985          if test "x$RET_COMPILE" = x0 ; then          if test "x$RET_COMPILE" = x0 ; then
986              LIBS="$LIBS -lnetcdf"              LIBS="$LIBS -lnetcdf"
987              HAVE_NETCDF=t              HAVE_NETCDF=t
988            else
989            # try again with "-lnetcdff" added to the libs
990                echo "try again with added '-lnetcdff -lnetcdf'" > genmake_tnc.log
991                echo "cat genmake_tnc.F | $CPP $DEFINES $INCLUDES > genmake_tnc.$FS \ " >> genmake_tnc.log
992                echo " &&  $FC $FFLAGS $FOPTIM -c genmake_tnc.$FS \ " >> genmake_tnc.log
993                echo " &&  $LINK $FFLAGS $FOPTIM -o genmake_tnc genmake_tnc.o $LIBS -lnetcdf" >> genmake_tnc.log
994                cat genmake_tnc.F | $CPP $DEFINES $INCLUDES > genmake_tnc.$FS 2>/dev/null  \
995                    &&  $FC $FFLAGS $FOPTIM -c genmake_tnc.$FS >> genmake_tnc.log 2>&1  \
996                    &&  $LINK $FFLAGS $FOPTIM -o genmake_tnc genmake_tnc.o $LIBS -lnetcdff -lnetcdf >> genmake_tnc.log 2>&1
997                RET_COMPILE=$?
998                cat genmake_tnc.log >> genmake_warnings
999                if test "x$RET_COMPILE" = x0 ; then
1000                    LIBS="$LIBS -lnetcdff -lnetcdf"
1001                    HAVE_NETCDF=t
1002                fi
1003          fi          fi
1004      fi      fi
1005      rm -f genmake_tnc*      rm -f genmake_tnc*
# Line 1036  PAPI= Line 1053  PAPI=
1053  PCL=  PCL=
1054  HPMT=  HPMT=
1055  GSL=  GSL=
1056    DEVEL=
1057  HAVE_TEST_L=  HAVE_TEST_L=
1058    
1059  # DEFINES checked by test compilation or command-line  # DEFINES checked by test compilation or command-line
# Line 1094  TAMC_EXTRA= Line 1112  TAMC_EXTRA=
1112    
1113  #  The following state can be set directly by command-line switches  #  The following state can be set directly by command-line switches
1114  gm_s1="OPTFILE PDEPEND PDEFAULT MAKEFILE PLATFORM ROOTDIR MODS DISABLE ENABLE"  gm_s1="OPTFILE PDEPEND PDEFAULT MAKEFILE PLATFORM ROOTDIR MODS DISABLE ENABLE"
1115  gm_s2="FC CPP IEEE TS PAPIS PCLS PAPI PCL HPMT GSL MPI JAM DUMPSTATE STANDARDDIRS"  gm_s2="FC CPP IEEE TS PAPIS PCLS PAPI PCL HPMT GSL DEVEL MPI JAM DUMPSTATE STANDARDDIRS"
1116    
1117  #  The following state is not directly set by command-line switches  #  The following state is not directly set by command-line switches
1118  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 1292  for ac_option in "$@" ; do Line 1310  for ac_option in "$@" ; do
1310          -gsl | --gsl)          -gsl | --gsl)
1311              GSL=true ;;              GSL=true ;;
1312    
1313            -devel | --devel)
1314                DEVEL=true ;;
1315    
1316          -mpi | --mpi)          -mpi | --mpi)
1317              MPI=true ;;              MPI=true ;;
1318          -mpi=* | --mpi=*)          -mpi=* | --mpi=*)
# Line 1352  fi Line 1373  fi
1373  #  Find the MITgcm ${ROOTDIR}  #  Find the MITgcm ${ROOTDIR}
1374  if test "x${ROOTDIR}" = x ; then  if test "x${ROOTDIR}" = x ; then
1375      tmp=`echo $PWD | sed -e 's/\// /g' | $AWK '{print $NR}'`      tmp=`echo $PWD | sed -e 's/\// /g' | $AWK '{print $NR}'`
1376      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
1377          ROOTDIR=".."          ROOTDIR=".."
1378      else      else
1379          for d in . .. ../.. ../../.. ../../../.. ../../../../.. ; do          for d in . .. ../.. ../../.. ../../../.. ../../../../.. ; do
# Line 1818  if test -r $ROOTDIR"/eesupp/src/Makefile Line 1839  if test -r $ROOTDIR"/eesupp/src/Makefile
1839      fi      fi
1840  fi  fi
1841    
1842  #same for exch2  #same for pkg/exch2 and pkg/regrid
1843  if test -r $ROOTDIR"/pkg/exch2/Makefile" ; then  for pdir in exch2 regrid ; do
1844      echo "  Making source files in exch2 from  templates"      if test -r $ROOTDIR"/pkg/${pdir}/Makefile" ; then
1845      ( cd $ROOTDIR"/pkg/exch2/" && $MAKE ) > make_exch2.errors 2>&1          echo "  Making source files in pkg/${pdir} from templates"
1846      RETVAL=$?          ( cd $ROOTDIR"/pkg/"${pdir} && $MAKE ) > make_${pdir}.errors 2>&1
1847      if test "x${RETVAL}" = x0 ; then          RETVAL=$?
1848          rm -f make_exch2.errors          if test "x${RETVAL}" = x0 ; then
1849      else              rm -f make_${pdir}.errors
1850          echo "Error: problem encountered while building source files in exch2:"          else
1851          cat make_exch2.errors 1>&2              echo "Error: problem encountered while building source files in pkg/${pdir}:"
1852          exit 1              cat make_${pdir}.errors 1>&2
1853                exit 1
1854            fi
1855      fi      fi
1856  fi  done
1857    
1858  printf "\n===  Determining package settings  ===\n"  printf "\n===  Determining package settings  ===\n"
1859  if  test "x${PDEPEND}" = x ; then  if  test "x${PDEPEND}" = x ; then
# Line 2205  if test ! "x$DIVA" = x ; then Line 2228  if test ! "x$DIVA" = x ; then
2228          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
2229      else      else
2230          echo " We cannot create a copy of mpif.h!"          echo " We cannot create a copy of mpif.h!"
2231          exit -1  #       exit -1
2232      fi      fi
2233  fi  fi
2234    
# Line 2456  lib: libmitgcmuv.a Line 2479  lib: libmitgcmuv.a
2479    
2480  libmitgcmuv.a: \$(OBJFILES)  libmitgcmuv.a: \$(OBJFILES)
2481          ar rcv libmitgcmuv.a \$(OBJFILES)          ar rcv libmitgcmuv.a \$(OBJFILES)
2482            ar d   libmitgcmuv.a main.o
2483    
2484  links: \$(SRCFILES) \$(CSRCFILES) \$(HEADERFILES) \$(F90SRCFILES) \$(SPECIAL_FILES)  links: \$(SRCFILES) \$(CSRCFILES) \$(HEADERFILES) \$(F90SRCFILES) \$(SPECIAL_FILES)
2485    
# Line 2466  output.txt: \$(EXECUTABLE) Line 2490  output.txt: \$(EXECUTABLE)
2490          @\$(EXECUTABLE) > \$@          @\$(EXECUTABLE) > \$@
2491    
2492  clean:  clean:
2493          -rm -rf *.o *.$FS *.p *.$FS90 *.mod ${RMFILES} work.{pc,pcl} *.template          -rm -rf *.p *.$FS90 *.mod ${RMFILES} work.{pc,pcl} *.template
2494            -rm -rf *.o
2495            -rm -rf *.$FS
2496  Clean:  Clean:
2497          @make clean          @make clean
2498          @make cleanlinks          @make cleanlinks
# Line 2536  cat >>$MAKEFILE <<EOF Line 2562  cat >>$MAKEFILE <<EOF
2562          \$(CPP) \$(DEFINES) \$(INCLUDES) > \$@          \$(CPP) \$(DEFINES) \$(INCLUDES) > \$@
2563  .$FS.o:  .$FS.o:
2564          \$(FC) \$(FFLAGS) \$(FOPTIM) -c \$<          \$(FC) \$(FFLAGS) \$(FOPTIM) -c \$<
2565  .F90.$FS90:  .F90.o:  
         \$(CPP) \$(DEFINES) \$(INCLUDES) > \$@  
 .$FS90.o:  
2566          \$(F90C) \$(F90FLAGS) \$(F90OPTIM) -c \$<          \$(F90C) \$(F90FLAGS) \$(F90OPTIM) -c \$<
2567  .c.o:  .c.o:
2568          \$(CC) \$(CFLAGS) \$(DEFINES) \$(INCLUDES) -c \$<          \$(CC) \$(CFLAGS) \$(DEFINES) \$(INCLUDES) -c \$<

Legend:
Removed from v.1.153  
changed lines
  Added in v.1.160

  ViewVC Help
Powered by ViewVC 1.1.22