summaryrefslogtreecommitdiffstats
path: root/doc/design/engine.sgml
diff options
context:
space:
mode:
Diffstat (limited to 'doc/design/engine.sgml')
-rw-r--r--doc/design/engine.sgml36
1 files changed, 36 insertions, 0 deletions
diff --git a/doc/design/engine.sgml b/doc/design/engine.sgml
index 9452420..df78e3b 100644
--- a/doc/design/engine.sgml
+++ b/doc/design/engine.sgml
@@ -1385,7 +1385,43 @@ Comments?
</para>
</section>
+
+ <section>
+ <title>Suppressing cleanup removal of build-targets</title>
+ <para>
+
+ By default, &SCons; explicitly removes all build-targets
+ when invoked to perform "cleanup". Files that should not be
+ removed during "cleanup" can be specified via the
+ &NoClean; method:
+
+ </para>
+
+ <programlisting>
+ env.Library(target = 'libfoo.a', source = ['aaa.c', 'bbb.c', 'ccc.c'])
+ env.NoClean('libfoo.a')
+ </programlisting>
+
+ <para>
+
+ The NoClean operation has precedence over the Clean operation.
+ A target that is specified as both Clean and NoClean, will not
+ be removed during a clean.
+
+ In the following example, target 'foo' will not be removed
+ during "cleanup":
+
+ <programlisting>
+ env.Clean(target = 'foo')
+ env.NoClean('foo')
+ </programlisting>
+
+
+ </para>
+
+ </section>
+
<section>
<title>Suppressing build-target removal</title>