--- MITgcm/tools/genmake2 2014/04/04 21:34:01 1.265 +++ MITgcm/tools/genmake2 2017/01/28 18:37:21 1.279 @@ -1,6 +1,6 @@ #! /usr/bin/env bash # -# $Header: /home/ubuntu/mnt/e9_copy/MITgcm/tools/genmake2,v 1.265 2014/04/04 21:34:01 jmc Exp $ +# $Header: /home/ubuntu/mnt/e9_copy/MITgcm/tools/genmake2,v 1.279 2017/01/28 18:37:21 jmc Exp $ # $Name: $ # # Makefile generator for MITgcm UV codes @@ -22,14 +22,17 @@ -oad | --oad Generate a Makefile for an OpenAD built + -nocat4ad | -dog4ad | -ncad | -dad + do not concatenate (cat) source code sent to TAF + resulting in compilation of multiple files + -adoptfile NAME | --adoptfile NAME | -adof NAME | --adof NAME -adoptfile=NAME | --adoptfile=NAME | -adof=NAME | --adof=NAME Use "NAME" as the adoptfile. By default, the file at "tools/adjoint_options/adjoint_oad" (for OpenAD built) or "tools/adjoint_options/adjoint_default" will be used. - -nooptfile | --nooptfile - -optfile NAME | --optfile NAME | -of NAME | --of NAME + -optfile NAME | --optfile NAME | -of NAME | --of NAME -optfile=NAME | --optfile=NAME | -of=NAME | --of=NAME Use "NAME" as the optfile. By default, an attempt will be made to find an appropriate "standard" optfile in the @@ -1083,9 +1086,7 @@ } check_lapack_libs() { - if test ! "x$SKIP_LAPACK_CHECK" = x ; then - return - fi + if test "x$CHECK_FOR_LAPACK" = xf ; then return ; fi echo >> $LOGFILE echo "running: check_lapack_libs()" >> $LOGFILE cat < genmake_tla.F @@ -1281,8 +1282,8 @@ DEVEL= HAVE_TEST_L= -# comment this line out to enable lapack test -SKIP_LAPACK_CHECK=t +# set this to "t" to enable lapack test +CHECK_FOR_LAPACK=f # DEFINES checked by test compilation or command-line HAVE_SYSTEM= @@ -1331,6 +1332,7 @@ AUTODIFF_PKG_USED=f OPENAD= AD_OPTFILE= +CAT_SRC_FOR_TAF=1 TAF= AD_TAF_FLAGS= FTL_TAF_FLAGS= @@ -1405,15 +1407,15 @@ -help | --help | -h | --h) usage ;; - -nooptfile | --nooptfile) - OPTFILE="NONE" ;; -optfile | --optfile | -of | --of) ac_prev=OPTFILE ;; -optfile=* | --optfile=* | -of=* | --of=*) OPTFILE=$ac_optarg ;; -oad | --oad) - OPENAD="true" ;; + OPENAD="true" ; ALWAYS_USE_F90=1 ;; + -nocat4ad | -dog4ad | -ncad | -dad) + CAT_SRC_FOR_TAF=0 ;; -adoptfile | --adoptfile | -adof | --adof) ac_prev=AD_OPTFILE ;; -adoptfile=* | --adoptfile=* | -adof=* | --adof=*) @@ -1585,7 +1587,7 @@ #TMP=./genmk_$$ #- try to put temporary files in system-local /tmp dir -TMP=/tmp/genmk_$$ +TMP=/tmp/genmk_${USER}_$$ touch $TMP ; retVal=$? if [ $retVal -eq 0 ] ; then if test ! -r $TMP ; then TMP=./genmk_$$ ; fi @@ -1715,6 +1717,12 @@ fi #==================================================================== +# Initialize INCLUDEDIRSMK from and optfile INCLUDEDIRS +if test "x${INCLUDEDIRS}" != "x" ; then + INCLUDEDIRSMK=${INCLUDEDIRS} +fi + +#==================================================================== # Set default values if not set by the optfile # # Check that FC, CC, LINK, CPP, S64, LN, and MAKE are defined. If not, @@ -1959,26 +1967,56 @@ fi rm -f genmake_tcomp* -printf " Do we have the etime() command using $FC... " -cat > genmake_tcomp.$FS < genmake_tcomp_1.$FS < genmake_tcomp.log 2>&1 +$FC $FFLAGS -o genmake_tcomp_1 genmake_tcomp_1.$FS > genmake_tcomp.log 2>&1 RETVAL=$? if test "x$RETVAL" = x0 ; then - HAVE_ETIME=t - DEFINES="$DEFINES -DHAVE_ETIME" - echo "yes" + HAVE_ETIME='Fct' + DEFINES="$DEFINES -DHAVE_ETIME_FCT" + echo " yes (${HAVE_ETIME})" else + cat > genmake_tcomp_2.$FS <> genmake_tcomp.log 2>&1 + RETVAL=$? + if test "x$RETVAL" = x0 ; then + echo -n 'c,' + ./genmake_tcomp_2 > genmake_tcomp_2.out 2>&1 + RETVAL=$? + fi + if test "x$RETVAL" = x0 ; then + echo -n 'r:' + RETVAL=`cat genmake_tcomp_2.out | $AWK '{print $1}'` + fi + if test "x$RETVAL" = x0 ; then + HAVE_ETIME='SbR' + DEFINES="$DEFINES -DHAVE_ETIME_SBR" + echo " yes (${HAVE_ETIME})" + else HAVE_ETIME= - echo "no" + echo " no" + fi fi +#mkdir chk_etime ; cp -p -f genmake_tcomp* chk_etime rm -f genmake_tcomp* printf " Can we call simple C routines (here, \"cloc()\") using $FC... " @@ -2073,6 +2111,8 @@ printf "$d " SOURCEDIRS="$SOURCEDIRS $d" INCLUDEDIRS="$INCLUDEDIRS $d" + SOURCEDIRSMK="$SOURCEDIRSMK $d" + INCLUDEDIRSMK="$INCLUDEDIRSMK $d" fi done echo @@ -2096,6 +2136,9 @@ if test "x${TOOLSDIR}" = x ; then TOOLSDIR="$ROOTDIR/tools" + TOOLSDIRMK='$(ROOTDIR)'"/tools" +else + TOOLSDIRMK=${TOOLSDIR} fi if test ! -d ${TOOLSDIR} ; then echo "Error: the specified TOOLSDIR (\"$TOOLSDIR\") does not exist!" @@ -2461,9 +2504,12 @@ fi for i in $PACKAGES ; do adr="$ROOTDIR/pkg/$i" + adrmk='$(ROOTDIR)'"/pkg/$i" if test -d $adr ; then SOURCEDIRS="$SOURCEDIRS $adr" INCLUDEDIRS="$INCLUDEDIRS $adr" + SOURCEDIRSMK="$SOURCEDIRSMK $adrmk" + INCLUDEDIRSMK="$INCLUDEDIRSMK $adrmk" if test "x$i" = xautodiff ; then AUTODIFF_PKG_USED=t fi @@ -2519,20 +2565,24 @@ if test "x$STANDARDDIRS" != x ; then for d in $STANDARDDIRS ; do adr="$ROOTDIR/$d/src" + adrmk='$(ROOTDIR)/'"$d/src" if test ! -d $adr ; then echo "Error: directory $adr not found -- please check that ROOTDIR=\"$ROOTDIR\"" echo " is correct and that you correctly specified the STANDARDDIRS option" exit 1 else SOURCEDIRS="$SOURCEDIRS $adr" + SOURCEDIRSMK="$SOURCEDIRSMK $adrmk" fi adr="$ROOTDIR/$d/inc" + adrmk='$(ROOTDIR)/'"$d/inc" if test ! -d $adr ; then echo "Error: directory $adr not found -- please check that ROOTDIR=\"$ROOTDIR\"" echo " is correct and that you correctly specified the STANDARDDIRS option" exit 1 else INCLUDEDIRS="$INCLUDEDIRS $adr" + INCLUDEDIRSMK="$INCLUDEDIRSMK $adrmk" fi done fi @@ -2632,8 +2682,9 @@ OAD_KEEP_ORIGINAL="/dev/null" OAD_CB2M_FILES="/dev/null" OADTOOLS="$TOOLSDIR/OAD_support" + OADTOOLSMK='$(TOOLSDIR)/OAD_support' echo " looking for dontCompile file: " - for i in "." $MODS ; do + for i in "." $MODS $OADTOOLS ; do if test -r $i"/dontCompile" ; then OAD_DONT_COMPILE=$i"/dontCompile" echo " found $OAD_DONT_COMPILE" @@ -2641,7 +2692,7 @@ fi done echo " looking for dontTransform file: " - for i in "." $MODS ; do + for i in "." $MODS $OADTOOLS ; do if test -r $i"/dontTransform" ; then OAD_DONT_TRANSFORM=$i"/dontTransform" echo " found $OAD_DONT_TRANSFORM" @@ -2649,7 +2700,7 @@ fi done echo " looking for keepOriginal file: " - for i in "." $MODS ; do + for i in "." $MODS $OADTOOLS ; do if test -r $i"/keepOriginal" ; then OAD_KEEP_ORIGINAL=$i"/keepOriginal" echo " found $OAD_KEEP_ORIGINAL" @@ -2657,7 +2708,7 @@ fi done echo " looking for cb2mFiles: " - for i in "." $MODS ; do + for i in "." $MODS $OADTOOLS ; do if test -r $i"/cb2mFiles" ; then OAD_CB2M_FILES=$i"/cb2mFiles" echo " found $OAD_CB2M_FILES" @@ -2676,7 +2727,11 @@ printf 'H_SRC_FILES = ' > $TMP.hsrclist printf 'AD_FLOW_FILES = ' > $TMP.ad_flow_files alldirs="$SOURCEDIRS $INCLUDEDIRS ." +alldirsmk=(${SOURCEDIRSMK} ${INCLUDEDIRSMK} ".") +nd=0 for d in $alldirs ; do + dmk=${alldirsmk[${nd}]} + nd=$((${nd}+1)) deplist= sfiles=`( cd $d; echo *.[h,c,F] *.flow )` sfiles=`( echo $sfiles; cd $d; echo *.F90 )` @@ -2779,12 +2834,12 @@ if test "x$deplist" != x ; then if test "$d" != "." ; then echo "" >> $TMP.srclinks - echo "# These files are linked from $d" >> $TMP.srclinks + echo "# These files are linked from $dmk ( aka $d )" >> $TMP.srclinks echo "$deplist :" >> $TMP.srclinks # We need to make sure that the link isn't already there. # This may happen when make thinks that a header file has to be "remade" # because a module it depends on has changed. In this case we do nothing. - printf "\tif [ ! -L \$@ ]; then \$(LN) %s/\$@ \$@; fi\n" $d >> $TMP.srclinks + printf "\tif [ ! -L \$@ ]; then \$(LN) %s/\$@ \$@; fi\n" $dmk >> $TMP.srclinks fi fi done @@ -2841,15 +2896,15 @@ ROOTDIR = ${ROOTDIR} BUILDDIR = ${BUILDDIR} -SOURCEDIRS = ${SOURCEDIRS} -INCLUDEDIRS = ${INCLUDEDIRS} +SOURCEDIRS = ${SOURCEDIRSMK} +INCLUDEDIRS = ${INCLUDEDIRSMK} EXEDIR = ${EXEDIR} EXECUTABLE = \$(EXEDIR)/${EXECUTABLE} -TOOLSDIR = ${TOOLSDIR} -OADTOOLS = ${OADTOOLS} +TOOLSDIR = ${TOOLSDIRMK} +OADTOOLS = ${OADTOOLSMK} #eh3 new defines for the adjoint work -AUTODIFF = ${ROOTDIR}/pkg/autodiff +AUTODIFF = \$(ROOTDIR)/pkg/autodiff EXE_AD = ${EXE_AD} EXE_FTL = ${EXE_FTL} EXE_SVD = ${EXE_SVD} @@ -2896,8 +2951,8 @@ KFLAGS1 = ${KFLAGS1} KFLAGS2 = ${KFLAGS2} # Optim./debug for FC -FFLAGS = ${FFLAGS} ${FEXTRAFLAGS} -FOPTIM = ${FOPTIM} +FFLAGS = ${FFLAGS} +FOPTIM = ${FOPTIM} ${FEXTRAFLAGS} # Optim./debug for FC F90FLAGS = ${F90FLAGS} F90OPTIM = ${F90OPTIM} @@ -2963,7 +3018,7 @@ lib: libmitgcmuv.a -libmitgcmuv.a: \$(OBJFILES) +libmitgcmuv.a: \$(SPECIAL_FILES) \$(OBJFILES) ar rcv libmitgcmuv.a \$(OBJFILES) ar d libmitgcmuv.a main.o @@ -2973,10 +3028,6 @@ small_f: \$(F77_PP_SRC_FILES) \$(F90_PP_SRC_FILES) -# output.txt: \$(EXECUTABLE) -# @printf 'running ... ' -# @\$(EXECUTABLE) > \$@ - # remove most of the files that "make" generates clean: -rm -rf *.p *.$FS90 *.mod ${RMFILES} work.{pc,pcl} *.template @@ -3128,6 +3179,24 @@ echo >> $MAKEFILE rm -f $TMP.adSrcFiles +if test $CAT_SRC_FOR_TAF = 0 ; then +cat >>$MAKEFILE <>$MAKEFILE < ad_input_code.$FS -ad_taf_output.$FS: ad_input_code.$FS - @-rm -f ad_input_code_ad.$FS ; echo '' +adtafonly: \$(TAF) \$(AD_TAF_FLAGS) \$(TAF_EXTRA) ad_input_code.$FS ls -l ad_input_code_ad.$FS cat ad_input_code_ad.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ad_taf_output.$FS -adtafonly: +EOF + +if test $CAT_SRC_FOR_TAF = 1 ; then +cat >>$MAKEFILE < ad_taf_output.$FS @@ -3164,20 +3238,48 @@ \$(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) \$(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) -ad_tamc_output.$FS: ad_input_code.$FS - \$(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 +adobj: ad_taf_output.o \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) -ad_tamc: ad_tamc_output.o \$(OBJFILES) - \$(LINK) -o ${EXE_AD} \$(FFLAGS) \$(FOPTIM) \$(OBJFILES) ad_tamc_output.o \$(LIBS) +EOF + +else +cat >>$MAKEFILE < ad_config.template + cmp ad_config.template AD_CONFIG.h || cat ad_config.template > AD_CONFIG.h + @-rm -f ad_config.template + @\$(MAKE) -f \$(MAKEFILE) \$(F77_PP_SRC_FILES) + @\$(MAKE) -f \$(MAKEFILE) \$(FLOWFILES) + @-rm -f \$(AD_FILES:.$FS=_ad.$FS) \$(AD_FILES:.$FS=_ad.o); echo '' + \$(MAKE) -f \$(MAKEFILE) remove_comments + \$(TAF) \$(AD_TAF_FLAGS) \$(TAF_EXTRA) \$(FLOWFILES) \$(AD_FILES) + \$(MAKE) -f \$(MAKEFILE) adj_sed + cat \$(AD_FILES:.$FS=_ad.$FS) > ad_taf_output.$FS + +\$(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) + \$(MAKE) -f \$(MAKEFILE) adobjfiles + \$(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) +adobj: ad_taf_output.$FS \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) + \$(MAKE) -f \$(MAKEFILE) adobjfiles + +EOF +fi + +cat >>$MAKEFILE < ad_tamc_output.$FS + +ad_tamc: ad_tamc_output.o \$(OBJFILES) + \$(LINK) -o ${EXE_AD} \$(FFLAGS) \$(FOPTIM) \$(OBJFILES) ad_tamc_output.o \$(LIBS) # ... FTL ... ftlall: ftl_exe_target @@ -3199,13 +3301,18 @@ @\$(MAKE) -f \$(MAKEFILE) \$(AD_FLOW_FILES) cat \$(AD_FLOW_FILES) \$(AD_FILES) | sed -f \$(TOOLSDIR)/remove_comments_sed > ftl_input_code.$FS -ftl_taf_output.$FS: ftl_input_code.$FS - @-rm -f ftl_input_code_tl.$FS ; echo '' +ftltafonly: \$(TAF) \$(FTL_TAF_FLAGS) \$(TAF_EXTRA) ftl_input_code.$FS ls -l ftl_input_code_tl.$FS cat ftl_input_code_tl.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ftl_taf_output.$FS -ftltafonly: +EOF + +if test $CAT_SRC_FOR_TAF = 1 ; then +cat >>$MAKEFILE < ftl_taf_output.$FS @@ -3213,6 +3320,31 @@ \$(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) \$(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) +EOF + +else +cat >>$MAKEFILE < ad_config.template + cmp ad_config.template AD_CONFIG.h || cat ad_config.template > AD_CONFIG.h + @-rm -f ad_config.template + @\$(MAKE) -f \$(MAKEFILE) \$(F77_PP_SRC_FILES) + @\$(MAKE) -f \$(MAKEFILE) \$(AD_FLOW_FILES) + @-rm -f \$(AD_FILES:.$FS=_tl.$FS) \$(AD_FILES:.$FS=_tl.o); echo '' + \$(MAKE) -f \$(MAKEFILE) remove_comments + \$(TAF) \$(FTL_TAF_FLAGS) \$(TAF_EXTRA) \$(AD_FLOW_FILES) \$(AD_FILES) + \$(MAKE) -f \$(MAKEFILE) ftl_sed + cat \$(AD_FILES:.$FS=_tl.$FS) > ftl_taf_output.$FS + +\$(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) + \$(MAKE) -f \$(MAKEFILE) ftlobjfiles + \$(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) + +EOF +fi + +cat >>$MAKEFILE < ftl_tamc_output.$FS @@ -3335,6 +3467,7 @@ OAD_cp.F90 \ OAD_rev.F90 \ OAD_tape.F90 \ +OAD_regular_cp.F90 \ revolve.F90 OPENAD_SUPPORT_C_SRC_FILES = \ @@ -3361,28 +3494,21 @@ \$(LINK) -o \$@ \$(FFLAGS) \$(FOPTIM) \$(AD_OBJ_FILES_S2) \$(LIBS) # create sources files modules from header files containing common blocks -%_mod.FF90 : %.h \${OADTOOLS}/cb2mGetModules.csh \${OADTOOLS}/cb2mGetModules.awk - \${OADTOOLS}/cb2mGetModules.csh $< \${OADTOOLS}/cb2mGetModules.awk +%_mod.FF90 : %.h \$(OADTOOLS)/cb2mGetModules.csh \$(OADTOOLS)/cb2mGetModules.awk + \$(OADTOOLS)/cb2mGetModules.csh $< \$(OADTOOLS)/cb2mGetModules.awk # create new header files with USE statements for the new modules made above -%_mod.h : %.h \${OADTOOLS}/cb2mGetHeaders.csh \${OADTOOLS}/cb2mGetHeaders.awk - \${OADTOOLS}/cb2mGetHeaders.csh $< \${OADTOOLS}/cb2mGetHeaders.awk \$(CB2M_F90_SRC_NAMES) +%_mod.h : %.h \$(OADTOOLS)/cb2mGetHeaders.csh \$(OADTOOLS)/cb2mGetHeaders.awk + \$(OADTOOLS)/cb2mGetHeaders.csh $< \$(OADTOOLS)/cb2mGetHeaders.awk \$(CB2M_F90_SRC_NAMES) # change the include directives of everybody to refer to the new header files with the USE statements -%_cb2m.FF90 : %.F \${OADTOOLS}/cb2mUseModules.bash - \${OADTOOLS}/cb2mUseModules.bash $< ${MPI} +%_cb2m.FF90 : %.F \$(OADTOOLS)/cb2mUseModules.bash + \$(OADTOOLS)/cb2mUseModules.bash $< ${MPI} # makefile debug rule small_f: \$(CB2M_F90_PP_SRC_FILES) .PHONY: small_f -# 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) > \$@ - ad_input_code.f$FS90: \$(CB2M_AD_FILES) cat \$^ > \$@ @@ -3392,7 +3518,7 @@ # replace stop statements (to avoid the implied unstructured control flow) with print statements ad_input_code_sf.pre.s2p.f90 : ad_input_code_sf.pre.f90 - cat \$< | sed -f \${OADTOOLS}/stop2print.sed > ad_input_code_sf.pre.s2p.f90 + cat \$< | sed -f \$(OADTOOLS)/stop2print.sed > ad_input_code_sf.pre.s2p.f90 # F -> WHIRL ad_input_code_sf.pre.s2p.B: ad_input_code_sf.pre.s2p.f90 @@ -3415,10 +3541,10 @@ \${OPEN64ROOT}/whirl2f/whirl2f -FLIST:ftn_file=\$@ -openad \$< # insert template directives -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 - \${OADTOOLS}/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 + \$(OADTOOLS)/insertTemplateDir.bash \$< \$@ -PPEXTRAS=\$(notdir \$(wildcard \${OADTOOLS}/ad_template.*.F)) ad_inline.F +PPEXTRAS=\$(notdir \$(wildcard \$(OADTOOLS)/ad_template.*.F)) ad_inline.F # postprocess F' postProcess.tag: ad_input_code_sf.pre.s2p.xb.x2w.w2f.td.f$FS90 \$(PPEXTRAS:.F=.f) | w2f__types.f90 \${OPENADFORTTK_BASE}/tools/SourceProcessing/postProcess.py --progress --timing --infoUnitFile w2f__types.f90 --outputFormat=fixed --separateOutput --pathSuffix "" --filenameSuffix "_oad" -m r -i ad_inline.f \$< @@ -3433,7 +3559,7 @@ # link the support files: \$(OPENAD_SUPPORT_F90_SRC_FILES) \$(OPENAD_SUPPORT_C_SRC_FILES) \$(PPEXTRAS): - \$(LN) \${OADTOOLS}/\$@ . + \$(LN) \$(OADTOOLS)/\$@ . AD_CLEAN += *_mod.h *_mod.F90 *.FF90 *.mod-whirl temp.sed oad_cp.* postProcess.tag