/[MITgcm]/MITgcm_contrib/heimbach/OpenAD/code_regress/genmake2
ViewVC logotype

Diff of /MITgcm_contrib/heimbach/OpenAD/code_regress/genmake2

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.7 by utke, Fri Jun 20 22:25:03 2008 UTC revision 1.12 by utke, Thu Aug 21 21:36:48 2008 UTC
# Line 2378  for d in $alldirs ; do Line 2378  for d in $alldirs ; do
2378          echo "" >> srclinks.tmp          echo "" >> srclinks.tmp
2379          echo "#  These files are linked from $d" >> srclinks.tmp          echo "#  These files are linked from $d" >> srclinks.tmp
2380          echo "$deplist :" >> srclinks.tmp          echo "$deplist :" >> srclinks.tmp
2381          printf "\t\$(LN) %s/\$@ \$@\n" $d >> srclinks.tmp  # We need to make sure that the link isn't already there.
2382    # This may happen when make thinks that a header file has to be "remade"
2383    # because a module it depends on has changed.  In this case we do nothing.
2384            printf "\tif [ ! -L \$@ ]; then \$(LN) %s/\$@ \$@; fi\n" $d >> srclinks.tmp
2385        fi        fi
2386      fi      fi
2387  done  done
# Line 2659  endif Line 2662  endif
2662    
2663  EOF  EOF
2664    
2665    echo "  Add the source list for common block to module conversion "
2666    echo >> $MAKEFILE
2667    printf "CB2M_F90_SRC_NAMES = " >> $MAKEFILE
2668    for i in `cat ${MODS}/cb2mFiles` ; do
2669      echo    " \\" >> $MAKEFILE
2670      printf " $i" >> $MAKEFILE
2671    done
2672    echo >> $MAKEFILE
2673    
2674  echo "  Add the source list for AD code generation"  echo "  Add the source list for AD code generation"
2675  echo >> $MAKEFILE  echo >> $MAKEFILE
2676  printf "AD_FILES = " >> $MAKEFILE  printf "AD_FILES = " >> $MAKEFILE
2677    for i in `cat ${MODS}/cb2mFiles` ; do
2678      echo    " \\" >> $MAKEFILE
2679      printf " ${i}_mod.f$FS90" >> $MAKEFILE
2680    done
2681  AD_FILES=`cat adSrcFiles.tmp`  AD_FILES=`cat adSrcFiles.tmp`
2682  for i in $AD_FILES ; do  for i in $AD_FILES ; do
2683    basename=${i%%.f}    basename=${i%%.f}
# Line 2676  done Line 2692  done
2692  echo >> $MAKEFILE  echo >> $MAKEFILE
2693  rm -f adSrcFiles.tmp  rm -f adSrcFiles.tmp
2694    
 cat >>$MAKEFILE <<EOF  
   
2695    
2696  # files to be converted:  cat >>$MAKEFILE <<EOF
 # right now there is no quick hack  
 # to pick these out automatically  
 # but we will be using the  
 # canonicalizer anyway  
 CB2M_F90_SRC_NAMES = \  
 SIZE \  
 EEPARAMS \  
 PARAMS \  
 BAR2 \  
 BARRIER \  
 CD_CODE_VARS \  
 CG2D \  
 CG3D \  
 DFILE \  
 DYNVARS \  
 EEIO \  
 EESUPPORT \  
 EOS \  
 EXCH_JAM \  
 EXCH \  
 FC_NAMEMANGLE \  
 FFIELDS \  
 GAD \  
 GLOBAL_MAX \  
 GLOBAL_SUM \  
 GMREDI \  
 GMREDI_TAVE \  
 GRID \  
 MNC_BUFF \  
 MNC_COMMON \  
 MNC_PARAMS \  
 MPI_INFO \  
 RESTART \  
 SIGREG \  
 SOLVE_FOR_PRESSURE3D \  
 SOLVE_FOR_PRESSURE \  
 SURFACE \  
 tamc \  
 tamc_keys \  
 cost \  
 g_cost \  
 ctrl \  
 ctrl_dummy \  
 ctrl_weights \  
 optim \  
 grdchk  
