Index: /trunk/kBuild/doc/QuickReference-kmk.html
===================================================================
--- /trunk/kBuild/doc/QuickReference-kmk.html	(revision 2169)
+++ /trunk/kBuild/doc/QuickReference-kmk.html	(revision 2170)
@@ -297,5 +297,4 @@
 Since <em>all</em> the features are included, the quickness of this reference can be
 disputed. ;-)</p>
-<p>Features that are</p>
 <div class="section">
 <h1><a id="directives" name="directives">Directives</a></h1>
@@ -329,5 +328,5 @@
 sinclude file
 </pre>
-<p>Include another dependency file <a class="footnote-reference" href="#id15" id="id1" name="id1">[1]</a>:</p>
+<p>Include another dependency file <a class="footnote-reference" href="#id80" id="id1" name="id1">[1]</a>:</p>
 <pre class="literal-block">
 includedep file
@@ -359,5 +358,5 @@
 unexport variable
 </pre>
-<p>Define a variable in the local context instead of the global one <a class="footnote-reference" href="#id15" id="id2" name="id2">[1]</a>:</p>
+<p>Define a variable in the local context instead of the global one <a class="footnote-reference" href="#id80" id="id2" name="id2">[1]</a>:</p>
 <pre class="literal-block">
 local variable = value
@@ -510,34 +509,34 @@
 <tt class="docutils literal"><span class="pre">KBUILD_KMK_REVISION</span></tt></td>
 <td>The kBuild version string and the break down
-into individual components. <a class="footnote-reference" href="#id15" id="id3" name="id3">[1]</a></td>
-</tr>
-<tr><td><tt class="docutils literal"><span class="pre">KBUILD_HOST</span></tt> <a class="footnote-reference" href="#id15" id="id4" name="id4">[1]</a></td>
+into individual components. <a class="footnote-reference" href="#id80" id="id3" name="id3">[1]</a></td>
+</tr>
+<tr><td><tt class="docutils literal"><span class="pre">KBUILD_HOST</span></tt> <a class="footnote-reference" href="#id80" id="id4" name="id4">[1]</a></td>
 <td>The host operating system.</td>
 </tr>
-<tr><td><tt class="docutils literal"><span class="pre">KBUILD_HOST_ARCH</span></tt> <a class="footnote-reference" href="#id15" id="id5" name="id5">[1]</a></td>
+<tr><td><tt class="docutils literal"><span class="pre">KBUILD_HOST_ARCH</span></tt> <a class="footnote-reference" href="#id80" id="id5" name="id5">[1]</a></td>
 <td>The host architecture.</td>
 </tr>
-<tr><td><tt class="docutils literal"><span class="pre">KBUILD_HOST_CPU</span></tt> <a class="footnote-reference" href="#id15" id="id6" name="id6">[1]</a></td>
+<tr><td><tt class="docutils literal"><span class="pre">KBUILD_HOST_CPU</span></tt> <a class="footnote-reference" href="#id80" id="id6" name="id6">[1]</a></td>
 <td>The host CPU <tt class="docutils literal"><span class="pre">kmk</span></tt> is built for, set to
 <tt class="docutils literal"><span class="pre">blend</span></tt> if not any particular CPU.</td>
 </tr>
-<tr><td><tt class="docutils literal"><span class="pre">KBUILD_PATH</span></tt> <a class="footnote-reference" href="#id15" id="id7" name="id7">[1]</a></td>
+<tr><td><tt class="docutils literal"><span class="pre">KBUILD_PATH</span></tt> <a class="footnote-reference" href="#id80" id="id7" name="id7">[1]</a></td>
 <td>Where the kBuild scripts are.</td>
 </tr>
-<tr><td><tt class="docutils literal"><span class="pre">KBUILD_BIN_PATH</span></tt> <a class="footnote-reference" href="#id15" id="id8" name="id8">[1]</a></td>
+<tr><td><tt class="docutils literal"><span class="pre">KBUILD_BIN_PATH</span></tt> <a class="footnote-reference" href="#id80" id="id8" name="id8">[1]</a></td>
 <td>Where the host specific kBuild binaries are.</td>
 </tr>
-<tr><td><tt class="docutils literal"><span class="pre">KMK</span></tt> <a class="footnote-reference" href="#id15" id="id9" name="id9">[1]</a>,
+<tr><td><tt class="docutils literal"><span class="pre">KMK</span></tt> <a class="footnote-reference" href="#id80" id="id9" name="id9">[1]</a>,
 <tt class="docutils literal"><span class="pre">MAKE</span></tt></td>
 <td>The name with which <tt class="docutils literal"><span class="pre">kmk</span></tt> was invoked. Using
 this variable in recipes has special meaning.</td>
 </tr>
-<tr><td><tt class="docutils literal"><span class="pre">KMK_BUILTIN</span></tt> <a class="footnote-reference" href="#id15" id="id10" name="id10">[1]</a></td>
+<tr><td><tt class="docutils literal"><span class="pre">KMK_BUILTIN</span></tt> <a class="footnote-reference" href="#id80" id="id10" name="id10">[1]</a></td>
 <td>List of built-in commands.</td>
 </tr>
-<tr><td><tt class="docutils literal"><span class="pre">KMK_FEATURES</span></tt> <a class="footnote-reference" href="#id15" id="id11" name="id11">[1]</a></td>
+<tr><td><tt class="docutils literal"><span class="pre">KMK_FEATURES</span></tt> <a class="footnote-reference" href="#id80" id="id11" name="id11">[1]</a></td>
 <td>List of <tt class="docutils literal"><span class="pre">kmk</span></tt> specific features.</td>
 </tr>
-<tr><td><tt class="docutils literal"><span class="pre">KMK_FLAGS</span></tt> <a class="footnote-reference" href="#id15" id="id12" name="id12">[1]</a></td>
+<tr><td><tt class="docutils literal"><span class="pre">KMK_FLAGS</span></tt> <a class="footnote-reference" href="#id80" id="id12" name="id12">[1]</a></td>
 <td><p class="first">The flags given to <tt class="docutils literal"><span class="pre">kmk</span></tt>. You can set this in
 the environment or a makefile to set flags.</p>
@@ -549,8 +548,8 @@
 </td>
 </tr>
-<tr><td><tt class="docutils literal"><span class="pre">KMK_LEVEL</span></tt> <a class="footnote-reference" href="#id15" id="id13" name="id13">[1]</a></td>
+<tr><td><tt class="docutils literal"><span class="pre">KMK_LEVEL</span></tt> <a class="footnote-reference" href="#id80" id="id13" name="id13">[1]</a></td>
 <td>The number of levels of recursion (sub-makes).</td>
 </tr>
-<tr><td><tt class="docutils literal"><span class="pre">KMK_VERSION</span></tt> <a class="footnote-reference" href="#id15" id="id14" name="id14">[1]</a></td>
+<tr><td><tt class="docutils literal"><span class="pre">KMK_VERSION</span></tt> <a class="footnote-reference" href="#id80" id="id14" name="id14">[1]</a></td>
 <td>The GNU <tt class="docutils literal"><span class="pre">make</span></tt> version number.</td>
 </tr>
@@ -588,5 +587,5 @@
 </tbody>
 </table>
-<p>The following variables reflects <tt class="docutils literal"><span class="pre">kmk</span></tt> options. Do not set these.</p>
+<p>The following variables reflects <tt class="docutils literal"><span class="pre">kmk</span></tt> options. Do not set these. <a class="footnote-reference" href="#id80" id="id15" name="id15">[1]</a></p>
 <table border="1" class="docutils">
 <colgroup>
@@ -633,6 +632,6 @@
 <div class="section">
 <h1><a id="commands" name="commands">Commands</a></h1>
