/[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.265 by jmc, Fri Apr 4 21:34:01 2014 UTC revision 1.276 by jmc, Thu Jan 7 20:21:42 2016 UTC
# Line 22  Usage: "$0" [OPTIONS] Line 22  Usage: "$0" [OPTIONS]
22      -oad | --oad      -oad | --oad
23            Generate a Makefile for an OpenAD built            Generate a Makefile for an OpenAD built
24    
25        -nocat4ad | -dog4ad | -ncad | -dad
26              do not concatenate (cat) source code sent to TAF
27              resulting in compilation of multiple files
28    
29      -adoptfile NAME | --adoptfile NAME | -adof NAME | --adof NAME      -adoptfile NAME | --adoptfile NAME | -adof NAME | --adof NAME
30        -adoptfile=NAME | --adoptfile=NAME | -adof=NAME | --adof=NAME        -adoptfile=NAME | --adoptfile=NAME | -adof=NAME | --adof=NAME
31            Use "NAME" as the adoptfile.  By default, the file at            Use "NAME" as the adoptfile.  By default, the file at
# Line 1083  EOF Line 1087  EOF
1087  }  }
1088    
1089  check_lapack_libs()  {  check_lapack_libs()  {
1090      if test ! "x$SKIP_LAPACK_CHECK" = x ; then      if test "x$CHECK_FOR_LAPACK" = xf ; then return ; fi
         return  
     fi  
1091      echo >> $LOGFILE      echo >> $LOGFILE
1092      echo "running: check_lapack_libs()" >> $LOGFILE      echo "running: check_lapack_libs()" >> $LOGFILE
1093      cat <<EOF > genmake_tla.F      cat <<EOF > genmake_tla.F
# Line 1281  GSL= Line 1283  GSL=
1283  DEVEL=  DEVEL=
1284  HAVE_TEST_L=  HAVE_TEST_L=
1285    
1286  # comment this line out to enable lapack test  # set this to "t" to enable lapack test
1287  SKIP_LAPACK_CHECK=t  CHECK_FOR_LAPACK=f
1288    
1289  # DEFINES checked by test compilation or command-line  # DEFINES checked by test compilation or command-line
1290  HAVE_SYSTEM=  HAVE_SYSTEM=
# Line 1331  FS90= Line 1333  FS90=
1333  AUTODIFF_PKG_USED=f  AUTODIFF_PKG_USED=f
1334  OPENAD=  OPENAD=
1335  AD_OPTFILE=  AD_OPTFILE=
1336    CAT_SRC_FOR_TAF=1
1337  TAF=  TAF=
1338  AD_TAF_FLAGS=  AD_TAF_FLAGS=
1339  FTL_TAF_FLAGS=  FTL_TAF_FLAGS=
# Line 1413  for ac_option in "$@" ; do Line 1416  for ac_option in "$@" ; do
1416              OPTFILE=$ac_optarg ;;              OPTFILE=$ac_optarg ;;
1417    
1418          -oad | --oad)          -oad | --oad)
1419              OPENAD="true" ;;              OPENAD="true" ; ALWAYS_USE_F90=1 ;;
1420            -nocat4ad | -dog4ad | -ncad | -dad)
1421                CAT_SRC_FOR_TAF=0 ;;
1422          -adoptfile | --adoptfile | -adof | --adof)          -adoptfile | --adoptfile | -adof | --adof)
1423              ac_prev=AD_OPTFILE ;;              ac_prev=AD_OPTFILE ;;
1424          -adoptfile=* | --adoptfile=* | -adof=* | --adof=*)          -adoptfile=* | --adoptfile=* | -adof=* | --adof=*)
# Line 1585  done Line 1590  done
1590    
1591  #TMP=./genmk_$$  #TMP=./genmk_$$
1592  #- try to put temporary files in system-local /tmp dir  #- try to put temporary files in system-local /tmp dir
1593  TMP=/tmp/genmk_$$  TMP=/tmp/genmk_${USER}_$$
1594  touch $TMP ; retVal=$?  touch $TMP ; retVal=$?
1595  if [ $retVal -eq 0 ] ; then  if [ $retVal -eq 0 ] ; then
1596    if test ! -r $TMP ; then TMP=./genmk_$$ ; fi    if test ! -r $TMP ; then TMP=./genmk_$$ ; fi
# Line 1959  else Line 1964  else
1964  fi  fi
1965  rm -f genmake_tcomp*  rm -f genmake_tcomp*
1966    
1967  printf "  Do we have the etime() command using $FC...  "  printf "  Do we have the etime() command using $FC... "
1968  cat > genmake_tcomp.$FS <<EOF  cat > genmake_tcomp.$FS <<EOF
1969        program hello        program hello
1970        REAL*4 ACTUAL, TARRAY(2)        REAL*4 actual, tarray(2)
1971        EXTERNAL ETIME        actual = -999.
1972        REAL*4 ETIME        call ETIME( tarray, actual )
1973        actual = etime( tarray )        if ( actual.ge.0. ) then
1974        print *, tarray          print *, 0, tarray, actual
1975          else
1976            print *, 1, tarray, actual
1977          endif
1978        end        end
1979  EOF  EOF
1980  $FC $FFLAGS -o genmake_tcomp genmake_tcomp.$FS > genmake_tcomp.log 2>&1  $FC $FFLAGS -o genmake_tcomp genmake_tcomp.$FS > genmake_tcomp.log 2>&1
1981  RETVAL=$?  RETVAL=$?
1982  if test "x$RETVAL" = x0 ; then  if test "x$RETVAL" = x0 ; then
1983        echo -n 'c,'
1984        ./genmake_tcomp > genmake_tcomp.out 2>&1
1985        RETVAL=$?
1986    fi
1987    if test "x$RETVAL" = x0 ; then
1988        echo -n 'r:'
1989        RETVAL=`cat genmake_tcomp.out | $AWK '{print $1}'`
1990    fi
1991    if test "x$RETVAL" = x0 ; then
1992      HAVE_ETIME=t      HAVE_ETIME=t
1993      DEFINES="$DEFINES -DHAVE_ETIME"      DEFINES="$DEFINES -DHAVE_ETIME"
1994      echo "yes"      echo " yes"
1995  else  else
1996      HAVE_ETIME=      HAVE_ETIME=
1997      echo "no"      echo " no"
1998  fi  fi
1999    #mkdir chk_etime ; cp -p -f genmake_tcomp* chk_etime
2000  rm -f genmake_tcomp*  rm -f genmake_tcomp*
2001    
2002  printf "  Can we call simple C routines (here, \"cloc()\") using $FC...  "  printf "  Can we call simple C routines (here, \"cloc()\") using $FC...  "
# Line 2633  if test "x$OPENAD" != x ; then Line 2651  if test "x$OPENAD" != x ; then
2651      OAD_CB2M_FILES="/dev/null"      OAD_CB2M_FILES="/dev/null"
2652      OADTOOLS="$TOOLSDIR/OAD_support"      OADTOOLS="$TOOLSDIR/OAD_support"
2653      echo "  looking for dontCompile file:  "      echo "  looking for dontCompile file:  "
2654      for i in "." $MODS ; do      for i in "." $MODS $OADTOOLS ; do
2655          if test -r $i"/dontCompile" ; then          if test -r $i"/dontCompile" ; then
2656              OAD_DONT_COMPILE=$i"/dontCompile"              OAD_DONT_COMPILE=$i"/dontCompile"
2657              echo "     found $OAD_DONT_COMPILE"              echo "     found $OAD_DONT_COMPILE"
# Line 2641  if test "x$OPENAD" != x ; then Line 2659  if test "x$OPENAD" != x ; then
2659          fi          fi
2660      done      done
2661      echo "  looking for dontTransform file:  "      echo "  looking for dontTransform file:  "
2662      for i in "." $MODS ; do      for i in "." $MODS $OADTOOLS ; do
2663          if test -r $i"/dontTransform" ; then          if test -r $i"/dontTransform" ; then
2664              OAD_DONT_TRANSFORM=$i"/dontTransform"              OAD_DONT_TRANSFORM=$i"/dontTransform"
2665              echo "     found $OAD_DONT_TRANSFORM"              echo "     found $OAD_DONT_TRANSFORM"
# Line 2649  if test "x$OPENAD" != x ; then Line 2667  if test "x$OPENAD" != x ; then
2667          fi          fi
2668      done      done
2669      echo "  looking for keepOriginal file:  "      echo "  looking for keepOriginal file:  "
2670      for i in "." $MODS ; do      for i in "." $MODS $OADTOOLS ; do
2671          if test -r $i"/keepOriginal" ; then          if test -r $i"/keepOriginal" ; then
2672              OAD_KEEP_ORIGINAL=$i"/keepOriginal"              OAD_KEEP_ORIGINAL=$i"/keepOriginal"
2673              echo "     found $OAD_KEEP_ORIGINAL"              echo "     found $OAD_KEEP_ORIGINAL"
# Line 2657  if test "x$OPENAD" != x ; then Line 2675  if test "x$OPENAD" != x ; then
2675          fi          fi
2676      done      done
2677      echo "  looking for cb2mFiles:  "      echo "  looking for cb2mFiles:  "
2678      for i in "." $MODS ; do      for i in "." $MODS $OADTOOLS ; do
2679          if test -r $i"/cb2mFiles" ; then          if test -r $i"/cb2mFiles" ; then
2680              OAD_CB2M_FILES=$i"/cb2mFiles"              OAD_CB2M_FILES=$i"/cb2mFiles"
2681              echo "     found $OAD_CB2M_FILES"              echo "     found $OAD_CB2M_FILES"
# Line 2896  CPPINCLUDES = ${CPPINCLUDES} Line 2914  CPPINCLUDES = ${CPPINCLUDES}
2914  KFLAGS1 = ${KFLAGS1}  KFLAGS1 = ${KFLAGS1}
2915  KFLAGS2 = ${KFLAGS2}  KFLAGS2 = ${KFLAGS2}
2916  # Optim./debug for FC  # Optim./debug for FC
2917  FFLAGS = ${FFLAGS} ${FEXTRAFLAGS}  FFLAGS = ${FFLAGS}
2918  FOPTIM = ${FOPTIM}  FOPTIM = ${FOPTIM} ${FEXTRAFLAGS}
2919  # Optim./debug for FC  # Optim./debug for FC
2920  F90FLAGS = ${F90FLAGS}  F90FLAGS = ${F90FLAGS}
2921  F90OPTIM = ${F90OPTIM}  F90OPTIM = ${F90OPTIM}
# Line 2973  links: \$(F77_SRC_FILES) \$(C_SRC_FILES) Line 2991  links: \$(F77_SRC_FILES) \$(C_SRC_FILES)
2991    
2992  small_f: \$(F77_PP_SRC_FILES) \$(F90_PP_SRC_FILES)  small_f: \$(F77_PP_SRC_FILES) \$(F90_PP_SRC_FILES)
2993    
 # output.txt: \$(EXECUTABLE)  
 #       @printf 'running ... '  
 #       @\$(EXECUTABLE) > \$@  
   