2697    
2698  .PHONY: adAll  .PHONY: adAll
2699  adAll: \$(EXE_AD) ncheckLev.conf  adAll: \$(EXE_AD) ncheckLev.conf
# Line 2741  adDepend: \$(ALL_LINKED_FILES) \$(addsuf Line 2709  adDepend: \$(ALL_LINKED_FILES) \$(addsuf
2709          -rm -f makedepend.out          -rm -f makedepend.out
2710    
2711  OPENAD_SUPPORT_F90_SRC_FILES = \  OPENAD_SUPPORT_F90_SRC_FILES = \
2712  w2f__types.f90 \  w2f__types.F90 \
2713  active_module.f90 \  OAD_active.F90 \
2714  OAD_cp.f90 \  OAD_cp.F90 \
2715  OAD_rev.f90 \  OAD_rev.F90 \
2716  OAD_tape.f90          OAD_tape.F90        
2717    
2718  OPENAD_SUPPORT_C_SRC_FILES = \  OPENAD_SUPPORT_C_SRC_FILES = \
2719  iaddr.c \  iaddr.c \
2720  timeRatio.c  timeRatio.c
2721    
2722  f95_test_mods.f90: \$(OPENAD_SUPPORT_F90_SRC_FILES)  f95_test_mods.f90: \$(OPENAD_SUPPORT_F90_SRC_FILES:F90=$FS90)
2723          cat \$^ > \$@          cat \$^ > \$@
2724    
2725  f95_test.f90: all_mods.xb.x2w.w2f.pp.f$FS90 \$(NON_AD_F77_SRC_FILES:.F=_cb2m.f$FS90) ad_input_code.w2f.canon.xb.x2w.w2f.rs.pp.f$FS90  f95_test.f90: all_mods.xb.x2w.w2f.pp.f$FS90 \$(NON_AD_F77_SRC_FILES:.F=_cb2m.f$FS90) ad_input_code.w2f.canon.xb.x2w.w2f.rs.pp.f$FS90
# Line 2761  f95_test.out: f95_test_mods.f90 f95_test Line 2729  f95_test.out: f95_test_mods.f90 f95_test
2729          f95 -fixed -w=unused -maxcontin=132 -c f95_test_mods.f90 > \$@ 2>&1          f95 -fixed -w=unused -maxcontin=132 -c f95_test_mods.f90 > \$@ 2>&1
2730          f95 -fixed -w=unused -maxcontin=132 -c -fixed f95_test.f90 >> \$@ 2>&1          f95 -fixed -w=unused -maxcontin=132 -c -fixed f95_test.f90 >> \$@ 2>&1
2731    
2732  AD_OBJ_FILES=\$(OPENAD_SUPPORT_F90_SRC_FILES:.f90=.o) \$(OPENAD_SUPPORT_C_SRC_FILES:.c=.o) all_mods.xb.x2w.w2f.pp.o  ad_input_code.w2f.canon.xb.x2w.w2f.rs.pp.o \$(NON_AD_F77_SRC_FILES:.F=_cb2m.o) \$(C_SRC_FILES:.c=.o) \$(F90_SRC_FILES:.F90=.o)  AD_OBJ_FILES=\$(OPENAD_SUPPORT_F90_SRC_FILES:.F90=.o) \$(OPENAD_SUPPORT_C_SRC_FILES:.c=.o) all_mods.xb.x2w.w2f.pp.o  ad_input_code.w2f.canon.xb.x2w.w2f.rs.pp.o \$(NON_AD_F77_SRC_FILES:.F=_cb2m.o) \$(C_SRC_FILES:.c=.o) \$(F90_SRC_FILES:.F90=.o)
2733    
2734  \$(EXE_AD): \$(ALL_LINKED_FILES) \$(addsuffix _mod.h, \$(CB2M_F90_SRC_NAMES)) \$(AD_OBJ_FILES)  \$(EXE_AD): \$(ALL_LINKED_FILES) \$(addsuffix _mod.h, \$(CB2M_F90_SRC_NAMES)) \$(AD_OBJ_FILES)
2735          @echo Creating \$@ ...          @echo Creating \$@ ...
# Line 2777  openad: ad_input_code.w2f.canon.xb.x2w.w Line 2745  openad: ad_input_code.w2f.canon.xb.x2w.w
2745    
2746  # create the header files  # create the header files
2747  %_mod.h : %.h ${MODS}/cb2mGetHeaders.csh ${MODS}/cb2mGetHeaders.awk  %_mod.h : %.h ${MODS}/cb2mGetHeaders.csh ${MODS}/cb2mGetHeaders.awk
2748          ${MODS}/cb2mGetHeaders.csh $< ${MODS}/cb2mGetHeaders.awk          ${MODS}/cb2mGetHeaders.csh $< ${MODS}/cb2mGetHeaders.awk \$(CB2M_F90_SRC_NAMES)
2749    
2750  # change everybody else to use the new module files:  # change everybody else to use the new module files:
2751  %_cb2m.FF90 : %.F ${MODS}/cb2mUseModules.bash  %_cb2m.FF90 : %.F ${MODS}/cb2mUseModules.bash
2752          ${MODS}/cb2mUseModules.bash $<          ${MODS}/cb2mUseModules.bash $< ${MPI}
2753    
2754  # makefile debug rule  # makefile debug rule
2755  small_f: \$(CB2M_F90_PP_SRC_FILES)  small_f: \$(CB2M_F90_PP_SRC_FILES)

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.12

  ViewVC Help
Powered by ViewVC 1.1.22