-<p>Builtin commands all start with <tt class="docutils literal"><span class="pre">kmk_builtin_</span></tt>, so in order to save space
-this prefix has been omitted in the table below. All commands comes in an
+<p>Builtin commands <a class="footnote-reference" href="#id80" id="id16" name="id16">[1]</a> all start with <tt class="docutils literal"><span class="pre">kmk_builtin_</span></tt>, so in order to save
+space this prefix has been omitted in the table below. All commands comes in an
 external edition that can be used by/in the shell, these are prefixed <tt class="docutils literal"><span class="pre">kmk_</span></tt>.</p>
 <table border="1" class="docutils">
@@ -744,8 +743,9 @@
 <div class="section">
 <h1><a id="kmk-expression" name="kmk-expression">kmk-expression</a></h1>
-<p><tt class="docutils literal"><span class="pre">kmk</span></tt>-expressions are related to the C/C++ preprocessor in some ways as well
-as <tt class="docutils literal"><span class="pre">nmake</span></tt> and BSD <tt class="docutils literal"><span class="pre">make</span></tt>. There are however some peculiarities because of
-the way GNU <tt class="docutils literal"><span class="pre">make</span></tt> choose to represent booleans in its function library, so,
-strings can be turned into boolean by taking any non-empty string as true.</p>
+<p><tt class="docutils literal"><span class="pre">kmk</span></tt>-expressions <a class="footnote-reference" href="#id80" id="id17" name="id17">[1]</a> are related to the C/C++ preprocessor in some ways as
+well as <tt class="docutils literal"><span class="pre">nmake</span></tt> and BSD <tt class="docutils literal"><span class="pre">make</span></tt>. There are however some peculiarities
+because of the way GNU <tt class="docutils literal"><span class="pre">make</span></tt> choose to represent booleans in its function
+library, so, strings can be turned into boolean by taking any non-empty string
+as true.</p>
 <p>Quoting using single quotes results in hard strings, while double quotes and
 unquoted string results in soft strings that can be converted to number or
@@ -897,5 +897,5 @@
 </pre>
 <p>Sort the words in <tt class="docutils literal"><span class="pre">list</span></tt> lexicographically in reserve order, removing
-duplicates:</p>
+duplicates <a class="footnote-reference" href="#id80" id="id18" name="id18">[1]</a>:</p>
 <pre class="literal-block">
 $(rsort list)
@@ -925,17 +925,17 @@
 $(join list1,list2)
 </pre>
-<p>Fold <tt class="docutils literal"><span class="pre">text</span></tt> to upper case:</p>
+<p>Fold <tt class="docutils literal"><span class="pre">text</span></tt> to upper case <a class="footnote-reference" href="#id80" id="id19" name="id19">[1]</a>:</p>
 <pre class="literal-block">
 $(toupper text)
 </pre>
-<p>Fold <tt class="docutils literal"><span class="pre">text</span></tt> to lower case:</p>
+<p>Fold <tt class="docutils literal"><span class="pre">text</span></tt> to lower case <a class="footnote-reference" href="#id80" id="id20" name="id20">[1]</a>:</p>
 <pre class="literal-block">
 $(tolower text)
 </pre>
-<p>String formatting a la the unix <tt class="docutils literal"><span class="pre">printf</span></tt> command:</p>
+<p>String formatting a la the unix <tt class="docutils literal"><span class="pre">printf</span></tt> command <a class="footnote-reference" href="#id80" id="id21" name="id21">[1]</a>:</p>
 <pre class="literal-block">
 $(printf fmt, arg...)
 </pre>
-<p>Return the length of a string or a (unexpanded) variable:</p>
+<p>Return the length of a string or a (unexpanded) variable <a class="footnote-reference" href="#id80" id="id22" name="id22">[1]</a>:</p>
 <pre class="literal-block">
 $(length string)
@@ -944,5 +944,5 @@
 <p>Find the position of <tt class="docutils literal"><span class="pre">needle</span></tt> in <tt class="docutils literal"><span class="pre">haystack</span></tt>, returns 0 if not found.
 Negative <tt class="docutils literal"><span class="pre">start</span></tt> indices are relative to the end of <tt class="docutils literal"><span class="pre">haystack</span></tt>, while
-positive ones are one based:</p>
+positive ones are one based <a class="footnote-reference" href="#id80" id="id23" name="id23">[1]</a>:</p>
 <pre class="literal-block">
 $(pos needle, haystack[, start])
@@ -951,10 +951,10 @@
 <p>Returns the specified substring. The <tt class="docutils literal"><span class="pre">start</span></tt> works like with <tt class="docutils literal"><span class="pre">$(pos</span> <span class="pre">)</span></tt>.
 If the substring is partially outside the <tt class="docutils literal"><span class="pre">string</span></tt> the result will be
-padded with <tt class="docutils literal"><span class="pre">pad</span></tt> if present:</p>
+padded with <tt class="docutils literal"><span class="pre">pad</span></tt> if present <a class="footnote-reference" href="#id80" id="id24" name="id24">[1]</a>:</p>
 <pre class="literal-block">
 $(substr string, start[, length[, pad]])
 </pre>
 <p>Insert <tt class="docutils literal"><span class="pre">in</span></tt> into <tt class="docutils literal"><span class="pre">str</span></tt> at the specified position. <tt class="docutils literal"><span class="pre">n</span></tt> works like with
-<tt class="docutils literal"><span class="pre">$(pos</span> <span class="pre">)</span></tt>, except that <tt class="docutils literal"><span class="pre">0</span></tt> is the end of the string:</p>
+<tt class="docutils literal"><span class="pre">$(pos</span> <span class="pre">)</span></tt>, except that <tt class="docutils literal"><span class="pre">0</span></tt> is the end of the string <a class="footnote-reference" href="#id80" id="id25" name="id25">[1]</a>:</p>
 <pre class="literal-block">
 $(insert in, str[, n[, length[, pad]]])
@@ -962,5 +962,5 @@
 <p>Translate <tt class="docutils literal"><span class="pre">string</span></tt> exchanging characters in <tt class="docutils literal"><span class="pre">from-set</span></tt> with <tt class="docutils literal"><span class="pre">to-set</span></tt>,
 optionally completing <tt class="docutils literal"><span class="pre">to-set</span></tt> with <tt class="docutils literal"><span class="pre">pad-char</span></tt> if specified. If no
-<tt class="docutils literal"><span class="pre">pad-char</span></tt> characters absent in <tt class="docutils literal"><span class="pre">to-set</span></tt> will be deleted:</p>
+<tt class="docutils literal"><span class="pre">pad-char</span></tt> characters absent in <tt class="docutils literal"><span class="pre">to-set</span></tt> will be deleted <a class="footnote-reference" href="#id80" id="id26" name="id26">[1]</a>:</p>
 <pre class="literal-block">
 $(translate string, from-set[, to-set[, pad-char]])
@@ -1010,5 +1010,5 @@
 </pre>
 <p>Same as <tt class="docutils literal"><span class="pre">$(abspath</span> <span class="pre">)</span></tt> except that the current directory can be
-specified as <tt class="docutils literal"><span class="pre">curdir</span></tt>:</p>
+specified as <tt class="docutils literal"><span class="pre">curdir</span></tt> <a class="footnote-reference" href="#id80" id="id27" name="id27">[1]</a>:</p>
 <pre class="literal-block">
 $(abspathex names...[, curdir])
@@ -1017,62 +1017,63 @@
 <p>Arithmetic Functions:</p>
 <blockquote>
