6.4. Explicit Dependencies: the `Depends` Function
Prev | Chapter 6. Dependencies | Next

## 6.4. Explicit Dependencies: the `Depends` Function

Sometimes a file depends on another file that is not detected by an SCons scanner. For this situation, SCons allows you to specific explicitly that one file depends on another file, and must be rebuilt whenever that file changes. This is specified using the `Depends` method:

    hello = Program('hello.c')
    Depends(hello, 'other_file')

    % scons -Q hello
    cc -c hello.c -o hello.o
    cc -o hello hello.o
    % scons -Q hello
    scons: `hello' is up to date.
    % edit other_file
        [CHANGE THE CONTENTS OF other_file]
    % scons -Q hello
    cc -c hello.c -o hello.o
    cc -o hello hello.o

Note that the dependency (the second argument to `Depends`) may also be a list of Node objects (for example, as returned by a call to a Builder):

    hello = Program('hello.c')
    goodbye = Program('goodbye.c')
    Depends(hello, goodbye)

in which case the dependency or dependencies will be built before the target(s):

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

Prev | Up | Next
6.3. Caching Implicit Dependencies | Home | 6.5. Dependencies From External Files: the `ParseDepends` Function