/[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.242 by heimbach, Thu Sep 20 23:12:47 2012 UTC revision 1.248 by jmc, Thu Jan 24 19:07:04 2013 UTC
# Line 907  check_netcdf_libs()  { Line 907  check_netcdf_libs()  {
907        program fgennc        program fgennc
908  #include "netcdf.inc"  #include "netcdf.inc"
909  EOF  EOF
910      if test ! "x$MPI" = x ; then     #if test ! "x$MPI" = x ; then
911          echo '#include "mpif.h"' >> genmake_tnc.F     #    echo '#include "mpif.h"' >> genmake_tnc.F
912      fi     #fi
913      cat <<EOF >> genmake_tnc.F      cat <<EOF >> genmake_tnc.F
914        integer iret, ncid, xid        integer iret, ncid, xid
915        iret = nf_create('genmake_tnc.nc', NF_CLOBBER, ncid)        iret = nf_create('genmake_tnc.nc', NF_CLOBBER, ncid)
# Line 1092  EOF Line 1092  EOF
1092      echo " --> set HAVE_LAPACK='$HAVE_LAPACK'" >> $LOGFILE      echo " --> set HAVE_LAPACK='$HAVE_LAPACK'" >> $LOGFILE
1093  }  }
1094    
1095    check_HAVE_FLUSH()  {
1096        if test ! "x$SKIP_CHECK_FLUSH" = x ; then
1097            return
1098        fi
1099        echo >> $LOGFILE
1100        echo "running: check_HAVE_FLUSH()" >> $LOGFILE
1101        cat <<EOF > genmake_tflsh.$FS
1102          program fgenflsh
1103          integer iounit
1104          character*9 fname
1105          iounit = 26
1106          fname = 'tmp.tflsh'
1107          open(iounit,FILE=fname,STATUS='unknown')
1108          write(iounit,*) 'genmake_tflsh: hello'
1109          call flush(iounit)
1110          close(iounit)
1111          end
1112    EOF
1113        echo "===  genmake_tflsh.$FS  >>>" > genmake_tflsh.log
1114        cat genmake_tflsh.$FS >> genmake_tflsh.log
1115        echo "<<<  genmake_tflsh.$FS  ===" >> genmake_tflsh.log
1116    
1117        echo "$FC $FFLAGS $FOPTIM -c genmake_tflsh.$FS  \ " >> genmake_tflsh.log
1118        echo "  &&  $LINK $FFLAGS $FOPTIM -o genmake_tflsh.o $LIBS" >> genmake_tflsh.log
1119        $FC $FFLAGS $FOPTIM -c genmake_tflsh.$FS >> genmake_tflsh.log 2>&1  \
1120            &&  $LINK $FFLAGS $FOPTIM -o genmake_tflsh genmake_tflsh.o $LIBS >> genmake_tflsh.log 2>&1
1121        RET_COMPILE=$?
1122    
1123        if test "x$RET_COMPILE" = x0 ; then
1124            HAVE_FLUSH=t
1125            #cat genmake_tflsh.log >> $LOGFILE
1126            echo "  check_HAVE_FLUSH: successful" >> $LOGFILE
1127        else
1128            HAVE_FLUSH=f
1129            cat genmake_tflsh.log >> $LOGFILE
1130        fi
1131        rm -f genmake_tflsh*
1132        echo " --> set HAVE_FLUSH='$HAVE_FLUSH'" >> $LOGFILE
1133    }
1134    
1135  ###############################################################################  ###############################################################################
1136  #   Sequential part of script starts here  #   Sequential part of script starts here
# Line 1149  GSL= Line 1188  GSL=
1188  DEVEL=  DEVEL=
1189  HAVE_TEST_L=  HAVE_TEST_L=
1190    
1191    # comment this line out to enable lapack test
1192    SKIP_LAPACK_CHECK=t
1193    
1194  # DEFINES checked by test compilation or command-line  # DEFINES checked by test compilation or command-line
1195  HAVE_SYSTEM=  HAVE_SYSTEM=
1196  HAVE_FDATE=  HAVE_FDATE=
# Line 1160  HAVE_NETCDF= Line 1202  HAVE_NETCDF=
1202  HAVE_ETIME=  HAVE_ETIME=
1203  IGNORE_TIME=  IGNORE_TIME=
1204  HAVE_LAPACK=  HAVE_LAPACK=
1205    HAVE_FLUSH=
1206    
1207  MODS=  MODS=
1208  TOOLSDIR=  TOOLSDIR=
# Line 1213  gm_s3="FEXTRAFLAGS IEEE DEVEL GSL TS PAP Line 1256  gm_s3="FEXTRAFLAGS IEEE DEVEL GSL TS PAP
1256  #  The following state is not directly set by command-line switches  #  The following state is not directly set by command-line switches
1257  gm_s4="LN S64 LINK PACKAGES INCLUDES FFLAGS FOPTIM"  gm_s4="LN S64 LINK PACKAGES INCLUDES FFLAGS FOPTIM"
1258  gm_s5="CFLAGS LIBS KPP KFLAGS1 KFLAGS2 KPPFILES NOOPTFILES NOOPTFLAGS"  gm_s5="CFLAGS LIBS KPP KFLAGS1 KFLAGS2 KPPFILES NOOPTFILES NOOPTFLAGS"
1259  gm_s6="TOOLSDIR SOURCEDIRS INCLUDEDIRS EXEDIR EXECUTABLE EXEHOOK"  gm_s6="PWD TOOLSDIR SOURCEDIRS INCLUDEDIRS EXEDIR EXECUTABLE EXEHOOK"
1260  gm_s7="PWD THISHOST THISUSER THISDATE THISVER MACHINE"  gm_s7="THISHOST THISUSER THISDATE THISVER MACHINE FC_NAMEMANGLE"
1261  gm_s8="FC_NAMEMANGLE HAVE_NETCDF HAVE_SYSTEM HAVE_FDATE HAVE_ETIME HAVE_LAPACK"  gm_s8="HAVE_NETCDF HAVE_SYSTEM HAVE_FDATE HAVE_ETIME HAVE_LAPACK HAVE_FLUSH"
1262    
1263  #  The following are all related to adjoint/tangent-linear stuff  #  The following are all related to adjoint/tangent-linear stuff
1264  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 1659  check_for_broken_Ff Line 1702  check_for_broken_Ff
1702  if test ! "x$MPI" = x ; then  if test ! "x$MPI" = x ; then
1703        echo "  Turning on MPI cpp macros"        echo "  Turning on MPI cpp macros"
1704        DEFINES="$DEFINES -DALLOW_USE_MPI"        DEFINES="$DEFINES -DALLOW_USE_MPI"
1705    #- To compile code older than checkpoint63s (2012/09/05), un-comment the following line:
1706    #     DEFINES="$DEFINES -DALWAYS_USE_MPI"
1707  fi  fi
1708  if test ! "x$OMP" = x ; then  if test ! "x$OMP" = x ; then
1709        echo "  Add OMPFLAG and turn on OpenMP cpp macros"        echo "  Add OMPFLAG and turn on OpenMP cpp macros"
# Line 1883  if test "x$HAVE_LAPACK" != x ; then Line 1928  if test "x$HAVE_LAPACK" != x ; then
1928  else  else
1929      echo "no"      echo "no"
1930  fi  fi
 DEFINES="$DEFINES $IGNORE_TIME"  