-<p>Returns the sum of the arguments:</p>
+<p>Returns the sum of the arguments <a class="footnote-reference" href="#id80" id="id28" name="id28">[1]</a>:</p>
 <pre class="literal-block">
 $(int-add addend1, addend2[, addendN])
 </pre>
-<p>Returns the difference between the first argument and the sum of the rest:</p>
+<p>Returns the difference between the first argument and the sum of the
+rest <a class="footnote-reference" href="#id80" id="id29" name="id29">[1]</a>:</p>
 <pre class="literal-block">
 $(int-sub minuend, subtrahend[, subtrahendN])
 </pre>
-<p>Returns the product of the arguments:</p>
+<p>Returns the product of the arguments <a class="footnote-reference" href="#id80" id="id30" name="id30">[1]</a>:</p>
 <pre class="literal-block">
 $(int-mul factor1, factor2[, factorN])
 </pre>
-<p>Returns the quotient of first argument and the rest:</p>
+<p>Returns the quotient of first argument and the rest <a class="footnote-reference" href="#id80" id="id31" name="id31">[1]</a>:</p>
 <pre class="literal-block">
 $(int-div dividend, divisor[, divisorN])
 </pre>
-<p>Returns the modulus of the two arguments:</p>
+<p>Returns the modulus of the two arguments <a class="footnote-reference" href="#id80" id="id32" name="id32">[1]</a>:</p>
 <pre class="literal-block">
 $(int-mod dividend, divisor)
 </pre>
-<p>Returns the bitwise two-complement of argument:</p>
+<p>Returns the bitwise two-complement of argument <a class="footnote-reference" href="#id80" id="id33" name="id33">[1]</a>:</p>
 <pre class="literal-block">
 $(int-not val)
 </pre>
-<p>Returns the result of a bitwise AND of the arguments:</p>
+<p>Returns the result of a bitwise AND of the arguments <a class="footnote-reference" href="#id80" id="id34" name="id34">[1]</a>:</p>
 <pre class="literal-block">
 $(int-and val1, val2[, valN])
 </pre>
-<p>Returns the result of a bitwise OR of the arguments:</p>
+<p>Returns the result of a bitwise OR of the arguments <a class="footnote-reference" href="#id80" id="id35" name="id35">[1]</a>:</p>
 <pre class="literal-block">
 $(int-or val1, val2[, valN])
 </pre>
-<p>Returns the result of a bitwise XOR of the arguments:</p>
+<p>Returns the result of a bitwise XOR of the arguments <a class="footnote-reference" href="#id80" id="id36" name="id36">[1]</a>:</p>
 <pre class="literal-block">
 $(int-xor val1, val2[, valN])
 </pre>
 <p>Returns the <tt class="docutils literal"><span class="pre">kmk</span></tt> boolean (true = non-empty, false = empty) result
-of <tt class="docutils literal"><span class="pre">val1</span> <span class="pre">==</span> <span class="pre">val2</span></tt>:</p>
+of <tt class="docutils literal"><span class="pre">val1</span> <span class="pre">==</span> <span class="pre">val2</span></tt> <a class="footnote-reference" href="#id80" id="id37" name="id37">[1]</a>:</p>
 <pre class="literal-block">
 $(int-eq val1, val2)
 </pre>
-<p>Returns the <tt class="docutils literal"><span class="pre">kmk</span></tt> boolean result of <tt class="docutils literal"><span class="pre">val1</span> <span class="pre">!=</span> <span class="pre">val2</span></tt>:</p>
+<p>Returns the <tt class="docutils literal"><span class="pre">kmk</span></tt> boolean result of <tt class="docutils literal"><span class="pre">val1</span> <span class="pre">!=</span> <span class="pre">val2</span></tt> <a class="footnote-reference" href="#id80" id="id38" name="id38">[1]</a>:</p>
 <pre class="literal-block">
 $(int-ne val1, val2)
 </pre>
-<p>Returns the <tt class="docutils literal"><span class="pre">kmk</span></tt> boolean result of <tt class="docutils literal"><span class="pre">val1</span> <span class="pre">&gt;</span> <span class="pre">val2</span></tt>:</p>
+<p>Returns the <tt class="docutils literal"><span class="pre">kmk</span></tt> boolean result of <tt class="docutils literal"><span class="pre">val1</span> <span class="pre">&gt;</span> <span class="pre">val2</span></tt> <a class="footnote-reference" href="#id80" id="id39" name="id39">[1]</a>:</p>
 <pre class="literal-block">
 $(int-gt val1, val2)
 </pre>
-<p>Returns the <tt class="docutils literal"><span class="pre">kmk</span></tt> boolean result of <tt class="docutils literal"><span class="pre">val1</span> <span class="pre">&gt;=</span> <span class="pre">val2</span></tt>:</p>
+<p>Returns the <tt class="docutils literal"><span class="pre">kmk</span></tt> boolean result of <tt class="docutils literal"><span class="pre">val1</span> <span class="pre">&gt;=</span> <span class="pre">val2</span></tt> <a class="footnote-reference" href="#id80" id="id40" name="id40">[1]</a>:</p>
 <pre class="literal-block">
 $(int-ge val1, val2)
 </pre>
-<p>Returns the <tt class="docutils literal"><span class="pre">kmk</span></tt> boolean result of <tt class="docutils literal"><span class="pre">val1</span> <span class="pre">&lt;</span> <span class="pre">val2</span></tt>:</p>
+<p>Returns the <tt class="docutils literal"><span class="pre">kmk</span></tt> boolean result of <tt class="docutils literal"><span class="pre">val1</span> <span class="pre">&lt;</span> <span class="pre">val2</span></tt> <a class="footnote-reference" href="#id80" id="id41" name="id41">[1]</a>:</p>
 <pre class="literal-block">
 $(int-lt val1, val2)
 </pre>
-<p>Returns the <tt class="docutils literal"><span class="pre">kmk</span></tt> boolean result of <tt class="docutils literal"><span class="pre">val1</span> <span class="pre">&lt;=</span> <span class="pre">val2</span></tt>:</p>
+<p>Returns the <tt class="docutils literal"><span class="pre">kmk</span></tt> boolean result of <tt class="docutils literal"><span class="pre">val1</span> <span class="pre">&lt;=</span> <span class="pre">val2</span></tt> <a class="footnote-reference" href="#id80" id="id42" name="id42">[1]</a>:</p>
 <pre class="literal-block">
 $(int-le val1, val2)
@@ -1098,32 +1099,33 @@
 </pre>
 <p>Test if the two strings are identical, returning <tt class="docutils literal"><span class="pre">kmk</span></tt> boolean (true =
-non-empty, false = empty):</p>
+non-empty, false = empty) <a class="footnote-reference" href="#id81" id="id43" name="id43">[2]</a>:</p>
 <pre class="literal-block">
 $(eq str1, str2)
 </pre>
-<p>Invert a <tt class="docutils literal"><span class="pre">kmk</span></tt> boolean value:</p>
+<p>Invert a <tt class="docutils literal"><span class="pre">kmk</span></tt> boolean value <a class="footnote-reference" href="#id81" id="id44" name="id44">[2]</a>:</p>
 <pre class="literal-block">
 $(not val)
 </pre>
-<p>Test if <tt class="docutils literal"><span class="pre">variable</span></tt> is defined, returning a <tt class="docutils literal"><span class="pre">kmk</span></tt> boolean value:</p>
+<p>Test if <tt class="docutils literal"><span class="pre">variable</span></tt> is defined, returning a <tt class="docutils literal"><span class="pre">kmk</span></tt> boolean value <a class="footnote-reference" href="#id80" id="id45" name="id45">[1]</a>:</p>
 <pre class="literal-block">
 $(defined variable)
 </pre>
 <p>Test if <tt class="docutils literal"><span class="pre">set-a</span></tt> and <tt class="docutils literal"><span class="pre">set-b</span></tt> intersects, returning a <tt class="docutils literal"><span class="pre">kmk</span></tt> boolean
