Preventing Removal of Targets: the Precious Function
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)
|
Although the output doesn't look any different,
SCons does not, in fact,
delete the target library before rebuilding it:
% scons -Q
cc -c -o f1.o f1.c
cc -c -o f2.o f2.c
cc -c -o f3.o f3.c
ar r libfoo.a f1.o f2.o f3.o
ranlib libfoo.a
|
SCons will, however, still delete files marked as Precious
when the -c option is used.