1931    
1932    printf "  Can we call FLUSH intrinsic subroutine...  "
1933    check_HAVE_FLUSH
1934    if test "x$HAVE_FLUSH" = xt ; then
1935        DEFINES="$DEFINES -DHAVE_FLUSH"
1936        echo "yes"
1937    else
1938        echo "no"
1939    fi
1940    
1941    DEFINES="$DEFINES $IGNORE_TIME"
1942  if test "x$EMBED_SRC" = xt ; then  if test "x$EMBED_SRC" = xt ; then
1943      build_embed_encode      build_embed_encode
1944  fi  fi
# Line 2715  else Line 2769  else
2769      echo "EMBEDDED_FILES = " >>$MAKEFILE      echo "EMBEDDED_FILES = " >>$MAKEFILE
2770  fi  fi
2771    
2772    # extract default cpp search path so we can pass it to makedepend
2773    CPPINCLUDES=`cat /dev/null | $CPP -v 2>&1 | awk '/^End of search/{f=0}!/^\#/{if(f){printf " -I%s", $1;}}/^\#include "..." search start/{f=1}'`
2774    
2775  cat >>$MAKEFILE <<EOF  cat >>$MAKEFILE <<EOF
2776  # Unix ln (link)  # Unix ln (link)
2777  LN = ${LN}  LN = ${LN}
# Line 2735  LINK = ${LINK} ${LDADD} Line 2792  LINK = ${LINK} ${LDADD}
2792  DEFINES = ${DEFINES}  DEFINES = ${DEFINES}
2793  # Includes for CPP  # Includes for CPP
2794  INCLUDES = ${INCLUDES}  INCLUDES = ${INCLUDES}
2795    # default CPP includes for makedepend
2796    CPPINCLUDES = ${CPPINCLUDES}
2797  # Flags for KPP  # Flags for KPP
2798  KFLAGS1 = ${KFLAGS1}  KFLAGS1 = ${KFLAGS1}
2799  KFLAGS2 = ${KFLAGS2}  KFLAGS2 = ${KFLAGS2}
# Line 2800  fwd_exe_target: Line 2859  fwd_exe_target:
2859    
2860  depend:  depend:
2861          @\$(MAKE) -f \$(MAKEFILE) links          @\$(MAKE) -f \$(MAKEFILE) links
2862          \$(MAKEDEPEND) -f \$(MAKEFILE) -o .$FS \$(DEFINES) \$(INCLUDES) \$(F77_SRC_FILES)          \$(MAKEDEPEND) -f \$(MAKEFILE) -o .$FS \$(DEFINES) \$(INCLUDES) \$(CPPINCLUDES) \$(F77_SRC_FILES)
2863          \$(TOOLSDIR)/f90mkdepend >> \$(MAKEFILE)          \$(TOOLSDIR)/f90mkdepend >> \$(MAKEFILE)
2864          -rm -f makedepend.out          -rm -f makedepend.out
2865    
# Line 2900  cat >>$MAKEFILE <<EOF Line 2959  cat >>$MAKEFILE <<EOF
2959  ## This nullifies any default implicit rules concerning these two file types:  ## This nullifies any default implicit rules concerning these two file types:
2960  ## %.o : %.F  ## %.o : %.F
2961    
2962  # C preprocessing and replacing the _d in constants:  # C preprocessing and replacing the _d in constants:
2963  CPPCMD = cat \$< | ${CPP} \$(DEFINES) \$(INCLUDES) | ${S64}  CPPCMD = cat \$< | ${CPP} \$(DEFINES) \$(INCLUDES) | ${S64}
2964    
2965  .F.$FS:  .F.$FS:
# Line 3265  OAD_intrinsics_oad.f \$(CB2M_AD_FILES:.f Line 3324  OAD_intrinsics_oad.f \$(CB2M_AD_FILES:.f
3324  \$(OPENAD_SUPPORT_F90_SRC_FILES) \$(OPENAD_SUPPORT_C_SRC_FILES):  \$(OPENAD_SUPPORT_F90_SRC_FILES) \$(OPENAD_SUPPORT_C_SRC_FILES):
3325          \$(LN) \${OADTOOLS}/\$@ .          \$(LN) \${OADTOOLS}/\$@ .
3326    
3327  AD_CLEAN += *_mod.h *_mod.F90 *.FF90 *.mod-whirl temp.sed oad_cp.* postProcess.tag oadtempflile \$(PPEXTRAS:.F=.f)  AD_CLEAN += *_mod.h *_mod.F90 *.FF90 *.mod-whirl temp.sed oad_cp.* postProcess.tag \$(PPEXTRAS:.F=.f)
3328    
3329  # ============ end OpenAD specific section ==============  # ============ end OpenAD specific section ==============
3330    

Legend:
Removed from v.1.242  
changed lines
  Added in v.1.248

  ViewVC Help
Powered by ViewVC 1.1.22