Sometimes, you may have one or more derived files already built in your local build tree that you wish to make available to other people doing builds. For example, you may find it more effective to perform integration builds with the cache disabled (per the previous section) and only populate the derived-file cache directory with the built files after the integration build has completed successfully. This way, the cache will only get filled up with derived files that are part of a complete, successful build not with files that might be later overwritten while you debug integration problems.
In this case, you can use the
the --cache-force
option
to tell SCons to put all derived files in the cache,
even if the files already exist in your local tree
from having been built by a previous invocation:
%scons -Q --cache-disable
cc -o hello.o -c hello.c cc -o hello hello.o %scons -Q -c
Removed hello.o Removed hello %scons -Q --cache-disable
cc -o hello.o -c hello.c cc -o hello hello.o %scons -Q --cache-force
scons: `.' is up to date. %scons -Q
scons: `.' is up to date.
Notice how the above sample run
demonstrates that the --cache-disable
option avoids putting the built
hello.o
and
hello
files in the cache,
but after using the --cache-force
option,
the files have been put in the cache
for the next invocation to retrieve.