/[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.241 by utke, Wed Sep 19 20:46:03 2012 UTC revision 1.242 by heimbach, Thu Sep 20 23:12:47 2012 UTC
# Line 2482  if test "x$OPENAD" != x ; then Line 2482  if test "x$OPENAD" != x ; then
2482      OAD_DONT_TRANSFORM="/dev/null"      OAD_DONT_TRANSFORM="/dev/null"
2483      OAD_KEEP_ORIGINAL="/dev/null"      OAD_KEEP_ORIGINAL="/dev/null"
2484      OAD_CB2M_FILES="/dev/null"      OAD_CB2M_FILES="/dev/null"
2485        OADTOOLS="$TOOLSDIR/OAD_support"
2486        test -f "oadtempflile"  &&  \rm -f "oadtempflile"
2487    cat >> "oadtempflile" <<EOF
2488    $OADTOOLS
2489    EOF
2490      echo "  looking for dontCompile file:  "      echo "  looking for dontCompile file:  "
2491      for i in "." $MODS ; do      for i in "." $MODS ; do
2492          if test -r $i"/dontCompile" ; then          if test -r $i"/dontCompile" ; then
# Line 2689  INCLUDEDIRS = ${INCLUDEDIRS} Line 2694  INCLUDEDIRS = ${INCLUDEDIRS}
2694  EXEDIR      = ${EXEDIR}  EXEDIR      = ${EXEDIR}
2695  EXECUTABLE  = \$(EXEDIR)/${EXECUTABLE}  EXECUTABLE  = \$(EXEDIR)/${EXECUTABLE}
2696  TOOLSDIR    = ${TOOLSDIR}  TOOLSDIR    = ${TOOLSDIR}
2697    OADTOOLS    = ${OADTOOLS}
2698    
2699  #eh3  new defines for the adjoint work  #eh3  new defines for the adjoint work
2700  AUTODIFF    = ${ROOTDIR}/pkg/autodiff  AUTODIFF    = ${ROOTDIR}/pkg/autodiff
# Line 3185  AD_OBJ_FILES_S2=\$(AD_OBJ_FILES_S1) \$(N Line 3191  AD_OBJ_FILES_S2=\$(AD_OBJ_FILES_S1) \$(N
3191          \$(LINK) -o \$@ \$(FFLAGS) \$(FOPTIM) \$(AD_OBJ_FILES_S2) \$(LIBS)          \$(LINK) -o \$@ \$(FFLAGS) \$(FOPTIM) \$(AD_OBJ_FILES_S2) \$(LIBS)
3192    
3193  # create sources files modules from header files containing common blocks  # create sources files modules from header files containing common blocks
3194  %_mod.FF90 : %.h ../OAD_support/cb2mGetModules.csh ../OAD_support/cb2mGetModules.awk  %_mod.FF90 : %.h \${OADTOOLS}/cb2mGetModules.csh \${OADTOOLS}/cb2mGetModules.awk
3195          ../OAD_support/cb2mGetModules.csh $< ../OAD_support/cb2mGetModules.awk          \${OADTOOLS}/cb2mGetModules.csh $< \${OADTOOLS}/cb2mGetModules.awk
3196    
3197  # create new header files with USE statements for the new modules made above  # create new header files with USE statements for the new modules made above
3198  %_mod.h : %.h ../OAD_support/cb2mGetHeaders.csh ../OAD_support/cb2mGetHeaders.awk  %_mod.h : %.h \${OADTOOLS}/cb2mGetHeaders.csh \${OADTOOLS}/cb2mGetHeaders.awk
3199          ../OAD_support/cb2mGetHeaders.csh $< ../OAD_support/cb2mGetHeaders.awk \$(CB2M_F90_SRC_NAMES)          \${OADTOOLS}/cb2mGetHeaders.csh $< \${OADTOOLS}/cb2mGetHeaders.awk \$(CB2M_F90_SRC_NAMES)
3200    
3201  # change the include directives of everybody to refer to  the new header files with the USE statements  # change the include directives of everybody to refer to  the new header files with the USE statements
3202  %_cb2m.FF90 : %.F ../OAD_support/cb2mUseModules.bash  %_cb2m.FF90 : %.F \${OADTOOLS}/cb2mUseModules.bash
3203          ../OAD_support/cb2mUseModules.bash $< ${MPI}          \${OADTOOLS}/cb2mUseModules.bash $< ${MPI}
3204    
3205  # makefile debug rule  # makefile debug rule
3206  small_f: \$(CB2M_F90_PP_SRC_FILES)  small_f: \$(CB2M_F90_PP_SRC_FILES)
# Line 3216  ad_input_code_sf.pre.f90 : \$(CB2M_AD_FI Line 3222  ad_input_code_sf.pre.f90 : \$(CB2M_AD_FI
3222    
3223  # replace stop statements (to avoid the implied unstructured control flow)  with print statements  # replace stop statements (to avoid the implied unstructured control flow)  with print statements
3224  ad_input_code_sf.pre.s2p.f90 : ad_input_code_sf.pre.f90  ad_input_code_sf.pre.s2p.f90 : ad_input_code_sf.pre.f90
3225          cat \$< | sed -f ../OAD_support/stop2print.sed > ad_input_code_sf.pre.s2p.f90          cat \$< | sed -f \${OADTOOLS}/stop2print.sed > ad_input_code_sf.pre.s2p.f90
3226    
3227  # F -> WHIRL  # F -> WHIRL
3228  ad_input_code_sf.pre.s2p.B: ad_input_code_sf.pre.s2p.f90  ad_input_code_sf.pre.s2p.B: ad_input_code_sf.pre.s2p.f90
# Line 3239  ad_input_code_sf.pre.s2p.xb.x2w.w2f.f$FS Line 3245  ad_input_code_sf.pre.s2p.xb.x2w.w2f.f$FS
3245          \${OPEN64ROOT}/whirl2f/whirl2f -FLIST:ftn_file=\$@ -openad \$<          \${OPEN64ROOT}/whirl2f/whirl2f -FLIST:ftn_file=\$@ -openad \$<
3246    
3247  # insert template directives  # insert template directives
3248  ad_input_code_sf.pre.s2p.xb.x2w.w2f.td.f$FS90: ad_input_code_sf.pre.s2p.xb.x2w.w2f.f$FS90 ../OAD_support/insertTemplateDir.bash  ad_input_code_sf.pre.s2p.xb.x2w.w2f.td.f$FS90: ad_input_code_sf.pre.s2p.xb.x2w.w2f.f$FS90 \${OADTOOLS}/insertTemplateDir.bash
3249          ../OAD_support/insertTemplateDir.bash \$< \$@          \${OADTOOLS}/insertTemplateDir.bash \$< \$@
3250    
3251  PPEXTRAS=\$(wildcard ../OAD_support/ad_template.*.F) ../OAD_support/ad_inline.F  PPEXTRAS=\$(wildcard \${OADTOOLS}/ad_template.*.F) \${OADTOOLS}/ad_inline.F
3252  # postprocess F'  # postprocess F'
3253  postProcess.tag: ad_input_code_sf.pre.s2p.xb.x2w.w2f.td.f$FS90 \$(PPEXTRAS:.F=.f) | w2f__types.f90  postProcess.tag: ad_input_code_sf.pre.s2p.xb.x2w.w2f.td.f$FS90 \$(PPEXTRAS:.F=.f) | w2f__types.f90
3254          \${OPENADFORTTK_BASE}/tools/SourceProcessing/postProcess.py --progress --timing --infoUnitFile w2f__types.f90 --outputFormat=fixed --separateOutput --pathSuffix "" --filenameSuffix "_oad" -m r -i ../OAD_support/ad_inline.f \$<          \${OPENADFORTTK_BASE}/tools/SourceProcessing/postProcess.py --progress --timing --infoUnitFile w2f__types.f90 --outputFormat=fixed --separateOutput --pathSuffix "" --filenameSuffix "_oad" -m r -i \${OADTOOLS}/ad_inline.f \$<
3255          # the target is a placeholder to trigger a single execution of the rule          # the target is a placeholder to trigger a single execution of the rule
3256          touch \$@          touch \$@
3257  # put this so make knows about the postprocessing output  # put this so make knows about the postprocessing output
# Line 3257  OAD_intrinsics_oad.f \$(CB2M_AD_FILES:.f Line 3263  OAD_intrinsics_oad.f \$(CB2M_AD_FILES:.f
3263    
3264  # link the support files:  # link the support files:
3265  \$(OPENAD_SUPPORT_F90_SRC_FILES) \$(OPENAD_SUPPORT_C_SRC_FILES):  \$(OPENAD_SUPPORT_F90_SRC_FILES) \$(OPENAD_SUPPORT_C_SRC_FILES):
3266          \$(LN) ../OAD_support/\$@ .          \$(LN) \${OADTOOLS}/\$@ .
3267    
3268  AD_CLEAN += *_mod.h *_mod.F90 *.FF90 *.mod-whirl temp.sed oad_cp.* postProcess.tag \$(PPEXTRAS:.F=.f)  AD_CLEAN += *_mod.h *_mod.F90 *.FF90 *.mod-whirl temp.sed oad_cp.* postProcess.tag oadtempflile \$(PPEXTRAS:.F=.f)
3269    
3270  # ============ end OpenAD specific section ==============  # ============ end OpenAD specific section ==============
3271    

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

  ViewVC Help
Powered by ViewVC 1.1.22