2994  # remove most of the files that "make" generates  # remove most of the files that "make" generates
2995  clean:  clean:
2996          -rm -rf *.p *.$FS90 *.mod ${RMFILES} work.{pc,pcl} *.template          -rm -rf *.p *.$FS90 *.mod ${RMFILES} work.{pc,pcl} *.template
# Line 3128  done Line 3142  done
3142  echo >> $MAKEFILE  echo >> $MAKEFILE
3143  rm -f $TMP.adSrcFiles  rm -f $TMP.adSrcFiles
3144    
3145    if test $CAT_SRC_FOR_TAF = 0 ; then
3146    cat >>$MAKEFILE <<EOF
3147    
3148    # ... Utilities ...
3149    remove_comments:
3150            sed -i.bak -f \$(TOOLSDIR)/remove_comments_sed \$(AD_FILES)
3151            @-rm -f \$(AD_FILES:.$FS=.$FS.bak)
3152    adj_sed:
3153            sed -i.bak -f \$(TOOLSDIR)/adjoint_sed \$(AD_FILES:.$FS=_ad.$FS)
3154            @-rm -f \$(AD_FILES:.$FS=_ad.$FS.bak)
3155    ftl_sed:
3156            sed -i.bak -f \$(TOOLSDIR)/adjoint_sed \$(AD_FILES:.$FS=_tl.$FS)
3157            @-rm -f \$(AD_FILES:.$FS=_tl.$FS.bak)
3158    adobjfiles: \$(AD_FILES:.$FS=_ad.o)
3159    ftlobjfiles: \$(AD_FILES:.$FS=_tl.o)
3160    EOF
3161    fi
3162    
3163  cat >>$MAKEFILE <<EOF  cat >>$MAKEFILE <<EOF
3164    
3165  # ... AD ...  # ... AD ...
# Line 3150  ad_input_code.$FS: \$(AD_FILES) \$(AD_FL Line 3182  ad_input_code.$FS: \$(AD_FILES) \$(AD_FL
3182          @\$(MAKE) -f \$(MAKEFILE) \$(FLOWFILES)          @\$(MAKE) -f \$(MAKEFILE) \$(FLOWFILES)
3183          cat \$(FLOWFILES) \$(AD_FILES) | sed -f \$(TOOLSDIR)/remove_comments_sed > ad_input_code.$FS          cat \$(FLOWFILES) \$(AD_FILES) | sed -f \$(TOOLSDIR)/remove_comments_sed > ad_input_code.$FS
3184    
3185  ad_taf_output.$FS: ad_input_code.$FS  adtafonly:
         @-rm -f ad_input_code_ad.$FS ; echo ''  
