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

Diff of /MITgcm_contrib/heimbach/OpenAD/code_shallow_openad/genmake2

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

revision 1.8 by utke, Thu May 4 20:22:31 2006 UTC revision 1.13 by utke, Thu Apr 12 04:49:21 2007 UTC
# Line 932  for i in . $MODS ; do Line 932  for i in . $MODS ; do
932      fi      fi
933      let modsCount=modsCount+1      let modsCount=modsCount+1
934  done  done
935  if test modsCount -gt 1 ; then  if test $modsCount -gt 1 ; then
936    echo "ERROR: some uses of MODS break with more than one directory specified"    echo "ERROR: some uses of MODS break with more than one directory specified"
937    exit -1;    exit -1;
938  fi  fi
# Line 1908  for d in $alldirs ; do Line 1908  for d in $alldirs ; do
1908                            if test -z "$toBeIgnored" ; then                            if test -z "$toBeIgnored" ; then
1909                              echo    " \\"  >> nonADF77srclist.tmp                              echo    " \\"  >> nonADF77srclist.tmp
1910                              printf " $sf" >> nonADF77srclist.tmp                              printf " $sf" >> nonADF77srclist.tmp
1911                              else
1912                                echo "Ignoring $sf"
1913                            fi                            fi
1914                          fi                          fi
1915                          ;;                          ;;
# Line 1938  for d in $alldirs ; do Line 1940  for d in $alldirs ; do
1940  done  done
1941  rm -rf .links.tmp  rm -rf .links.tmp
1942  echo "" >> F77srclist.tmp  echo "" >> F77srclist.tmp
1943    for i in `cat ${MODS}/keepOriginal`
1944    do
1945      echo   " \\" >> nonADF77srclist.tmp
1946      printf " $i" >> nonADF77srclist.tmp
1947    done  
1948  echo "" >> nonADF77srclist.tmp  echo "" >> nonADF77srclist.tmp
1949  echo "" >> csrclist.tmp  echo "" >> csrclist.tmp
1950  echo "" >> F90srclist.tmp  echo "" >> F90srclist.tmp
# Line 2231  EEPARAMS \ Line 2238  EEPARAMS \
2238  PARAMS \  PARAMS \
2239  BAR2 \  BAR2 \
2240  BARRIER \  BARRIER \
 CD_CODE_VARS \  
2241  CG2D \  CG2D \
2242  CG3D \  CG3D \
2243  DFILE \  DFILE \
# Line 2264  grdchk Line 2270  grdchk
2270  .PHONY: adAll  .PHONY: adAll
2271  adAll: \$(EXE_AD)  adAll: \$(EXE_AD)
2272    
 # these are all fixed format:  
 CB2M_F77_TO_FF90_SRC_FILES=\$(F77_SRC_FILES:.F=_cb2m.FF90)  
 CB2M_F90_SRC_FILES=\$(addsuffix _mod.FF90, \$(CB2M_F90_SRC_NAMES))  
2273  CB2M_F90_PP_SRC_FILES=\$(addsuffix _mod.f$FS90, \$(CB2M_F90_SRC_NAMES))  CB2M_F90_PP_SRC_FILES=\$(addsuffix _mod.f$FS90, \$(CB2M_F90_SRC_NAMES))
2274    
2275  .PRECIOUS: \$(CB2M_F90_PP_SRC_FILES) \$(NON_AD_F77_SRC_FILES:.F=_cb2m.ff90)  .PRECIOUS: \$(CB2M_F90_PP_SRC_FILES) \$(NON_AD_F77_SRC_FILES:.F=_cb2m.ff90)
2276    
2277  .PHONY: adDepend  .PHONY: adDepend
2278  #this file is included at the bottom  adDepend: \$(ALL_LINKED_FILES) \$(addsuffix _mod.h, \$(CB2M_F90_SRC_NAMES)) \$(addsuffix _mod.FF90, \$(CB2M_F90_SRC_NAMES)) \$(F77_SRC_FILES:.F=_cb2m.FF90)
 adDepend: \$(ALL_LINKED_FILES) \$(CB2M_F90_SRC_FILES) \$(CB2M_F77_TO_FF90_SRC_FILES)  
2279          \$(MAKEDEPEND) -o .$FS \$(DEFINES) \$(INCLUDES) \$(F77_SRC_FILES)          \$(MAKEDEPEND) -o .$FS \$(DEFINES) \$(INCLUDES) \$(F77_SRC_FILES)
2280          \$(TOOLSDIR)/f90mkdepend >> \$(MAKEFILE)          \$(TOOLSDIR)/f90mkdepend >> \$(MAKEFILE)
2281          -rm -f makedepend.out          -rm -f makedepend.out
2282    
   
