| 1 |
|
|
| 2 |
#! /usr/bin/env bash |
#! /usr/bin/env bash |
| 3 |
# |
# |
| 4 |
# $Header$ |
# $Header$ |
| 1904 |
basename=${sf%%.F} |
basename=${sf%%.F} |
| 1905 |
isAD=`egrep ^$basename.f'[ ]*' adSrcFiles.tmp` |
isAD=`egrep ^$basename.f'[ ]*' adSrcFiles.tmp` |
| 1906 |
if test -z "$isAD" ; then |
if test -z "$isAD" ; then |
| 1907 |
echo " \\" >> nonADF77srclist.tmp |
toBeIgnored=`egrep ^$basename'[ ]*' ${MODS}/dontCompile` |
| 1908 |
printf " $sf" >> nonADF77srclist.tmp |
if test -z "$toBeIgnored" ; then |
| 1909 |
|
echo " \\" >> nonADF77srclist.tmp |
| 1910 |
|
printf " $sf" >> nonADF77srclist.tmp |
| 1911 |
|
fi |
| 1912 |
fi |
fi |
| 1913 |
;; |
;; |
| 1914 |
F90) |
F90) |
| 2361 |
|
|
| 2362 |
# XAIF -> XAIF' |
# XAIF -> XAIF' |
| 2363 |
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 |
| 2364 |
./openad_adm -i \$< -c \${XAIFSCHEMAROOT}/schema/examples/inlinable_intrinsics.xaif -o \$@ -I |
./openad_adm -i \$< -c \${XAIFSCHEMAROOT}/schema/examples/inlinable_intrinsics.xaif -o \$@ -I -r |
| 2365 |
|
|
| 2366 |
# XAIF' -> WHIRL' |
# XAIF' -> WHIRL' |
| 2367 |
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 |
| 2368 |
./xaif2whirl --structured ad_input_code_sf.w2f.canon.B \$< |
./xaif2whirl --debug 1 --structured ad_input_code_sf.w2f.canon.B \$< |
| 2369 |
|
|
| 2370 |
# WHIRL' -> F' |
# WHIRL' -> F' |
| 2371 |
ad_input_code_sf.w2f.canon.xb.x2w.w2f.f: ad_input_code_sf.w2f.canon.xb.x2w.B whirl2f whirl2f_be |
ad_input_code_sf.w2f.canon.xb.x2w.w2f.f: ad_input_code_sf.w2f.canon.xb.x2w.B whirl2f whirl2f_be |
| 2379 |
rm \$<.1 |
rm \$<.1 |
| 2380 |
|
|
| 2381 |
# postprocess F' |
# postprocess F' |
| 2382 |
ad_input_code_sf.w2f.canon.xb.x2w.w2f.rs.pp.f: ad_input_code_sf.w2f.canon.xb.x2w.w2f.rs.f multi-pp.pl ${MODS}/ad_inline.f ${MODS}/ad_template.checkpoint.f ${MODS}/ad_template.plain.f ${MODS}/ad_template.split.f |
ad_input_code_sf.w2f.canon.xb.x2w.w2f.rs.pp.f: ad_input_code_sf.w2f.canon.xb.x2w.w2f.rs.f multi-pp.pl ${MODS}/ad_inline.f ${MODS}/ad_template.checkpoint.f ${MODS}/ad_template.plain.f ${MODS}/ad_template.split.f ${MODS}/ad_template.sa_cg2d.f |
| 2383 |
perl multi-pp.pl -inline=${MODS}/ad_inline.f \$< |
perl multi-pp.pl -inline=${MODS}/ad_inline.f \$< |
| 2384 |
cat \$@ | sed 's/RETURN//' > \$@.1 |
cat \$@ | sed 's/RETURN//' > \$@.1 |
| 2385 |
mv \$@.1 \$@ |
mv \$@.1 \$@ |
| 2391 |
# remove the transformed globals module from the |
# remove the transformed globals module from the |
| 2392 |
# transformed ad_input_code file |
# transformed ad_input_code file |
| 2393 |
# and remove for now the duplicate variables |
# and remove for now the duplicate variables |
| 2394 |
ad_input_code.w2f.canon.xb.x2w.w2f.rs.pp.f: ad_input_code_sf.w2f.canon.xb.x2w.w2f.rs.pp.f |
# and fix 2 data statements |
| 2395 |
cat \$< | sed '/MODULE /,/END MODULE/d' | sed '/^ INTEGER(w2f__i4) DOLOOP_UB/d' > \$@ |
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 |
| 2396 |
|
cat \$< | sed '/MODULE /,/END MODULE/d' | sed '/^ INTEGER(w2f__i4) DOLOOP_UB/d' | sed -f ${MODS}/fixData.sed > \$@ |
| 2397 |
|
|
| 2398 |
# setup some links |
# setup some links |
| 2399 |
%.xsd: |
%.xsd: |