Command Interception

Another way to build the graph is to intercept all tool calls. The essence of this technique is to activate runtime tracing automatically for all intercepted tools without requiring the user to explicitly prepend the VOV wrapper. This technique is available only on UNIX.

The alias vovintercept prepends the directory $VOVDIR/scripts/intercept to the PATH variable. This directory contains an executable file for each tool that you want to intercept. Each file is a symbolic link to the $VOVDIR/scripts/intercept/generic. For example, if you want to intercept all calls to the compiler gcc, you need to create a link to generic called gcc:
% cd $VOVDIR/scripts/intercept
% ln -s generic gcc

Repeat the process for all tools that you want to intercept.

Now you can turn on "intercept mode" with vovintercept, and execute your methodology. When you are finished with interception, call the alias vovinterceptstop.
% vovintercept
% make target
% vovinterceptstop

This approach has some limitations. For example, you may find out that your existing flow generates a lot of input and output conflicts. Some scripts and Makefiles use full paths to invoke tools, thus preventing the interception.