2283  OPENAD_SUPPORT_F90_SRC_FILES = \  OPENAD_SUPPORT_F90_SRC_FILES = \
2284  w2f__types.f90 \  w2f__types.f90 \
2285  active_module.f90 \  active_module.f90 \
# Line 2288  OpenAD_rev.f90 \ Line 2289  OpenAD_rev.f90 \
2289  OpenAD_tape.f90          OpenAD_tape.f90        
2290    
2291  OPENAD_SUPPORT_C_SRC_FILES = \  OPENAD_SUPPORT_C_SRC_FILES = \
2292  iaddr.c  iaddr.c \
2293    timeRatio.c
2294    
2295  f95_test_mods.f90: \$(OPENAD_SUPPORT_F90_SRC_FILES)  f95_test_mods.f90: \$(OPENAD_SUPPORT_F90_SRC_FILES)
2296          cat \$^ > \$@          cat \$^ > \$@
# Line 2300  f95_test.out: f95_test_mods.f90 f95_test Line 2302  f95_test.out: f95_test_mods.f90 f95_test
2302          f95 -w=unused -maxcontin=132 -c f95_test_mods.f90 > \$@ 2>&1          f95 -w=unused -maxcontin=132 -c f95_test_mods.f90 > \$@ 2>&1
2303          f95 -w=unused -maxcontin=132 -c -fixed f95_test.f90 >> \$@ 2>&1          f95 -w=unused -maxcontin=132 -c -fixed f95_test.f90 >> \$@ 2>&1
2304    
2305  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)
2306    
2307  \$(EXE_AD): \$(AD_OBJ_FILES)  \$(EXE_AD): \$(ALL_LINKED_FILES) \$(addsuffix _mod.h, \$(CB2M_F90_SRC_NAMES)) \$(AD_OBJ_FILES)
2308          @echo Creating \$@ ...          @echo Creating \$@ ...
2309          \$(LINK) -o \$@ \$(FFLAGS) \$(FOPTIM) \$^ \$(LIBS)          \$(LINK) -o \$@ \$(FFLAGS) \$(FOPTIM) \$(AD_OBJ_FILES) \$(LIBS)
2310    
2311  # makefile debug rule  # makefile debug rule
2312  openad: ad_input_code.w2f.canon.xb.x2w.w2f.rs.pp.f  openad: ad_input_code.w2f.canon.xb.x2w.w2f.rs.pp.f
2313  .PHONY: openad  .PHONY: openad
2314    
2315  CB2MFILES= cb2m1.csh cb2m1.awk cb2m2.bash  # create the module files
2316  # create the module files and change the header files  %_mod.FF90 : %.h ${MODS}/cb2mGetModules.csh ${MODS}/cb2mGetModules.awk
2317  \$(CB2M_F90_SRC_FILES) \$(addsuffix _mod.h, \$(CB2M_F90_SRC_NAMES)) : \$(ALL_LINKED_FILES) \$(CB2MFILES)          ${MODS}/cb2mGetModules.csh $< ${MODS}/cb2mGetModules.awk
2318          ./cb2m1.csh \$(CB2M_F90_SRC_NAMES)  
2319    # create the header files
2320  # change everybody else to use the module files:  %_mod.h : %.h ${MODS}/cb2mGetHeaders.csh ${MODS}/cb2mGetHeaders.awk
2321  \$(CB2M_F77_TO_FF90_SRC_FILES): \$(addsuffix _mod.h, \$(CB2M_F90_SRC_NAMES)) \$(CB2M_F90_SRC_FILES)          ${MODS}/cb2mGetHeaders.csh $< ${MODS}/cb2mGetHeaders.awk
2322          ./cb2m2.bash  
2323    # change everybody else to use the new module files:
2324    %_cb2m.FF90 : %.F ${MODS}/cb2mUseModules.bash
2325            ${MODS}/cb2mUseModules.bash $<
2326    
2327  # makefile debug rule  # makefile debug rule
2328  small_f: \$(CB2M_F77_PP_SRC_FILES) \$(CB2M_F90_PP_SRC_FILES)  small_f: \$(CB2M_F90_PP_SRC_FILES)
2329  .PHONY: small_f  .PHONY: small_f
2330    
2331  ad_output.txt: \$(EXE_AD)  ad_output.txt: \$(EXE_AD)
# Line 2334  CB2M_AD_FILES=\$(AD_FILES:.f=_cb2m.ff90) Line 2339  CB2M_AD_FILES=\$(AD_FILES:.f=_cb2m.ff90)
2339  ad_input_code.$FS: ${MODS}/maxMinDefs.f \$(CB2M_AD_FILES)  ad_input_code.$FS: ${MODS}/maxMinDefs.f \$(CB2M_AD_FILES)
2340          cat \$^ > \$@          cat \$^ > \$@
2341    
 \$(CB2MFILES):  
         \$(LN) \$(addprefix ${MODS}/, \$(CB2MFILES)) .  
   