3186          \$(TAF) \$(AD_TAF_FLAGS) \$(TAF_EXTRA) ad_input_code.$FS          \$(TAF) \$(AD_TAF_FLAGS) \$(TAF_EXTRA) ad_input_code.$FS
3187          ls -l ad_input_code_ad.$FS          ls -l ad_input_code_ad.$FS
3188          cat ad_input_code_ad.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ad_taf_output.$FS          cat ad_input_code_ad.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ad_taf_output.$FS
3189    
3190  adtafonly:  EOF
3191    
3192    if test $CAT_SRC_FOR_TAF = 1 ; then
3193    cat >>$MAKEFILE <<EOF
3194    # ... send 1 file to TAF ...
3195    ad_taf_output.$FS: ad_input_code.$FS
3196            @-rm -f ad_input_code_ad.$FS ; echo ''
3197          \$(TAF) \$(AD_TAF_FLAGS) \$(TAF_EXTRA) ad_input_code.$FS          \$(TAF) \$(AD_TAF_FLAGS) \$(TAF_EXTRA) ad_input_code.$FS
3198          ls -l ad_input_code_ad.$FS          ls -l ad_input_code_ad.$FS
3199          cat ad_input_code_ad.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ad_taf_output.$FS          cat ad_input_code_ad.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ad_taf_output.$FS
# Line 3164  adtafonly: Line 3201  adtafonly:
3201  \$(EXE_AD): \$(SPECIAL_FILES) \$(H_SRC_FILES) ad_taf_output.o \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(EMBEDDED_FILES)  \$(EXE_AD): \$(SPECIAL_FILES) \$(H_SRC_FILES) ad_taf_output.o \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(EMBEDDED_FILES)
3202          \$(LINK) -o \${EXE_AD} \$(FFLAGS) \$(FOPTIM) ad_taf_output.o \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(LIBS)          \$(LINK) -o \${EXE_AD} \$(FFLAGS) \$(FOPTIM) ad_taf_output.o \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(LIBS)
3203    
3204  ad_tamc_output.$FS: ad_input_code.$FS  adobj: ad_taf_output.o \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o)
         \$(TAMC) \$(AD_TAMC_FLAGS) \$(TAMC_EXTRA) ad_input_code.$FS  
         cat ad_input_code_ad.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ad_tamc_output.$FS  
