By default, &SCons; removes targets before building them.
Sometimes, however, this is not what you want.
For example, you may want to update a library incrementally,
not by having it deleted and then rebuilt from all
of the constituent object files.
In such cases, you can use the
&Precious; method to prevent
&SCons; from removing the target before it is built:
env = Environment()
lib = env.Library('foo', ['f1.c', 'f2.c', 'f3.c'])
env.Precious(lib)
int f1() { }
int f2() { }
int f3() { }
Although the output doesn't look any different,
&SCons; does not, in fact,
delete the target library before rebuilding it:
scons -Q
&SCons; will, however, still delete files marked as &Precious;
when the -c option is used.