-value:</p>
+value <a class="footnote-reference" href="#id80" id="id46" name="id46">[1]</a>:</p>
 <pre class="literal-block">
 $(intersects set-a, set-b)
 </pre>
-<p>Same as <tt class="docutils literal"><span class="pre">$(if</span> <span class="pre">)</span></tt> execpt that the condition is a <tt class="docutils literal"><span class="pre">kmk</span></tt>-expression:</p>
+<p>Same as <tt class="docutils literal"><span class="pre">$(if</span> <span class="pre">)</span></tt> execpt that the condition is a <tt class="docutils literal"><span class="pre">kmk</span></tt>-expression <a class="footnote-reference" href="#id80" id="id47" name="id47">[1]</a>:</p>
 <pre class="literal-block">
 $(if-expr kmk-expression,true-part[,false-part])
 </pre>
 <p>Select the first true condition (<tt class="docutils literal"><span class="pre">kmk</span></tt>-expression) and expand the
-following body. Special condition strings <tt class="docutils literal"><span class="pre">default</span></tt> and <tt class="docutils literal"><span class="pre">otherwise</span></tt>:</p>
+following body. Special condition strings <tt class="docutils literal"><span class="pre">default</span></tt> and
+<tt class="docutils literal"><span class="pre">otherwise</span></tt> <a class="footnote-reference" href="#id80" id="id48" name="id48">[1]</a>:</p>
 <pre class="literal-block">
 $(select when1-cond, when1-body[, whenN-cond, whenN-body])
 </pre>
 <p>Evalutate the <tt class="docutils literal"><span class="pre">kmk-expression</span></tt> returning what it evalues as. This is
-the preferred way of doing arithmentic now:</p>
+the preferred way of doing arithmentic now <a class="footnote-reference" href="#id80" id="id49" name="id49">[1]</a>:</p>
 <pre class="literal-block">
 $(expr kmk-expression)
@@ -1132,17 +1134,17 @@
 <p>Stack Fuctions:</p>
 <blockquote>
-<p>Push <tt class="docutils literal"><span class="pre">item</span></tt> onto the <tt class="docutils literal"><span class="pre">stack-var</span></tt>, returning the empty string:</p>
+<p>Push <tt class="docutils literal"><span class="pre">item</span></tt> onto the <tt class="docutils literal"><span class="pre">stack-var</span></tt>, returning the empty string <a class="footnote-reference" href="#id80" id="id50" name="id50">[1]</a>:</p>
 <pre class="literal-block">
 $(stack-push stack-var, item)
 </pre>
-<p>Pop the top item off the <tt class="docutils literal"><span class="pre">stack-var</span></tt>:</p>
+<p>Pop the top item off the <tt class="docutils literal"><span class="pre">stack-var</span></tt> <a class="footnote-reference" href="#id80" id="id51" name="id51">[1]</a>:</p>
 <pre class="literal-block">
 $(stack-pop stack-var)
 </pre>
-<p>Pop the top item off the <tt class="docutils literal"><span class="pre">stack-var</span></tt>, returning the empty string:</p>
+<p>Pop the top item off the <tt class="docutils literal"><span class="pre">stack-var</span></tt>, returning the empty string <a class="footnote-reference" href="#id80" id="id52" name="id52">[1]</a>:</p>
 <pre class="literal-block">
 $(stack-popv stack-var)
 </pre>
-<p>Get the top item of the <tt class="docutils literal"><span class="pre">stack-var</span></tt>, returning the empty string:</p>
+<p>Get the top item of the <tt class="docutils literal"><span class="pre">stack-var</span></tt>, returning the empty string <a class="footnote-reference" href="#id80" id="id53" name="id53">[1]</a>:</p>
 <pre class="literal-block">
 $(stack-top stack-var)
@@ -1164,5 +1166,5 @@
 first check whether the <tt class="docutils literal"><span class="pre">condition</span></tt> (<tt class="docutils literal"><span class="pre">kmk</span></tt>-expression) is true,
 then expand <tt class="docutils literal"><span class="pre">body</span></tt> concatenating the result to the previous iterations
-(spaced), and finally evaluate <tt class="docutils literal"><span class="pre">next</span></tt>:</p>
+(spaced), and finally evaluate <tt class="docutils literal"><span class="pre">next</span></tt> <a class="footnote-reference" href="#id80" id="id54" name="id54">[1]</a>:</p>
 <pre class="literal-block">
 $(for init,conditions,next,body)
@@ -1170,5 +1172,5 @@
 <p>C-style while-loop. Each iteration will check whether the <tt class="docutils literal"><span class="pre">condition</span></tt>
 (<tt class="docutils literal"><span class="pre">kmk</span></tt>-expression) is true, then expand <tt class="docutils literal"><span class="pre">body</span></tt> concatenating the
-result to the previous iterations:</p>
+result to the previous iterations <a class="footnote-reference" href="#id80" id="id55" name="id55">[1]</a>:</p>
 <pre class="literal-block">
 $(while conditions,body)
@@ -1185,46 +1187,46 @@
 </pre>
 <p>Same as <tt class="docutils literal"><span class="pre">$(eval</span> <span class="pre">text)</span></tt> except that the <tt class="docutils literal"><span class="pre">text</span></tt> is expanded in its
-own variable context:</p>
+own variable context <a class="footnote-reference" href="#id80" id="id56" name="id56">[1]</a>:</p>
 <pre class="literal-block">
 $(evalctx text)
 </pre>
-<p>Same as <tt class="docutils literal"><span class="pre">$(eval</span> <span class="pre">$(value</span> <span class="pre">var))</span></tt>:</p>
+<p>Same as <tt class="docutils literal"><span class="pre">$(eval</span> <span class="pre">$(value</span> <span class="pre">var))</span></tt> <a class="footnote-reference" href="#id80" id="id57" name="id57">[1]</a>:</p>
 <pre class="literal-block">
 $(evalval var)
 </pre>
-<p>Same as <tt class="docutils literal"><span class="pre">$(evalctx</span> <span class="pre">$(value</span> <span class="pre">var))</span></tt>:</p>
+<p>Same as <tt class="docutils literal"><span class="pre">$(evalctx</span> <span class="pre">$(value</span> <span class="pre">var))</span></tt> <a class="footnote-reference" href="#id80" id="id58" name="id58">[1]</a>:</p>
 <pre class="literal-block">
 $(evalvalctx var)
 </pre>
-<p>A combination of <tt class="docutils literal"><span class="pre">$(eval</span> <span class="pre">)</span></tt>, <tt class="docutils literal"><span class="pre">$(call</span> <span class="pre">)</span></tt> and <tt class="docutils literal"><span class="pre">$(value</span> <span class="pre">)</span></tt>:</p>
+<p>A combination of <tt class="docutils literal"><span class="pre">$(eval</span> <span class="pre">)</span></tt>, <tt class="docutils literal"><span class="pre">$(call</span> <span class="pre">)</span></tt> and <tt class="docutils literal"><span class="pre">$(value</span> <span class="pre">)</span></tt> <a class="footnote-reference" href="#id80" id="id59" name="id59">[1]</a>:</p>
 <pre class="literal-block">
 $(evalcall var)
 </pre>