2342  # strip all comments and blanks to reduce  # strip all comments and blanks to reduce
2343  # the file size in order to reduce perl's memory requirements  # the file size in order to reduce perl's memory requirements
2344  ad_input_code_sf.f : ad_input_code.f  ad_input_code_sf.f : ad_input_code.f
# Line 2371  ad_input_code_sf.w2f.canon.xaif : ad_inp Line 2373  ad_input_code_sf.w2f.canon.xaif : ad_inp
2373    
2374  # XAIF -> XAIF'  # XAIF -> XAIF'
2375  ad_input_code_sf.w2f.canon.xb.xaif : ad_input_code_sf.w2f.canon.xaif xaif.xsd xaif_base.xsd xaif_inlinable_intrinsics.xsd xaif_derivative_propagator.xsd xaif_output.xsd openad_adm  ad_input_code_sf.w2f.canon.xb.xaif : ad_input_code_sf.w2f.canon.xaif xaif.xsd xaif_base.xsd xaif_inlinable_intrinsics.xsd xaif_derivative_propagator.xsd xaif_output.xsd openad_adm
2376          ./openad_adm -i \$< -c \${XAIFSCHEMAROOT}/schema/examples/inlinable_intrinsics.xaif -o \$@ -I -r          ./openad_adm -i \$< -c \${XAIFSCHEMAROOT}/schema/examples/inlinable_intrinsics.xaif -o \$@ -I -r -p "recip_hFacC recip_rA"
2377    
2378  # XAIF' -> WHIRL'  # XAIF' -> WHIRL'
2379  ad_input_code_sf.w2f.canon.xb.x2w.B : ad_input_code_sf.w2f.canon.xb.xaif xaif2whirl  ad_input_code_sf.w2f.canon.xb.x2w.B : ad_input_code_sf.w2f.canon.xb.xaif xaif2whirl
# Line 2403  all_mods.xb.x2w.w2f.pp.f: ad_input_code_ Line 2405  all_mods.xb.x2w.w2f.pp.f: ad_input_code_
2405  # and remove for now the duplicate variables  # and remove for now the duplicate variables
2406  # and fix 2 data statements  # and fix 2 data statements
2407  ad_input_code.w2f.canon.xb.x2w.w2f.rs.pp.f: ad_input_code_sf.w2f.canon.xb.x2w.w2f.rs.pp.f ${MODS}/fixData.sed  ad_input_code.w2f.canon.xb.x2w.w2f.rs.pp.f: ad_input_code_sf.w2f.canon.xb.x2w.w2f.rs.pp.f ${MODS}/fixData.sed
2408          cat \$< | sed '/MODULE /,/END MODULE/d' | sed '/^      INTEGER(w2f__i4) DOLOOP_UB/d' | sed -f ${MODS}/fixData.sed > \$@  #       cat \$< | sed '/MODULE /,/END MODULE/d' | sed '/^      INTEGER(w2f__i4) DOLOOP_UB/d' | sed -f ${MODS}/fixData.sed > \$@
2409            cat \$< | sed '/MODULE /,/END MODULE/d' | sed '/^      INTEGER(w2f__i4) DOLOOP_UB/d' > \$@
2410    
2411  # setup some links  # setup some links
2412  %.xsd:  %.xsd:
# Line 2417  mfef90: Line 2420  mfef90:
2420          \$(LN) ${MODS}/\$@ .          \$(LN) ${MODS}/\$@ .
2421    
2422  whirl2xaif xaif2whirl:  whirl2xaif xaif2whirl:
2423          \$(LN) \${OPENADROOT}/OpenADFortTk/OpenADFortTk-i686-Linux/bin/\$@ .          \$(LN) \${OPENADROOT}/OpenADFortTk/OpenADFortTk-x86-Linux/bin/\$@ .
2424    
2425  %.pl:  %.pl:
2426          \$(LN) \${OPENADROOT}/OpenADFortTk/OpenADFortTk-i686-Linux/bin/\$@ .          \$(LN) \${OPENADROOT}/OpenADFortTk/OpenADFortTk-x86-Linux/bin/\$@ .
2427    
2428  %.py:  %.py:
2429          \$(LN) \${OPENADROOT}/OpenADFortTk/tools/canonicalize/\$@ .          \$(LN) \${OPENADROOT}/OpenADFortTk/tools/canonicalize/\$@ .

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.13

  ViewVC Help
Powered by ViewVC 1.1.22