3205    
3206  ad_tamc: ad_tamc_output.o \$(OBJFILES)  EOF
         \$(LINK) -o ${EXE_AD} \$(FFLAGS) \$(FOPTIM) \$(OBJFILES) ad_tamc_output.o \$(LIBS)  
3207    
3208    else
3209    cat >>$MAKEFILE <<EOF
3210    # ... send multiple files to TAF ...
3211    ad_taf_output.$FS: \$(AD_FLOW_FILES) \$(AD_FILES)
3212            @$BASH\$(TOOLSDIR)/convert_cpp_cmd2defines "Adjoint version" -bAD_CONFIG_H -DALLOW_ADJOINT_RUN -UALLOW_TANGENTLINEAR_RUN > ad_config.template
3213            cmp ad_config.template AD_CONFIG.h || cat ad_config.template > AD_CONFIG.h
3214            @-rm -f ad_config.template
3215            @\$(MAKE) -f \$(MAKEFILE) \$(F77_PP_SRC_FILES)
3216            @\$(MAKE) -f \$(MAKEFILE) \$(FLOWFILES)
3217            @-rm -f \$(AD_FILES:.$FS=_ad.$FS) \$(AD_FILES:.$FS=_ad.o); echo ''
3218            \$(MAKE) -f \$(MAKEFILE) remove_comments
3219            \$(TAF) \$(AD_TAF_FLAGS) \$(TAF_EXTRA) \$(FLOWFILES) \$(AD_FILES)
3220            \$(MAKE) -f \$(MAKEFILE) adj_sed
3221            cat \$(AD_FILES:.$FS=_ad.$FS) > ad_taf_output.$FS
3222    
3223    \$(EXE_AD): \$(SPECIAL_FILES) \$(H_SRC_FILES) ad_taf_output.$FS \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(EMBEDDED_FILES)
3224            \$(MAKE) -f \$(MAKEFILE) adobjfiles
3225            \$(LINK) -o \${EXE_AD} \$(FFLAGS) \$(FOPTIM) \$(AD_FILES:.$FS=_ad.o) \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(LIBS)
3226    
3227    adobj: ad_taf_output.$FS \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o)
3228            \$(MAKE) -f \$(MAKEFILE) adobjfiles
3229    
3230    EOF
3231    fi
3232    
3233    cat >>$MAKEFILE <<EOF
3234  adonlyfwd:  adonlyfwd:
3235          patch < \$(TOOLSDIR)/ad_taf_output.f.onlyfwd.diff          patch < \$(TOOLSDIR)/ad_taf_output.f.onlyfwd.diff
3236    
3237  adtrick:  adtrick:
3238          patch < \$(TOOLSDIR)/ad_taf_output.f.adtrick.diff          patch < \$(TOOLSDIR)/ad_taf_output.f.adtrick.diff
3239    
3240  adobj: ad_taf_output.o \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o)  ad_tamc_output.$FS: ad_input_code.$FS
3241            \$(TAMC) \$(AD_TAMC_FLAGS) \$(TAMC_EXTRA) ad_input_code.$FS
3242            cat ad_input_code_ad.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ad_tamc_output.$FS
3243    
3244    ad_tamc: ad_tamc_output.o \$(OBJFILES)
3245            \$(LINK) -o ${EXE_AD} \$(FFLAGS) \$(FOPTIM) \$(OBJFILES) ad_tamc_output.o \$(LIBS)
3246    
3247  # ... FTL ...  # ... FTL ...
3248  ftlall: ftl_exe_target  ftlall: ftl_exe_target
# Line 3199  ftl_input_code.$FS: \$(AD_FILES) Line 3264  ftl_input_code.$FS: \$(AD_FILES)
3264          @\$(MAKE) -f \$(MAKEFILE) \$(AD_FLOW_FILES)          @\$(MAKE) -f \$(MAKEFILE) \$(AD_FLOW_FILES)
3265          cat \$(AD_FLOW_FILES) \$(AD_FILES) | sed -f \$(TOOLSDIR)/remove_comments_sed > ftl_input_code.$FS          cat \$(AD_FLOW_FILES) \$(AD_FILES) | sed -f \$(TOOLSDIR)/remove_comments_sed > ftl_input_code.$FS
3266    
3267  ftl_taf_output.$FS: ftl_input_code.$FS  ftltafonly:
         @-rm -f ftl_input_code_tl.$FS ; echo ''  