-<p>A combination of <tt class="docutils literal"><span class="pre">$(eval</span> <span class="pre">)</span></tt> and <tt class="docutils literal"><span class="pre">$(call</span> <span class="pre">)</span></tt>:</p>
+<p>A combination of <tt class="docutils literal"><span class="pre">$(eval</span> <span class="pre">)</span></tt> and <tt class="docutils literal"><span class="pre">$(call</span> <span class="pre">)</span></tt> <a class="footnote-reference" href="#id80" id="id60" name="id60">[1]</a>:</p>
 <pre class="literal-block">
 $(evalcall var)
 </pre>
 <p>Remove comments and blank lines from the variable <tt class="docutils literal"><span class="pre">var</span></tt>. Expands to
-the empty string:</p>
+the empty string <a class="footnote-reference" href="#id80" id="id61" name="id61">[1]</a>:</p>
 <pre class="literal-block">
 $(eval-opt-var var)
 </pre>
 <p>Returns accessing <tt class="docutils literal"><span class="pre">$&lt;</span></tt> of <tt class="docutils literal"><span class="pre">target</span></tt>, either retriving the whole thing
-or the file at <tt class="docutils literal"><span class="pre">pos</span></tt> (one-origin):</p>
+or the file at <tt class="docutils literal"><span class="pre">pos</span></tt> (one-origin) <a class="footnote-reference" href="#id80" id="id62" name="id62">[1]</a>:</p>
 <pre class="literal-block">
 $(deps target[, pos])
 </pre>
 <p>Returns accessing <tt class="docutils literal"><span class="pre">$+</span></tt> (order + duplicates) of <tt class="docutils literal"><span class="pre">target</span></tt>, either
-retriving the whole thing or the file at <tt class="docutils literal"><span class="pre">pos</span></tt> (one-origin):</p>
+retriving the whole thing or the file at <tt class="docutils literal"><span class="pre">pos</span></tt> (one-origin) <a class="footnote-reference" href="#id80" id="id63" name="id63">[1]</a>:</p>
 <pre class="literal-block">
 $(deps-all target[, pos])
 </pre>
 <p>Returns accessing <tt class="docutils literal"><span class="pre">$?</span></tt>  of <tt class="docutils literal"><span class="pre">target</span></tt>, either retriving the whole
-thing or the file at <tt class="docutils literal"><span class="pre">pos</span></tt> (one-origin):</p>
+thing or the file at <tt class="docutils literal"><span class="pre">pos</span></tt> (one-origin) <a class="footnote-reference" href="#id80" id="id64" name="id64">[1]</a>:</p>
 <pre class="literal-block">
 $(deps-newer target[, pos])
 </pre>
 <p>Returns accessing <tt class="docutils literal"><span class="pre">$|</span></tt> (order only)  of <tt class="docutils literal"><span class="pre">target</span></tt>, either retriving the
-whole thing or the file at <tt class="docutils literal"><span class="pre">pos</span></tt> (one-origin):</p>
+whole thing or the file at <tt class="docutils literal"><span class="pre">pos</span></tt> (one-origin) <a class="footnote-reference" href="#id80" id="id65" name="id65">[1]</a>:</p>
 <pre class="literal-block">
 $(deps-oo target[, pos])
@@ -1234,5 +1236,5 @@
 <blockquote>
 <p>Create one or more command lines avoiding the max argument
-length restriction of the host OS:</p>
+length restriction of the host OS <a class="footnote-reference" href="#id80" id="id66" name="id66">[1]</a>:</p>
 <pre class="literal-block">
 $(xargs ar cas mylib.a,$(objects))
@@ -1241,5 +1243,5 @@
 <p>Returns the commands for the specified target separated by new-line, space,
 or a user defined string. Note that this might not produce the 100% correct
-result if any of the prerequisite automatic variables are used:</p>
+result if any of the prerequisite automatic variables are used <a class="footnote-reference" href="#id80" id="id67" name="id67">[1]</a>:</p>
 <pre class="literal-block">
 $(commands target)
@@ -1250,5 +1252,5 @@
 argument if not. This differs from <tt class="docutils literal"><span class="pre">$(comp-vars</span> <span class="pre">v1,v2,ne)</span></tt> in that
 line by line is stripped of leading spaces, command prefixes and
-trailing spaces before comparing:</p>
+trailing spaces before comparing <a class="footnote-reference" href="#id80" id="id68" name="id68">[1]</a>:</p>
 <pre class="literal-block">
 $(comp-cmds cmds-var1, cmds-var2, ne)
@@ -1256,5 +1258,6 @@
 </pre>
 <p>Compares the values of the two variables returning the empty string if
-equal and the 3rd argument if not. Leading and trailing spaces is ignored:</p>
+equal and the 3rd argument if not. Leading and trailing spaces is
+ignored <a class="footnote-reference" href="#id80" id="id69" name="id69">[1]</a>:</p>
 <pre class="literal-block">
 $(comp-var var1, var2, ne)
@@ -1292,5 +1295,5 @@
 <p>Returns the current local time and date formatted in the <tt class="docutils literal"><span class="pre">strftime</span></tt>
 style specifier <tt class="docutils literal"><span class="pre">fmt</span></tt>. <tt class="docutils literal"><span class="pre">fmt</span></tt> defaults to <tt class="docutils literal"><span class="pre">%Y-%m-%dT%H:%M:%S</span></tt> when
-not specified:</p>
+not specified <a class="footnote-reference" href="#id80" id="id70" name="id70">[1]</a>:</p>
 <pre class="literal-block">
 $(date fmt)
@@ -1298,5 +1301,5 @@
 <p>Returns the current UTC time and date formatted in the <tt class="docutils literal"><span class="pre">strftime</span></tt>
 style specifier <tt class="docutils literal"><span class="pre">fmt</span></tt>. <tt class="docutils literal"><span class="pre">fmt</span></tt> defaults to <tt class="docutils literal"><span class="pre">%Y-%m-%dT%H:%M:%SZ</span></tt> when
-not specified:</p>
+not specified <a class="footnote-reference" href="#id80" id="id71" name="id71">[1]</a>:</p>
 <pre class="literal-block">
 $(date-utc fmt)
@@ -1304,26 +1307,27 @@
 <p>Reformats the <tt class="docutils literal"><span class="pre">in</span></tt> time and date using <tt class="docutils literal"><span class="pre">fmt</span></tt>. The <tt class="docutils literal"><span class="pre">in-fmt</span></tt> defaults
 to <tt class="docutils literal"><span class="pre">fmt</span></tt> if not specified. While <tt class="docutils literal"><span class="pre">fmt</span></tt> defaults to
-<tt class="docutils literal"><span class="pre">%Y-%m-%dT%H:%M:%SZ</span></tt> if not specified:</p>
+<tt class="docutils literal"><span class="pre">%Y-%m-%dT%H:%M:%SZ</span></tt> if not specified <a class="footnote-reference" href="#id80" id="id72" name="id72">[1]</a>:</p>
 <pre class="literal-block">
 $(date-utc fmt,time,in-fmt)
 </pre>
-<p>Returns the current nanosecond timestamp (monotonic when possible):</p>
+<p>Returns the current nanosecond timestamp (monotonic when possible) <a class="footnote-reference" href="#id80" id="id73" name="id73">[1]</a>:</p>
 <pre class="literal-block">
 $(nanots )
 </pre>
 <p>Returns the size of the specified file, or -1 if the size could not
-be obtained. This can be used to check if a file exist or not:</p>
+be obtained. This can be used to check if a file exist or not <a class="footnote-reference" href="#id80" id="id74" name="id74">[1]</a>:</p>
 <pre class="literal-block">
 $(file-size file)
 </pre>
