Generate FDL Using the Instrumentation Library
The instrumentation library (VovInput, VovOutput, ...) can generate FDL if the variable VOV_FDL_ONLY is set. This can be used to ease the integration of makefiles and instrumented scripts.
Example Using C-shell
#!/bin/csh -f
########## Part 1: The FlowTracer Section.
VovFdl T vov example.csh
VovResources "RAM/10"
VovInput aa /bin/cp || exit 1
VovOutput bb || exit 1
if ( $?VOV_FDL_ONLY ) exit
########### Part 2: Do The Real Work Here.
cp aa bb
exit 0
Example using Makefile
# Example of a Makefile that uses the VIL-Tools to generate FDL.
target: someInput
-@mv someOutput someOutput.bak
./someScript someInput someOutput
# Example of a Makefile that uses the VIL-Tools to generate FDL.
target: someInput fdl_target
-@mv someOutput someOutput.bak
./someScript someInput someOutput
# Additional rules for FlowTracer
fdl_target:
@VovFdl T vov make target
@VovInput someInput
@VovOutput -ignore_timestamp someOutput
# Fragment of Flow.tcl code to use the information
# in the 'fdl' target of the Makefile above.
set fdl [exec env VOV_FDL_ONLY=1 make fdl_$target]
catch {eval $fdl}
# Fragment of Flow.tcl code to use the information
# in the 'fdl' target of the Makefile above.
set fdlFile /tmp/vovfdl[pid]
setenv VOV_FDL_ONLY $fdlFile
catch {file delete $fdlFile}
catch {exec make fdl}
if [catch {source $fdlFile} errmsg] {
VovFatalError "Cannot source $fdlFile: $errmsg"
}
catch {file delete $fdlFile}