/[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.13.2.2 by edhill, Mon Oct 20 18:53:33 2003 UTC revision 1.13.2.3 by edhill, Mon Oct 20 21:56:24 2003 UTC
# Line 1048  if test -f ./ad_files ; then Line 1048  if test -f ./ad_files ; then
1048      rm -f ./ad_files      rm -f ./ad_files
1049  fi  fi
1050  echo "  Creating the list of files for the adjoint compiler."  echo "  Creating the list of files for the adjoint compiler."
1051  for i in $SOURCEDIRS . ; do  for i in $SOURCEDIRS ; do
1052      list_files=`( cd $i && ls -1 *.list 2>/dev/null )`      list_files=`( cd $i && ls -1 *.list 2>/dev/null )`
1053      for j in $list_files ; do      for j in $list_files ; do
1054          cat $i/$j >> ad_files          cat $i/$j >> ad_files
1055      done      done
1056  done  done
 cat <<EOF > adjoint_sed  
1057    
1058   sed 's/call adopen(/call adopen ( mythid,\  cat <<EOF > adjoint_sed
1059    s/call adopen(/call adopen ( mythid,\\
1060         \&           /g
1061    s/call adclose(/call adclose( mythid,\\
1062       \&           /g       \&           /g
1063       s/call adclose(/call adclose( mythid,\  s/call adread(/call adread ( mythid,\\
1064       \&           /g       \&           /g
1065       s/call adread(/call adread ( mythid,\  s/call adwrite(/call adwrite( mythid,\\
1066       \&           /g       \&           /g
      s/call adwrite(/call adwrite( mythid,\  
      \&           /g' < ad_code_ad.f  
1067    
1068  EOF  EOF
1069  chmod +x adjoint_sed  chmod +x adjoint_sed
# Line 1089  echo -n 'SRCFILES = '    > srclist.inc Line 1089  echo -n 'SRCFILES = '    > srclist.inc
1089  echo -n 'CSRCFILES = '   > csrclist.inc  echo -n 'CSRCFILES = '   > csrclist.inc
1090  echo -n 'F90SRCFILES = ' > f90srclist.inc  echo -n 'F90SRCFILES = ' > f90srclist.inc
1091  echo -n 'HEADERFILES = ' > hlist.inc  echo -n 'HEADERFILES = ' > hlist.inc
1092    echo -n 'AD_FLOW_FILES = ' > ad_flow_files.inc
1093  alldirs="$SOURCEDIRS $INCLUDEDIRS ."  alldirs="$SOURCEDIRS $INCLUDEDIRS ."
1094  for d in $alldirs ; do  for d in $alldirs ; do
1095      deplist=      deplist=
1096      sfiles=`( cd $d; echo *.[h,c,F] )`      sfiles=`( cd $d; echo *.[h,c,F] *.flow )`
1097      sfiles=`( echo $sfiles; cd $d; echo *.F90 )`      sfiles=`( echo $sfiles; cd $d; echo *.F90 )`
1098      for sf in $sfiles ; do      for sf in $sfiles ; do
1099          if test ! -r ".links.tmp/$sf" ; then          if test ! -r ".links.tmp/$sf" ; then
# Line 1117  for d in $alldirs ; do Line 1118  for d in $alldirs ; do
1118                          echo    " \\"  >> hlist.inc                          echo    " \\"  >> hlist.inc
1119                          echo -n " $sf" >> hlist.inc                          echo -n " $sf" >> hlist.inc
1120                          ;;                          ;;
1121                        flow)
1122                            echo    " \\"  >> ad_flow_files.inc
1123                            echo -n " $sf" >> ad_flow_files.inc
1124                            ;;
1125                  esac                  esac
1126              fi              fi
1127          fi          fi
# Line 1133  echo "" >> srclist.inc Line 1138  echo "" >> srclist.inc
1138  echo "" >> csrclist.inc  echo "" >> csrclist.inc
1139  echo "" >> f90srclist.inc  echo "" >> f90srclist.inc
1140  echo "" >> hlist.inc  echo "" >> hlist.inc
1141    echo "" >> ad_flow_files.inc
1142    
1143  if test -e $MAKEFILE ; then  if test -e $MAKEFILE ; then
1144      mv -f $MAKEFILE "$MAKEFILE.bak"      mv -f $MAKEFILE "$MAKEFILE.bak"
# Line 1222  MAKEFILE=${MAKEFILE} Line 1228  MAKEFILE=${MAKEFILE}
1228    
1229  EOF  EOF
1230    
1231  cat srclist.inc    >> $MAKEFILE  cat srclist.inc       >> $MAKEFILE
1232  cat csrclist.inc   >> $MAKEFILE  cat csrclist.inc      >> $MAKEFILE
1233  cat f90srclist.inc >> $MAKEFILE  cat f90srclist.inc    >> $MAKEFILE
1234  cat hlist.inc      >> $MAKEFILE  cat hlist.inc         >> $MAKEFILE
1235    cat ad_flow_files.inc >> $MAKEFILE
1236  echo               >> $MAKEFILE  echo               >> $MAKEFILE
1237  echo 'F77FILES =  $(SRCFILES:.F=.f)'                                           >> $MAKEFILE  echo 'F77FILES =  $(SRCFILES:.F=.f)'                                           >> $MAKEFILE
1238  echo 'F90FILES =  $(F90SRCFILES:.F90=.f90)'                                    >> $MAKEFILE  echo 'F90FILES =  $(F90SRCFILES:.F90=.f90)'                                    >> $MAKEFILE
# Line 1326  cat >>$MAKEFILE <<EOF Line 1333  cat >>$MAKEFILE <<EOF
1333  EXE_AD_TAMC    = ${EXECUTABLE}_ad_tamc  EXE_AD_TAMC    = ${EXECUTABLE}_ad_tamc
1334  \$(EXE_AD_TAMC): \$(OBJFILES)  \$(EXE_AD_TAMC): \$(OBJFILES)
1335    
1336  EXE_AD_TAF     = ${EXECUTABLE}  ad_input_code.f: \$(F77FILES)
1337  ad_taf: \$(OBJFILES)          @make \$(AD_FLOW_FILES)
1338          cat \$(AD_FILES) >! ad_input_code.f          cat \$(AD_FLOW_FILES) \$(AD_FILES) > ad_input_code.f
1339    
1340    ad_taf_output.f: ad_input_code.f
1341          \$(TAF) \$(AD_TAF_FLAGS) ad_input_code.f          \$(TAF) \$(AD_TAF_FLAGS) ad_input_code.f
1342          ./adjoint_sed >! ad_output_code.f          cat ad_input_code_ad.f | sed -f adjoint_sed > ad_taf_output.f
1343          @make ad_output_code.o  
1344          \$(LINK) -o ${EXECUTABLE} \$(FFLAGS) \$(FOPTIM) \$(OBJFILES) ad_output_code.o \$(LIBS)  ad_taf: ad_taf_output.o \$(OBJFILES)
1345            \$(LINK) -o ${EXECUTABLE} \$(FFLAGS) \$(FOPTIM) \$(OBJFILES) ad_taf_output.o \$(LIBS)
1346    
1347  EXE_FTL_TAMC   = ${EXECUTABLE}_ftl_tamc  EXE_FTL_TAMC   = ${EXECUTABLE}_ftl_tamc
1348  EXE_FTL_TAF    = ${EXECUTABLE}_ftl_taf  EXE_FTL_TAF    = ${EXECUTABLE}_ftl_taf

Legend:
Removed from v.1.13.2.2  
changed lines
  Added in v.1.13.2.3

  ViewVC Help
Powered by ViewVC 1.1.22