-<p>Searches the <tt class="docutils literal"><span class="pre">PATH</span></tt> <tt class="docutils literal"><span class="pre">kmk</span></tt> variable for the specified <tt class="docutils literal"><span class="pre">files</span></tt>:</p>
+<p>Searches the <tt class="docutils literal"><span class="pre">PATH</span></tt> <tt class="docutils literal"><span class="pre">kmk</span></tt> variable for the specified <tt class="docutils literal"><span class="pre">files</span></tt> <a class="footnote-reference" href="#id80" id="id75" name="id75">[1]</a>:</p>
 <pre class="literal-block">
 $(which files...)
 </pre>
-<p>OS/2: Returns the specified LIBPATH variable value:</p>
+<p>OS/2: Returns the specified LIBPATH variable value <a class="footnote-reference" href="#id80" id="id76" name="id76">[1]</a>:</p>
 <pre class="literal-block">
 $(libpath var)
 </pre>
-<p>OS/2: Sets the specified LIBPATH variable value, returning the empty string:</p>
+<p>OS/2: Sets the specified LIBPATH variable value, returning the empty
+string <a class="footnote-reference" href="#id80" id="id77" name="id77">[1]</a>:</p>
 <pre class="literal-block">
 $(libpath var,value)
@@ -1333,9 +1337,10 @@
 <blockquote>
 <p>Returns various make statistics, if no item is specified a default
-selection is returned:</p>
+selection is returned <a class="footnote-reference" href="#id80" id="id78" name="id78">[1]</a>:</p>
 <pre class="literal-block">
 $(make-stats item[,itemN])
 </pre>
-<p>Raise a debug breakpoint. Used for debugging <tt class="docutils literal"><span class="pre">kmk</span></tt> makefile parsing:</p>
+<p>Raise a debug breakpoint. Used for debugging <tt class="docutils literal"><span class="pre">kmk</span></tt> makefile
+parsing <a class="footnote-reference" href="#id80" id="id79" name="id79">[1]</a>:</p>
 <pre class="literal-block">
 $(breakpoint )
@@ -1343,8 +1348,14 @@
 </blockquote>
 <hr class="docutils" />
-<table class="docutils footnote" frame="void" id="id15" rules="none">
+<table class="docutils footnote" frame="void" id="id80" rules="none">
 <colgroup><col class="label" /><col /></colgroup>
 <tbody valign="top">
-<tr><td class="label"><a name="id15">[1]</a></td><td><em>(<a class="fn-backref" href="#id1">1</a>, <a class="fn-backref" href="#id2">2</a>, <a class="fn-backref" href="#id3">3</a>, <a class="fn-backref" href="#id4">4</a>, <a class="fn-backref" href="#id5">5</a>, <a class="fn-backref" href="#id6">6</a>, <a class="fn-backref" href="#id7">7</a>, <a class="fn-backref" href="#id8">8</a>, <a class="fn-backref" href="#id9">9</a>, <a class="fn-backref" href="#id10">10</a>, <a class="fn-backref" href="#id11">11</a>, <a class="fn-backref" href="#id12">12</a>, <a class="fn-backref" href="#id13">13</a>, <a class="fn-backref" href="#id14">14</a>)</em> <tt class="docutils literal"><span class="pre">kmk</span></tt> only feature.</td></tr>
+<tr><td class="label"><a name="id80">[1]</a></td><td><em>(<a class="fn-backref" href="#id1">1</a>, <a class="fn-backref" href="#id2">2</a>, <a class="fn-backref" href="#id3">3</a>, <a class="fn-backref" href="#id4">4</a>, <a class="fn-backref" href="#id5">5</a>, <a class="fn-backref" href="#id6">6</a>, <a class="fn-backref" href="#id7">7</a>, <a class="fn-backref" href="#id8">8</a>, <a class="fn-backref" href="#id9">9</a>, <a class="fn-backref" href="#id10">10</a>, <a class="fn-backref" href="#id11">11</a>, <a class="fn-backref" href="#id12">12</a>, <a class="fn-backref" href="#id13">13</a>, <a class="fn-backref" href="#id14">14</a>, <a class="fn-backref" href="#id15">15</a>, <a class="fn-backref" href="#id16">16</a>, <a class="fn-backref" href="#id17">17</a>, <a class="fn-backref" href="#id18">18</a>, <a class="fn-backref" href="#id19">19</a>, <a class="fn-backref" href="#id20">20</a>, <a class="fn-backref" href="#id21">21</a>, <a class="fn-backref" href="#id22">22</a>, <a class="fn-backref" href="#id23">23</a>, <a class="fn-backref" href="#id24">24</a>, <a class="fn-backref" href="#id25">25</a>, <a class="fn-backref" href="#id26">26</a>, <a class="fn-backref" href="#id27">27</a>, <a class="fn-backref" href="#id28">28</a>, <a class="fn-backref" href="#id29">29</a>, <a class="fn-backref" href="#id30">30</a>, <a class="fn-backref" href="#id31">31</a>, <a class="fn-backref" href="#id32">32</a>, <a class="fn-backref" href="#id33">33</a>, <a class="fn-backref" href="#id34">34</a>, <a class="fn-backref" href="#id35">35</a>, <a class="fn-backref" href="#id36">36</a>, <a class="fn-backref" href="#id37">37</a>, <a class="fn-backref" href="#id38">38</a>, <a class="fn-backref" href="#id39">39</a>, <a class="fn-backref" href="#id40">40</a>, <a class="fn-backref" href="#id41">41</a>, <a class="fn-backref" href="#id42">42</a>, <a class="fn-backref" href="#id45">43</a>, <a class="fn-backref" href="#id46">44</a>, <a class="fn-backref" href="#id47">45</a>, <a class="fn-backref" href="#id48">46</a>, <a class="fn-backref" href="#id49">47</a>, <a class="fn-backref" href="#id50">48</a>, <a class="fn-backref" href="#id51">49</a>, <a class="fn-backref" href="#id52">50</a>, <a class="fn-backref" href="#id53">51</a>, <a class="fn-backref" href="#id54">52</a>, <a class="fn-backref" href="#id55">53</a>, <a class="fn-backref" href="#id56">54</a>, <a class="fn-backref" href="#id57">55</a>, <a class="fn-backref" href="#id58">56</a>, <a class="fn-backref" href="#id59">57</a>, <a class="fn-backref" href="#id60">58</a>, <a class="fn-backref" href="#id61">59</a>, <a class="fn-backref" href="#id62">60</a>, <a class="fn-backref" href="#id63">61</a>, <a class="fn-backref" href="#id64">62</a>, <a class="fn-backref" href="#id65">63</a>, <a class="fn-backref" href="#id66">64</a>, <a class="fn-backref" href="#id67">65</a>, <a class="fn-backref" href="#id68">66</a>, <a class="fn-backref" href="#id69">67</a>, <a class="fn-backref" href="#id70">68</a>, <a class="fn-backref" href="#id71">69</a>, <a class="fn-backref" href="#id72">70</a>, <a class="fn-backref" href="#id73">71</a>, <a class="fn-backref" href="#id74">72</a>, <a class="fn-backref" href="#id75">73</a>, <a class="fn-backref" href="#id76">74</a>, <a class="fn-backref" href="#id77">75</a>, <a class="fn-backref" href="#id78">76</a>, <a class="fn-backref" href="#id79">77</a>)</em> <tt class="docutils literal"><span class="pre">kmk</span></tt> only feature.</td></tr>
+</tbody>
+</table>
+<table class="docutils footnote" frame="void" id="id81" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a name="id81">[2]</a></td><td><em>(<a class="fn-backref" href="#id43">1</a>, <a class="fn-backref" href="#id44">2</a>)</em> Experimental GNU <tt class="docutils literal"><span class="pre">make</span></tt> feature that is not enabled by default.</td></tr>
 </tbody>
 </table>
