The above example
specifies that SCons
will first search for files under
the /usr/repository1 tree
and next under the /usr/repository2 tree.
SCons expects that any files it searches
for will be found in the same position
relative to the top-level directory.
In the above example, if the hello.c file is not
found in the local build tree,
SCons will search first for
a /usr/repository1/hello.c file
and then for a /usr/repository2/hello.c file
to use in its place.

So given the SConstruct file above,
if the hello.c file exists in the local
build directory,
SCons will rebuild the hello program
as normal:

% scons -Q
cc -o hello.o -c hello.c
cc -o hello hello.o

If, however, there is no local hello.c file,
but one exists in /usr/repository1,
SCons will recompile the hello program
from the source file it finds in the repository: