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.