3268          \$(TAF) \$(FTL_TAF_FLAGS) \$(TAF_EXTRA) ftl_input_code.$FS          \$(TAF) \$(FTL_TAF_FLAGS) \$(TAF_EXTRA) ftl_input_code.$FS
3269          ls -l ftl_input_code_tl.$FS          ls -l ftl_input_code_tl.$FS
3270          cat ftl_input_code_tl.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ftl_taf_output.$FS          cat ftl_input_code_tl.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ftl_taf_output.$FS
3271    
3272  ftltafonly:  EOF
3273    
3274    if test $CAT_SRC_FOR_TAF = 1 ; then
3275    cat >>$MAKEFILE <<EOF
3276    # ... send 1 file to TAF ...
3277    ftl_taf_output.$FS: ftl_input_code.$FS
3278            @-rm -f ftl_input_code_tl.$FS ; echo ''
3279          \$(TAF) \$(FTL_TAF_FLAGS) \$(TAF_EXTRA) ftl_input_code.$FS          \$(TAF) \$(FTL_TAF_FLAGS) \$(TAF_EXTRA) ftl_input_code.$FS
3280          ls -l ftl_input_code_tl.$FS          ls -l ftl_input_code_tl.$FS
3281          cat ftl_input_code_tl.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ftl_taf_output.$FS          cat ftl_input_code_tl.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ftl_taf_output.$FS
# Line 3213  ftltafonly: Line 3283  ftltafonly:
3283  \$(EXE_FTL): \$(SPECIAL_FILES) \$(H_SRC_FILES) ftl_taf_output.o \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(EMBEDDED_FILES)  \$(EXE_FTL): \$(SPECIAL_FILES) \$(H_SRC_FILES) ftl_taf_output.o \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(EMBEDDED_FILES)
3284          \$(LINK) -o \${EXE_FTL} \$(FFLAGS) \$(FOPTIM) ftl_taf_output.o \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(LIBS)          \$(LINK) -o \${EXE_FTL} \$(FFLAGS) \$(FOPTIM) ftl_taf_output.o \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(LIBS)
3285    
3286    EOF
3287    
3288    else
3289    cat >>$MAKEFILE <<EOF
3290    # ... send multiple files to TAF ...
3291    ftl_taf_output.$FS: \$(AD_FLOW_FILES) \$(AD_FILES)
3292            @$BASH\$(TOOLSDIR)/convert_cpp_cmd2defines "TangLin version" -bAD_CONFIG_H -UALLOW_ADJOINT_RUN -DALLOW_TANGENTLINEAR_RUN > ad_config.template
3293            cmp ad_config.template AD_CONFIG.h || cat ad_config.template > AD_CONFIG.h
3294            @-rm -f ad_config.template
3295            @\$(MAKE) -f \$(MAKEFILE) \$(F77_PP_SRC_FILES)
3296            @\$(MAKE) -f \$(MAKEFILE) \$(AD_FLOW_FILES)
3297            @-rm -f \$(AD_FILES:.$FS=_tl.$FS) \$(AD_FILES:.$FS=_tl.o); echo ''
3298            \$(MAKE) -f \$(MAKEFILE) remove_comments
3299            \$(TAF) \$(FTL_TAF_FLAGS) \$(TAF_EXTRA) \$(AD_FLOW_FILES) \$(AD_FILES)
3300            \$(MAKE) -f \$(MAKEFILE) ftl_sed
3301            cat \$(AD_FILES:.$FS=_tl.$FS) > ftl_taf_output.$FS
3302    
3303    \$(EXE_FTL): \$(SPECIAL_FILES) \$(H_SRC_FILES) ftl_taf_output.$FS \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(EMBEDDED_FILES)
3304            \$(MAKE) -f \$(MAKEFILE) ftlobjfiles
3305            \$(LINK) -o \${EXE_FTL} \$(FFLAGS) \$(FOPTIM) \$(AD_FILES:.$FS=_tl.o) \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(LIBS)
3306    
3307    EOF
3308    fi
3309    
3310    cat >>$MAKEFILE <<EOF
3311  ftl_tamc_output.$FS: ftl_input_code.$FS  ftl_tamc_output.$FS: ftl_input_code.$FS
3312          \$(TAMC) \$(FTL_TAMC_FLAGS) \$(TAMC_EXTRA) ftl_input_code.$FS          \$(TAMC) \$(FTL_TAMC_FLAGS) \$(TAMC_EXTRA) ftl_input_code.$FS
3313          cat ftl_input_code_ftl.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ftl_tamc_output.$FS          cat ftl_input_code_ftl.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ftl_tamc_output.$FS
# Line 3335  OAD_active.F90 \ Line 3430  OAD_active.F90 \
3430  OAD_cp.F90 \  OAD_cp.F90 \
3431  OAD_rev.F90 \  OAD_rev.F90 \
3432  OAD_tape.F90 \  OAD_tape.F90 \
3433    OAD_regular_cp.F90 \
3434  revolve.F90  revolve.F90
3435    
3436  OPENAD_SUPPORT_C_SRC_FILES = \  OPENAD_SUPPORT_C_SRC_FILES = \
# Line 3376  AD_OBJ_FILES_S2=\$(AD_OBJ_FILES_S1) \$(N Line 3472  AD_OBJ_FILES_S2=\$(AD_OBJ_FILES_S1) \$(N
3472  small_f: \$(CB2M_F90_PP_SRC_FILES)  small_f: \$(CB2M_F90_PP_SRC_FILES)
3473  .PHONY: small_f  .PHONY: small_f
3474    
 # ad_output.txt: \$(EXE_AD)  
 #       @printf 'linking data files ... '  
 #       \$(LN) -f ../input_ad/data* ../input_ad/eedata .  
 #       \$(LN) -f ../../global_ocean.90x40x15/input/*.bin .  
 #       @printf 'running ... '  
 #       @./\$(EXE_AD) > \$@  
   
3475  ad_input_code.f$FS90:  \$(CB2M_AD_FILES)  ad_input_code.f$FS90:  \$(CB2M_AD_FILES)
3476          cat \$^ > \$@          cat \$^ > \$@
3477    

Legend:
Removed from v.1.265  
changed lines
  Added in v.1.276

  ViewVC Help
Powered by ViewVC 1.1.22