Index: /trunk/kBuild/doc/QuickReference-kmk.txt
===================================================================
--- /trunk/kBuild/doc/QuickReference-kmk.txt	(revision 2169)
+++ /trunk/kBuild/doc/QuickReference-kmk.txt	(revision 2170)
@@ -8,5 +8,5 @@
 disputed. ;-)
 
-Features that are
+
 
 Directives
@@ -241,5 +241,5 @@
 
 
-The following variables reflects ``kmk`` options. Do not set these.
+The following variables reflects ``kmk`` options. Do not set these. [1]_
 
 +-------------------------------------+---------------------------------------+
@@ -275,6 +275,6 @@
 --------
 
-Builtin commands all start with ``kmk_builtin_``, so in order to save space
-this prefix has been omitted in the table below. All commands comes in an
+Builtin commands [1]_ all start with ``kmk_builtin_``, so in order to save
+space this prefix has been omitted in the table below. All commands comes in an
 external edition that can be used by/in the shell, these are prefixed ``kmk_``.
 
@@ -347,8 +347,9 @@
 --------------
 
-``kmk``-expressions are related to the C/C++ preprocessor in some ways as well
-as ``nmake`` and BSD ``make``. There are however some peculiarities because of
-the way GNU ``make`` choose to represent booleans in its function library, so,
-strings can be turned into boolean by taking any non-empty string as true.
+``kmk``-expressions [1]_ are related to the C/C++ preprocessor in some ways as
+well as ``nmake`` and BSD ``make``. There are however some peculiarities
+because of the way GNU ``make`` choose to represent booleans in its function
+library, so, strings can be turned into boolean by taking any non-empty string
+as true.
 
 Quoting using single quotes results in hard strings, while double quotes and
@@ -455,5 +456,5 @@
 
     Sort the words in ``list`` lexicographically in reserve order, removing
-    duplicates::
+    duplicates [1]_::
 
         $(rsort list)
@@ -483,17 +484,17 @@
         $(join list1,list2)
 
-    Fold ``text`` to upper case::
+    Fold ``text`` to upper case [1]_::
 
         $(toupper text)
 
-    Fold ``text`` to lower case::
+    Fold ``text`` to lower case [1]_::
 
         $(tolower text)
 
-    String formatting a la the unix ``printf`` command::
+    String formatting a la the unix ``printf`` command [1]_::
 
         $(printf fmt, arg...)
 
-    Return the length of a string or a (unexpanded) variable::
+    Return the length of a string or a (unexpanded) variable [1]_::
 
         $(length string)
@@ -502,5 +503,5 @@
     Find the position of ``needle`` in ``haystack``, returns 0 if not found.
     Negative ``start`` indices are relative to the end of ``haystack``, while
-    positive ones are one based::
+    positive ones are one based [1]_::
 
         $(pos needle, haystack[, start])
@@ -509,10 +510,10 @@
     Returns the specified substring. The ``start`` works like with ``$(pos )``.
     If the substring is partially outside the ``string`` the result will be
-    padded with ``pad`` if present::
+    padded with ``pad`` if present [1]_::
 
         $(substr string, start[, length[, pad]])
 
     Insert ``in`` into ``str`` at the specified position. ``n`` works like with
-    ``$(pos )``, except that ``0`` is the end of the string::
+    ``$(pos )``, except that ``0`` is the end of the string [1]_::
 
         $(insert in, str[, n[, length[, pad]]])
@@ -520,5 +521,5 @@
     Translate ``string`` exchanging characters in ``from-set`` with ``to-set``,
     optionally completing ``to-set`` with ``pad-char`` if specified. If no
-    ``pad-char`` characters absent in ``to-set`` will be deleted::
+    ``pad-char`` characters absent in ``to-set`` will be deleted [1]_::
 
         $(translate string, from-set[, to-set[, pad-char]])
@@ -568,5 +569,5 @@
 
     Same as ``$(abspath )`` except that the current directory can be
-    specified as ``curdir``::
+    specified as ``curdir`` [1]_::
 
         $(abspathex names...[, curdir])
@@ -575,62 +576,63 @@
 Arithmetic Functions:
 
-    Returns the sum of the arguments::
+    Returns the sum of the arguments [1]_::
 
         $(int-add addend1, addend2[, addendN])
 
-    Returns the difference between the first argument and the sum of the rest::
+    Returns the difference between the first argument and the sum of the
+    rest [1]_::
 
         $(int-sub minuend, subtrahend[, subtrahendN])
 
-    Returns the product of the arguments::
+    Returns the product of the arguments [1]_::
 
         $(int-mul factor1, factor2[, factorN])
 
-    Returns the quotient of first argument and the rest::
+    Returns the quotient of first argument and the rest [1]_::
 
         $(int-div dividend, divisor[, divisorN])
 
-    Returns the modulus of the two arguments::
+    Returns the modulus of the two arguments [1]_::
 
         $(int-mod dividend, divisor)
 
-    Returns the bitwise two-complement of argument::
+    Returns the bitwise two-complement of argument [1]_::
 
         $(int-not val)
 
-    Returns the result of a bitwise AND of the arguments::
+    Returns the result of a bitwise AND of the arguments [1]_::
 
         $(int-and val1, val2[, valN])
 
-    Returns the result of a bitwise OR of the arguments::
+    Returns the result of a bitwise OR of the arguments [1]_::
 
         $(int-or val1, val2[, valN])
 
-    Returns the result of a bitwise XOR of the arguments::
+    Returns the result of a bitwise XOR of the arguments [1]_::
 
         $(int-xor val1, val2[, valN])
 
     Returns the ``kmk`` boolean (true = non-empty, false = empty) result
-    of ``val1 == val2``::
+    of ``val1 == val2`` [1]_::
 
         $(int-eq val1, val2)
 
-    Returns the ``kmk`` boolean result of ``val1 != val2``::
+    Returns the ``kmk`` boolean result of ``val1 != val2`` [1]_::
 
         $(int-ne val1, val2)
 
-    Returns the ``kmk`` boolean result of ``val1 > val2``::
+    Returns the ``kmk`` boolean result of ``val1 > val2`` [1]_::
 
         $(int-gt val1, val2)
 
-    Returns the ``kmk`` boolean result of ``val1 >= val2``::
+    Returns the ``kmk`` boolean result of ``val1 >= val2`` [1]_::
 
         $(int-ge val1, val2)
 
-    Returns the ``kmk`` boolean result of ``val1 < val2``::
+    Returns the ``kmk`` boolean result of ``val1 < val2`` [1]_::
 
         $(int-lt val1, val2)
 
-    Returns the ``kmk`` boolean result of ``val1 <= val2``::
+    Returns the ``kmk`` boolean result of ``val1 <= val2`` [1]_::
 
         $(int-le val1, val2)
@@ -657,32 +659,33 @@
 
     Test if the two strings are identical, returning ``kmk`` boolean (true =
-    non-empty, false = empty)::
+    non-empty, false = empty) [2]_::
 
         $(eq str1, str2)
 
-    Invert a ``kmk`` boolean value::
+    Invert a ``kmk`` boolean value [2]_::
 
         $(not val)
 
-    Test if ``variable`` is defined, returning a ``kmk`` boolean value::
+    Test if ``variable`` is defined, returning a ``kmk`` boolean value [1]_::
 
         $(defined variable)
 
     Test if ``set-a`` and ``set-b`` intersects, returning a ``kmk`` boolean
-    value::
+    value [1]_::
 
         $(intersects set-a, set-b)
 
-    Same as ``$(if )`` execpt that the condition is a ``kmk``-expression::
+    Same as ``$(if )`` execpt that the condition is a ``kmk``-expression [1]_::
 
         $(if-expr kmk-expression,true-part[,false-part])
 
     Select the first true condition (``kmk``-expression) and expand the
