summaryrefslogtreecommitdiff
path: root/doc/design
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2006-02-13 03:52:41 +0000
committerSteven Knight <knight@baldmt.com>2006-02-13 03:52:41 +0000
commit2b001c8a883bf1ac6be685c2c6245527eb07fa42 (patch)
tree004e8fcfa1e69736fcbbf7590da8036b9a8ae4eb /doc/design
parent0ccc7750121efbf4ef8c94502591bf347dd828f4 (diff)
downloadscons-2b001c8a883bf1ac6be685c2c6245527eb07fa42.tar.gz
Add a NoClean() function. (Steven Johnson)
Diffstat (limited to 'doc/design')
-rw-r--r--doc/design/engine.sgml36
-rw-r--r--doc/design/scons.mod1
2 files changed, 37 insertions, 0 deletions
diff --git a/doc/design/engine.sgml b/doc/design/engine.sgml
index 9452420a..df78e3ba 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>
diff --git a/doc/design/scons.mod b/doc/design/scons.mod
index 58a6576a..5b246a4f 100644
--- a/doc/design/scons.mod
+++ b/doc/design/scons.mod
@@ -155,6 +155,7 @@
<!ENTITY ListOption "<function>ListOption</function>">
<!ENTITY Local "<function>Local</function>">
<!ENTITY Module "<function>Module</function>">
+<!ENTITY NoClean "<function>NoClean</function>">
<!ENTITY Objects "<function>Objects</function>">
<!ENTITY Options "<function>Options</function>">
<!ENTITY PackageOption "<function>PackageOption</function>">