Clean
FunctionThere may be additional files that you want removed when the -c option is used, but which SCons doesn't know about because they're not normal target files. For example, perhaps a command you invoke creates a log file as part of building the target file you want. You would like the log file cleaned, but you don't want to have to teach SCons that the command "builds" two files.
You can use the Clean
function to arrange for additional files
to be removed when the -c option is used.
Notice, however, that the Clean
function takes two arguments,
and the second argument
is the name of the additional file you want cleaned
(foo.log in this example):
t = Command('foo.out', 'foo.in', 'build -o $TARGET $SOURCE') Clean(t, 'foo.log')
The first argument is the target with which you want
the cleaning of this additional file associated.
In the above example,
we've used the return value from the
Command
function,
which represents the
foo.out
target.
Now whenever the
foo.out target is cleaned
by the -c option,
the foo.log file
will be removed as well:
% scons -Q build -o foo.out foo.in % scons -Q -c Removed foo.out Removed foo.log