-    following body. Special condition strings ``default`` and ``otherwise``::
+    following body. Special condition strings ``default`` and
+    ``otherwise`` [1]_::
 
         $(select when1-cond, when1-body[, whenN-cond, whenN-body])
 
     Evalutate the ``kmk-expression`` returning what it evalues as. This is
-    the preferred way of doing arithmentic now::
+    the preferred way of doing arithmentic now [1]_::
 
         $(expr kmk-expression)
@@ -691,17 +694,17 @@
 Stack Fuctions:
 
-      Push ``item`` onto the ``stack-var``, returning the empty string::
+      Push ``item`` onto the ``stack-var``, returning the empty string [1]_::
 
             $(stack-push stack-var, item)
 
-      Pop the top item off the ``stack-var``::
+      Pop the top item off the ``stack-var`` [1]_::
 
             $(stack-pop stack-var)
 
-      Pop the top item off the ``stack-var``, returning the empty string::
+      Pop the top item off the ``stack-var``, returning the empty string [1]_::
 
             $(stack-popv stack-var)
 
-      Get the top item of the ``stack-var``, returning the empty string::
+      Get the top item of the ``stack-var``, returning the empty string [1]_::
 
             $(stack-top stack-var)
@@ -723,5 +726,5 @@
     first check whether the ``condition`` (``kmk``-expression) is true,
     then expand ``body`` concatenating the result to the previous iterations
-    (spaced), and finally evaluate ``next``::
+    (spaced), and finally evaluate ``next`` [1]_::
 
         $(for init,conditions,next,body)
@@ -729,5 +732,5 @@
     C-style while-loop. Each iteration will check whether the ``condition``
     (``kmk``-expression) is true, then expand ``body`` concatenating the
-    result to the previous iterations::
+    result to the previous iterations [1]_::
 
         $(while conditions,body)
@@ -744,46 +747,46 @@
 
     Same as ``$(eval text)`` except that the ``text`` is expanded in its
-    own variable context::
+    own variable context [1]_::
 
         $(evalctx text)
 
-    Same as ``$(eval $(value var))``::
+    Same as ``$(eval $(value var))`` [1]_::
 
         $(evalval var)
 
-    Same as ``$(evalctx $(value var))``::
+    Same as ``$(evalctx $(value var))`` [1]_::
 
         $(evalvalctx var)
 
-    A combination of ``$(eval )``, ``$(call )`` and ``$(value )``::
+    A combination of ``$(eval )``, ``$(call )`` and ``$(value )`` [1]_::
 
         $(evalcall var)
 
-    A combination of ``$(eval )`` and ``$(call )``::
+    A combination of ``$(eval )`` and ``$(call )`` [1]_::
 
         $(evalcall var)
 
     Remove comments and blank lines from the variable ``var``. Expands to
-    the empty string::
+    the empty string [1]_::
 
         $(eval-opt-var var)
 
     Returns accessing ``$<`` of ``target``, either retriving the whole thing
-    or the file at ``pos`` (one-origin)::
+    or the file at ``pos`` (one-origin) [1]_::
 
         $(deps target[, pos])
 
     Returns accessing ``$+`` (order + duplicates) of ``target``, either
-    retriving the whole thing or the file at ``pos`` (one-origin)::
+    retriving the whole thing or the file at ``pos`` (one-origin) [1]_::
 
         $(deps-all target[, pos])
 
     Returns accessing ``$?``  of ``target``, either retriving the whole
-    thing or the file at ``pos`` (one-origin)::
+    thing or the file at ``pos`` (one-origin) [1]_::
 
         $(deps-newer target[, pos])
 
     Returns accessing ``$|`` (order only)  of ``target``, either retriving the
-    whole thing or the file at ``pos`` (one-origin)::
+    whole thing or the file at ``pos`` (one-origin) [1]_::
 
         $(deps-oo target[, pos])
@@ -793,5 +796,5 @@
 
     Create one or more command lines avoiding the max argument
-    length restriction of the host OS::
+    length restriction of the host OS [1]_::
 
         $(xargs ar cas mylib.a,$(objects))
@@ -801,5 +804,5 @@
     Returns the commands for the specified target separated by new-line, space,
     or a user defined string. Note that this might not produce the 100% correct
-    result if any of the prerequisite automatic variables are used::
+    result if any of the prerequisite automatic variables are used [1]_::
 
         $(commands target)
@@ -810,5 +813,5 @@
     argument if not. This differs from ``$(comp-vars v1,v2,ne)`` in that
     line by line is stripped of leading spaces, command prefixes and
-    trailing spaces before comparing::
+    trailing spaces before comparing [1]_::
 
         $(comp-cmds cmds-var1, cmds-var2, ne)
@@ -817,5 +820,6 @@
 
     Compares the values of the two variables returning the empty string if
-    equal and the 3rd argument if not. Leading and trailing spaces is ignored::
+    equal and the 3rd argument if not. Leading and trailing spaces is
+    ignored [1]_::
 
         $(comp-var var1, var2, ne)
@@ -853,5 +857,5 @@
     Returns the current local time and date formatted in the ``strftime``
     style specifier ``fmt``. ``fmt`` defaults to ``%Y-%m-%dT%H:%M:%S`` when
-    not specified::
+    not specified [1]_::
 
         $(date fmt)
@@ -859,5 +863,5 @@
     Returns the current UTC time and date formatted in the ``strftime``
     style specifier ``fmt``. ``fmt`` defaults to ``%Y-%m-%dT%H:%M:%SZ`` when
-    not specified::
+    not specified [1]_::
 
         $(date-utc fmt)
@@ -865,26 +869,27 @@
     Reformats the ``in`` time and date using ``fmt``. The ``in-fmt`` defaults
     to ``fmt`` if not specified. While ``fmt`` defaults to
-    ``%Y-%m-%dT%H:%M:%SZ`` if not specified::
+    ``%Y-%m-%dT%H:%M:%SZ`` if not specified [1]_::
 
         $(date-utc fmt,time,in-fmt)
 
-    Returns the current nanosecond timestamp (monotonic when possible)::
+    Returns the current nanosecond timestamp (monotonic when possible) [1]_::
 
         $(nanots )
 
     Returns the size of the specified file, or -1 if the size could not
-    be obtained. This can be used to check if a file exist or not::
+    be obtained. This can be used to check if a file exist or not [1]_::
 
         $(file-size file)
 
-    Searches the ``PATH`` ``kmk`` variable for the specified ``files``::
+    Searches the ``PATH`` ``kmk`` variable for the specified ``files`` [1]_::
 
         $(which files...)
 
-    OS/2: Returns the specified LIBPATH variable value::
+    OS/2: Returns the specified LIBPATH variable value [1]_::
 
         $(libpath var)
 
-    OS/2: Sets the specified LIBPATH variable value, returning the empty string::
+    OS/2: Sets the specified LIBPATH variable value, returning the empty
+    string [1]_::
 
         $(libpath var,value)
@@ -894,9 +899,10 @@
 
     Returns various make statistics, if no item is specified a default
-    selection is returned::
+    selection is returned [1]_::
 
         $(make-stats item[,itemN])
 
-    Raise a debug breakpoint. Used for debugging ``kmk`` makefile parsing::
+    Raise a debug breakpoint. Used for debugging ``kmk`` makefile
+    parsing [1]_::
 
         $(breakpoint )
@@ -906,4 +912,5 @@
 
 .. [1] ``kmk`` only feature.
+.. [2] Experimental GNU ``make`` feature that is not enabled by default.
 
 -----
