This file has been translated from LaTeX by HeVeA.

Node: Subsection B-1-1,	Next: Subsection B-1-2,	Prev: Section B-1,	Up: Section B-1
  

B.1.1   Comments
================
  
  Comments begin with the `#' character and continue to the end-of-line.
Text within a comment is unrestricted.
  Examples.
<<   # This is a comment
     # This $comment contains a quote " character
>>
  

Node: Subsection B-1-2,	Next: Subsection B-1-3,	Prev: Subsection B-1-1,	Up: Section B-1
  

B.1.2   Special characters
==========================
  
  The following characters are special in some contexts.
<<   $    (    )    ,    .   =    :    "    '    `    \    #
>>
  
  
  
 - `$' is used to denote a variable reference, or function application. 
 - Parentheses `)', `(' are argument deliminters. 
 - The command `,' is an argument separator. 
 - The period symbol `.' is a name separator. 
 - The equality symbol `=' denotes a definition. 
 - The colon symbol `:' is used to denote rules, and (optionally) to
   indicate that an expression is followed by an indented body. 
 - The quotation symbols `"' and `'' delimit character strings. 
 - The symbol `#' is the first character of a constant. 
 - The escape symbol `\' is special only when followed by another
   special character. In this case, the special status of the second
   character is removed, and the sequence denotes the second character.
   Otherwise, the `\' is not special.
 Examples:
 
     
    - `\$': the `$' character (as a normal character). 
    - `\#': the `#' character (as a normal character). 
    - `\\': the `\' character (as a normal character). 
    - `c\:\Windows\moo\#boo': the string `c:\Windows\moo#boo'. 
  
  

Node: Subsection B-1-3,	Next: Subsection B-1-4,	Prev: Subsection B-1-2,	Up: Section B-1
  

B.1.3   Identifiers
===================
  
  Identifiers (variable names) are drawn from the ASCII alphanumeric
characters as well as `_', `-', `~', `@'. Case is significant; the
following identifiers are distinct: `FOO', `Foo', `foo'. The identifier
may begin with any of the valid characters, including digits.
  Using `egrep' notation, the regular expression for identifiers is
defined as follows.
<<    identifier ::= [-@~_A-Za-z0-9]+
>>
  
  The following are legal identifiers.
<<    Xyz    hello_world    seventy@nine
      79-32  Gnus~Gnats     CFLAGS
>>
  
  The following are not legal identifiers.
<<    x+y    hello&world
>>
  

Node: Subsection B-1-4,	Next: Subsection B-1-5,	Prev: Subsection B-1-3,	Up: Section B-1
  

B.1.4   Command identifiers
===========================
  
  The following words have special significance when they occur as the
first word of a program line. They are not otherwise special.
<<    case     catch  class    declare    default
      do       else   elseif   export     extends
      finally  if     import   include    match
      open     raise  return   section    switch
      try      value  when     while
>>
  

Node: Subsection B-1-5,	Next: Subsection B-1-6,	Prev: Subsection B-1-4,	Up: Section B-1
  

B.1.5   Variable references
===========================
  
  A variable reference is denoted with the `$' special character
followed by an identifier. If the identifier name has more than one
character, it must be enclosed in parentheses. The parenthesized version
is most common. The following are legal variable references.
<<    $(Xyz)    $(hello_world)   $(seventy@nine)
      $(79-32)  $(Gnus~Gnats)    $(CFLAGS)
>>
  
  Single-character references also include several additional
identifiers, including `&*<^?]['. The following are legal
single-character references.
<<   $@   $&   $*   $<   $^   $+   $?   $[   $]
     $A   $_   $a   $b   $x   $1   $2   $3
>>
  
  Note that a non-parenthesized variable reference is limited to a
single character, even if it is followed by additional legal identifier
charqcters. Suppose the value of the `$x' variable is 17. The following
examples illustrate evaluation.
<<    $x           evaluates to    17
      foo$xbar     evaluates to    foo17bar
      foo$(x)bar   evaluates to    foo17bar
>>
  
  The special sequence `$$' represents the character literal `$'. That
is, the two-character sequences `\$' and `$$' are normally equalivalent.

Node: Subsection B-1-6,	Next: Section B-2,	Prev: Subsection B-1-5,	Up: Section B-1
  

B.1.6   String constants
========================
   
  Literal strings are defined with matching string delimiters. A left
string delimiter begins with the dollar-sign `$', and a non-zero number
of single-quote or double-quote characters. The string is terminated
with a matching sequence of quotation symbols. The delimiter quotation
may not be mixed; it must contain only single-quote characters, or
double-quote characters. The following are legal strings.
<<    $'Hello world'
      $"""printf("Hello world\n")"""
      $''''
  Large "block" of
  text # spanning ''multiple'' lines''''
>>
  
  The string delimiters are not included in the string constant. In the
single-quote form, the contents of the string are interpreted
verbatim--there are no special characters.
  The double-quote form permits expression evaluation within the string,
denoted with the `$' symbol. The following are some examples.
<<    X = Hello
      Y = $""$X world""             # Hello world
      Z = $'''$X world'''           # $X world
      I = 3
      W = $"6 > $(add $I, 2)"       # 6 > 5
>>
  
  Note that quotation symbols without a leading `$' are not treated
specially by OMake. The quotation symbols is included in the sequence.
<<    osh>println('Hello world')
      'Hello world'
      osh>println($'Hello world')
      Hello world
      osh>X = Hello
      - : "Hello" : Sequence
      osh>println('$X world')
      Hello world
>>
  

Node: Section B-2,	Next: Subsection B-2-1,	Prev: Section B-1,	Up: Appendix B
  

B.2   The OMake grammar
*=*=*=*=*=*=*=*=*=*=*=*

  
  OMake programs are constructed from expressions and statements.
Generally, an input program consists of a sequence of statements, each
of which consists of one or more lines. Indentation is significant--if a
statement consists of more than one line, the second and remaining lines
(called the body) are usually indented relative to the first line.
* Menu:

* Subsection B-2-1::	Expressions
* Subsection B-2-2::	Statements and programs


Node: Subsection B-2-1,	Next: Subsection B-2-2,	Prev: Section B-2,	Up: Section B-2
  

B.2.1   Expressions
===================
  
  The following table lists the syntax for expressions.
   expr ::=                                             
            (empty)                                     
            -- Text (see note)                          
         |  text                                        
         |  string-literal                              
            -- Applications                             
         |  dollar `<char>'                             
         |  dollar `(' pathid args `)'                  
            -- Concatenation                            
         |  expr expr                                   
                                                        
 dollar ::= `$' | `$`' | `$,'                           
 pathid ::=                                             
            id                                          
         |  pathid `.' id                               
                                                        
    arg ::= expr -- excluding special characters `)(,') 
   args ::= (empty) | arg, ..., arg                     
  
  An expression is a sequence composed of text, string-literals,
variables references and function applications. Text is any sequence of
non-special characters.
  

B.2.1.1   Inline applications
-----------------------------
  
  An application is the application of a function to zero-or-more
arguments. Inline applications begin with one of the "dollar" sequences
`$', `$`', or `$,'. The application itself is specified as a single
character (in which case it is a variable reference), or it is a
parenthesized list including a function identifier pathid, and
zero-or-more comma-separated arguments args. The arguments are
themselves a variant of the expressions where the special character
`)(,' are not allowed (though any of these may be made non-special with
the `\' escape character). The following are some examples of valid
expressions.
  
  
 - `xyz abc'
 The text sequence "`xyz abc'"
 
 - `xyz$wabc'
 A text sequence containing a reference to the variable `w'.
 
 - `$(addsuffix .c, $(FILES))'
 An application of the function `addsuffix', with first argument `.c',
   and second argument `$(FILES)'.
 
 - `$(a.b.c 12)'
 This is a method call. The variable `a' must evaluate to an object with
   a field `b', which must be an object with a method `c'. This method
   is called with argument `12'. 
  
  The additional dollar sequences specify evaluation order, `$`' (lazy)
and `$,' (eager), as discussed in the section on dollar modifiers
(Section B.3*Note Section B-3::).

Node: Subsection B-2-2,	Next: Section B-3,	Prev: Subsection B-2-1,	Up: Section B-2
  

B.2.2   Statements and programs
===============================
  
  The following table lists the syntax of statements and programs.
         params ::= (empty) | id, ..., id                               
        
                                                                        
        
         target ::= expr -- excluding special character `:'             
        
                                                                        
        
        program ::= stmt `<eol>' ... `<eol>' stmt                       
        
                                                                        
        
           stmt ::=                                                     
        
                    -- Special forms                                    
        
                 |  command expr optcolon-body                          
        
                 |  command ( args ) optcolon-body                      
        
                 |  catch id ( id ) optcolon-body                       
        
                 |  class id ... id                                     
        
                                                                        
        
                    -- Variable definitions                             
        
                 |  pathid {+}= expr                                    
        
                 |  pathid {+}= `<eol>' indented-body                   
        
                 |  pathid`[]' {+}= expr                                
        
                 |  pathid`[]' {+}= `<eol>' indented-exprs              
        
                                                                        
        
                    -- Functions                                        
        
                 |  pathid(args) optcolon-body                          
        
                 |  pathid(params) = `<eol>' indented-body              
        
                                                                        
        
                    -- Objects                                          
        
                 |  pathid `.' {+}= `<eol>' indented-body               
        
                                                                        
        
                    -- Rules                                            
        
                 |  target : target rule-options `<eol>' indented-body  
        
                 |  target :: target rule-options `<eol>' indented-body 
        
                 |  target : target : target rule-options `<eol>'
indented-body  
                 |  target :: target : target rule-options `<eol>'
indented-body 
                                                                        
        
                    -- Shell commands                                   
        
                 |  expr                                                
        
                                                                        
        
  indented-body ::= (empty)                                             
        
                 |  indented-stmt `<eol>' ... `<eol>' indented-stmt     
        
                                                                        
        
 indented-exprs ::= (empty)                                             
        
                 |  indented-expr `<eol>' ... `<eol>' indented-expr     
        
                                                                        
        
  optcolon-body ::= (empty)                                             
        
                 |  `<eol>' indented-body                               
        
                 |  : `<eol>' indented-body                             
        
                                                                        
        
    rule-option ::= :id: target                                         
        
   rule-options ::= (empty)                                             
        
                 |  rule-options rule-option                            
        
  
  

B.2.2.1   Special forms
-----------------------
  
  The special forms include the following.
Conditionals
(see the section on conditionals --- Section
4.9*Note Section 4-9::). The `if' command should be
followed by an expression that represents the condition, and an indented
body. The conditional may be followed by `elseif' and `else' blocks.
<<    if expr
          indented-body
      elseif expr
          indented-body
      ...
      else
          indented-body
>>
  
matching (see the section on matching --- Section
4.10*Note Section 4-10::). The `switch' and `match' commands
perform pattern-matching. All cases are optional. Each case may include
`when' clauses that specify additional matching conditions.
<<    match(expr)
      case expr
         indented-body
      when expr
         indented-body
      ...
      case expr
         indented-body
      default
         indented-body
>>
  
Exceptions (see also the 'try' function
documentation). The `try' command introduces an exception handler. Each
`name' is the name of a class. All cases, including `catch', `default',
and `finally' are optional. The `catch' and `default' clauses contain
optional `when' clauses.
<<    try
          indented-body
      catch name1(id1)
          indented-body
      when expr
          indented-body
      ...
      catch nameN(idN)
          indented-body
      default
          indented-body
      finally
          indented-body
>>
  
  The `raise' command is used to raise an exception.
<<    raise expr
>>
  
section (see the `section' description in Section
4.8*Note Section 4-8::). The `section' command introduces a new
scope.
<<    section
          indented-body
>>
  
include, open (see also Section
4.7*Note Section 4-7::). The `include' command performs file
inclusion. The expression should evaluate to a file name.
  The `open' form is like include, but it performs the inclusion only if
the inclusion has not already been performed. The `open' form is usually
used to include library files. [jyh-- this behavior will change in
subsequent revisions.]
<<    include expr
      open expr
>>
  
return (see the description of functions in Section
4.5*Note Section 4-5::). The `return' command terminates
execution and returns a value from a function.
<<    return expr
>>
  
value (see the description of functions in Section
4.5*Note Section 4-5::). The `value' command is an identity.
Syntactically, it is used to coerce a n expression to a statement.
<<    value expr
>>
  
export (see the section on scoping --- Section
6.3*Note Section 6-3::). The `export' command exports a
environment from a nested block. If no arguments are given, the entire
environment is exported. Otherwise, the export is limited to the
specified identifiers.
<<    export expr
>>
  
while (see also the 'while' function description).
The `while' command introduces a `while' loop.
<<    while expr
          indented-body
>>
  
class, extends (see the section on
objects --- Section 4.11*Note Section 4-11::). The `class'
command specifies an identifier for an object. The `extends' command
specifies a parent object.
<<    class id
      extends expr
>>
  
  

B.2.2.2   Variable definitions
------------------------------
  
  See the section on variables (Section
4.1*Note Section 4-1::). The simplest variable definition has
the following syntax. The `=' form is a new definition. The += form
appends the value to an existing definition.
<<    id = expr
      id += expr
  
      osh> X = 1
      - : "1" : Sequence
      osh> X += 7
      - : "1" " " "7" : Sequence
>>
  
  A multi-line form is allowed, where the value is computed by an
indented body.
<<    id {+}=
          indented-body
  
      osh> X =
               Y = HOME
               println(Y is $Y)
               getenv($Y)
      Y is HOME
      - : "/home/jyh" : Sequence
>>
  
  The name may be qualified qith one of the `public', `prtected', or
`private' modifiers. Public variables are dynamically scoped. Protected
variables are fields in the current object. Private variables are
statically scoped.
  [jyh: revision 0.9.9 introduces modular namespaces; the meaning of
these qualifiers is slightly changed.]
<<    public.X = $(addsuffix .c, 1 2 3)
      protected.Y = $(getenv HOME)
      private.Z = $"Hello world"
>>
  
  

B.2.2.3   Applications and function definitions
-----------------------------------------------
  
  See the section on functions (Section
4.5*Note Section 4-5::). A function-application statement is
specified as a function name, followed a parenthesized list of
comma-separated arguments.
<<    osh> println($"Hello world")
  
      osh> FILES = 1 2 3
      - : 1 2 3
      osh> addsuffix(.c, $(FILES))
      - : 1.c 2.c 3.c
  
      # The following forms are equivalent
      osh> value $(println $"Hello world")
      osh> value $(addsuffix .c, $(FILES))
      - : 1.c 2.c 3.c
>>
  
  If the function application has a body, the body is passed (lazily) to
the function as its first argument. [jyh: in revision 0.9.8 support is
incomplete.] When using `osh', the application must be followed by a
colon `:' to indicate that the application has a body.
<<    # In its 3-argument form, the foreach function takes
      # a body, a variable, and an array.  The body is evaluated
      # for each element of the array, with the variable bound to
      # the element value.
      #
      # The colon is required only for interactive sessions.
      osh> foreach(x, 1 2 3):
              add($x, 1)
      - : 2 3 4
>>
  
  Functions are defined in a similar form, where the parameter list is
specified as a comma-separated list of identifiers, and the body of the
function is indented.
<<    osh> f(i, j) =
              add($i, $j)
      - : <fun 2>
      osh> f(3, 7)
      - : 10 : Int
>>
  
  

B.2.2.4   Objects
-----------------
  
  See the section on objects (Section 4.11*Note Section 4-11::).
Objects are defined as an identifier with a terminal period. The body of
the object is indented.
<<    Obj. =
          class Obj
  
          X = 1
          Y = $(sub $X, 12)
          new(i, j) =
             X = $i
             Y = $j
             value $(this)
          F() =
             add($X, $Y)
          println($Y)
>>
  
  The body of the object has the usual form of an indented body, but new
variable definitions are added to the object, not the global
environment. The object definition above defines an object with (at
least) the fields `X' and `Y', and methods `new' and `F'. The name of
the object is defined with the `class' command as `Obj'.
  The `Obj' itself has fields `X = 1' and `Y = -11'. The `new' method
has the typical form of a constructor-style method, where the fields of
the object are initialized to new values, and the new object returned
(`$(this)' refers to the current object).
  The `F' method returns the sum of the two fields `X' and `Y'.
  When used in an object definition, the += form adds the new
definitions to an existing object.
<<   pair. =
        x = 1
        y = 2
  
     pair. +=
        y = $(add $y, 3)
     # pair now has fields (x = 1, and y = 5)
>>
  
  The `extends' form specifies inheritance. Multiple inheritance is
allowed. At evaluation time, the `extends' directive performs inclusion
of the entire parent object.
<<   pair. =
        x = 1
        y = 2
  
     depth. =
        z = 3
        zoom(dz) =
           z = $(add $z, $(dz))
           return $(this)
  
     triple. =
        extends $(pair)
        extends $(depth)
  
        crazy() =
           zoom($(mul $x, $y))
>>
  
  In this example, the `triple' object has three fields x, y, and z; and
two methods `zoom' and `crazy'.
  

B.2.2.5   Rules
---------------
  
  See the chapter on rules (Chapter 8*Note Chapter 8::). A rule
has the following parts. 
  
 1. A sequence of targets; 
 2. one or two colons; 
 3. a sequence of dependencies and rule options; 
 4. and an indented body. 
  
  The targets are the files to be built, and the dependencies are the
files it depends on. If two colons are specified, it indicates that
there may be multiple rules to build the given targets; otherwise only
one rule is allowed.
  If the target contains a `%' character, the rule is called implicit,
and is considered whenever a file matching that pattern is to be built.
For example, the following rule specifies a default rule for compiling
OCaml files.
<<    %.cmo: %.ml %.mli
         $(OCAMLC) -c $<
>>
  
  This rule would be consulted as a default way of building any file
with a `.cmo' suffix. The dependencies list is also constructed based on
the pattern match. For example, if this rule were used to build a file
`foo.cmo', then the dependency list would be `foo.ml foo.mli'.
  There is also a three-part version of a rule, where the rule
specification has three parts.
<<    targets : patterns : dependencies rule-options
         indented-body
>>
  
  In this case, the patterns must contain a single `%' character.
Three-part rules are also considered implicit. For example, the
following defines a default rule for the `clean' target.
<<    .PHONY: clean
      
      clean: %:
          rm -f *$(EXT_OBJ) *$(EXT_LIB)
>>
  
  Three-part implicit rules are inherited by the subdirectories in the
exact same way as with the usual two-part implicit rules.
  There are several special targets, including the following.
  
  
 - `.PHONY' : declare a "phony" target. That is, the target does not
   correspond to a file. 
 - `.ORDER' : declare a rule for dependency ordering. 
 - `.INCLUDE' : define a rule to generate a file for textual inclusion. 
 - `.SUBDIRS' : specify subdirectories that are part of the project. 
 - `.SCANNER' : define a rule for dependency scanning. 
  
  There are several rule options.
  
  
 - `:optional: dependencies' the subsequent dependencies are optional,
   it is acceptable if they do not exist. 
 - `:exists: dependencies' the subsequent dependencies must exist, but
   changes to not affect whether this rule is considered out-of-date. 
 - `:effects: targets' the subsequent files are side-effects of the
   rule. That is, they may be created and/or modified while the rule is
   executing. Rules with overlapping side-effects are never executed in
   parallel. 
 - `:scanner: name' the subsequent name is the name of the `.SCANNER'
   rule for the target to be built. 
 - `:value: expr' the `expr' is a "value" dependency. The rule is
   considered out-of-date whenever the value of the `expr' changes. 
  
  Several variables are defined during rule evaluation.
  
  
 - `$*' : the name of the target with
   the outermost suffix removed. 
 - `$>' : the name of the target with
   all suffixes removed. 
 - `$@' : the name of the target. 
 - `$^' : the explicit file
   dependencies, sorted alphabetically, with duplicates removed. 
 - `$+' : all explicit file
   dependencies, with order preserved. 
 - `$<' : the first explicit file
   dependency. 
 - `$&' : the free values of the rule
   (often used in `:value:' dependencies). 
  
  

B.2.2.6   Shell commands
------------------------
  
  See the chapter on shell commands (Chapter
11*Note Chapter 11::).
  While it is possible to give a precise specification of shell
commands, the informal description is simpler. Any non-empty statement
where each prefix is not one of the other statements, is considered to
be a shell command. Here are some examples.
<<    ls                                 -- shell command
      echo Hello world > /dev/null       -- shell command
      echo(Hello world)                  -- function application
      echo(Hello world) > /dev/null      -- syntax error
      echo Hello: world                  -- rule
      X=1 getenv X                       -- variable definition
      env X=1 getenv X                   -- shell command
      if true                            -- special form
      \if true                           -- shell command
      "if" true                          -- shell command
>>
  

Node: Section B-3,	Next: Appendix C,	Prev: Section B-2,	Up: Appendix B
  

B.3   Dollar modifiers
*=*=*=*=*=*=*=*=*=*=*=

   
  Inline applications have a function and zero-or-more arguments.
Evaluation is normally strict: when an application is evaluated, the
function identifier is evaluated to a function, the arguments are then
evaluated and the function is called with the evaluated arguments.
  The additional "dollar" sequences specify additional control over
evaluation. The token `$`' defines a "lazy" application, where
evaluation is delayed until a value is required. The `$,' sequence
performs an "eager" application within a lazy context.
  To illustrate, consider the expression `$(addsuffix .c, $(FILES))'.
The `addsuffix' function appends its first argument to each value in its
second argument. The following `osh' interaction demonstrates the normal
bahavior.
<<osh> FILES[] = a b c
  - : <array a b c>
  osh> X = $(addsuffix .c, $(FILES))
  - : <array ...>
  osh> FILES[] = 1 2 3 # redefine FILES
  - : <array 1 2 3>
  osh> println($"$X")  # force the evaluation and print
  a.c b.c c.c
>>
  
  When the lazy operator `$`' is used instead, evaluation is delayed
until it is printed. In the following sample, the value for `X' has
changed to the `$(apply ..)' form, but otherwise the result is unchanged
because it it printed immediately.
<<osh> FILES[] = a b c
  - : <array a b c>
  osh> SUF = .c
  - : ".c"
  osh> X = $`(addsuffix $(SUF), $(FILES))
  - : $(apply global.addsuffix ...)
  osh> println($"$X")  # force the evaluation and print
  a.c b.c c.c
>>
  
  However, consider what happens if we redefine the `FILES' variable
after the definition for `X'. In the following sample, the result
changes because evaluation occurs after the values for `FILES' has been
redefined.
<<osh> FILES[] = a b c
  - : <array a b c>
  osh> SUF = .c
  - : ".c"
  osh> X = $`(addsuffix $(SUF), $(FILES))
  - : $(apply global.addsuffix ...)
  osh> SUF = .x
  osh> FILES[] = 1 2 3
  osh> println($"$X")  # force the evaluation and print
  1.x 2.x 3.x
>>
  
  In some cases, more explicit control is desired over evaluation. For
example, we may wish to evaluate `SUF' early, but allow for changes to
the `FILES' variable. The `$,(SUF)' expression forces early evaluation.
<<osh> FILES[] = a b c
  - : <array a b c>
  osh> SUF = .c
  - : ".c"
  osh> X = $`(addsuffix $,(SUF), $(FILES))
  - : $(apply global.addsuffix ...)
  osh> SUF = .x
  osh> FILES[] = 1 2 3
  osh> println($"$X")  # force the evaluation and print
  1.c 2.c 3.c
>>
  

Node: Appendix C,	Next: Appendix D,	Prev: Appendix B,	Up: Top
  

Appendix C     Index
********************
  
  
 - --absname, A.3.20*Note Subsection A-3-20:: 
 - --all-dependencies, A.3.15*Note Subsection A-3-15:: 
 - --configure, A.3.9*Note Subsection A-3-9:: 
 - --depend, A.3.8*Note Subsection A-3-8:: 
 - --dotomake, A.3.11*Note Subsection A-3-11:: 
 - --force-dotomake, A.3.10*Note Subsection A-3-10:: 
 - --install, A.3.17*Note Subsection A-3-17:: 
 - --install-all, A.3.18*Note Subsection A-3-18:: 
 - --install-force, A.3.19*Note Subsection A-3-19:: 
 - --output-at-end, A.2.11*Note Subsection A-2-11:: 
 - --output-normal, A.2.8*Note Subsection A-2-8:: 
 - --output-only-errors, A.2.10*Note Subsection A-2-10:: 
 - --output-postpone, A.2.9*Note Subsection A-2-9:: 
 - --print-dependencies, A.3.13*Note Subsection A-3-13:: 
 - --print-exit, A.2.6*Note Subsection A-2-6:: 
 - --print-status, A.2.5*Note Subsection A-2-5:: 
 - --progress, A.2.4*Note Subsection A-2-4:: 
 - --show-dependencies, A.3.14*Note Subsection A-3-14:: 
 - --verbose, A.2.7*Note Subsection A-2-7:: 
 - --verbose-dependencies, A.3.16*Note Subsection A-3-16:: 
 - -j, A.3.12*Note Subsection A-3-12:: 
 - -k, A.3.1*Note Subsection A-3-1:: 
 - -n, A.3.2*Note Subsection A-3-2:: 
 - -o, A.2.12*Note Subsection A-2-12:: 
 - -P, A.3.4*Note Subsection A-3-4:: 
 - -p, A.3.3*Note Subsection A-3-3:: 
 - -R, A.3.5*Note Subsection A-3-5:: 
 - -S, A.2.2*Note Subsection A-2-2:: 
 - -s, A.2.1*Note Subsection A-2-1:: 
 - -t, A.3.6*Note Subsection A-3-6:: 
 - -U, A.3.7*Note Subsection A-3-7:: 
 - -w, A.2.3*Note Subsection A-2-3:: 
 
 - .BUILD_BEGIN, 13.1*Note Section 13-1:: 
 - .BUILD_FAILURE, 13.1*Note Section 13-1:: 
 - .BUILD_SUCCESS, 13.1*Note Section 13-1:: 
 - .BUILDORDER, 10.3.6*Note Subsection 10-3-6:: 
 - .DEFAULT, 8.7*Note Section 8-7::, 8.12.1*Note Subsection 8-12-1:: 
 - .INCLUDE, 8.9*Note Section 8-9:: 
 - .MEMO, 4.14.1.1*Note Subsection 4-14-1:: 
 - .ORDER, 10.3.6*Note Subsection 10-3-6:: 
 - .omakerc, A.8*Note Section A-8:: 
 - .PHONY, 6.3*Note Section 6-3::, 8.10*Note Section 8-10::,
   8.11.3*Note Subsection 8-11-3::, 8.12.1*Note Subsection 8-12-1::,
   8.12.2*Note Subsection 8-12-2:: 
 - .RULE, 6.3*Note Section 6-3:: 
 - .SCANNER, 3.4.3*Note Subsection 3-4-3::, 8.6*Note Section 8-6::,
   8.11.2*Note Subsection 8-11-2:: 
 - .STATIC, 4.14.1*Note Subsection 4-14-1:: 
 - .SUBDIRS, 3*Note Chapter 3::, 8.8*Note Section 8-8:: 
 - .SUBDIRS bodies, 3.5*Note Section 3-5:: 
 
 - :effects:, 8.5.2*Note Subsection 8-5-2:: 
 - :exists:, 8.5.1*Note Subsection 8-5-1:: 
 - :key:, 4.14.1.2*Note Subsection 4-14-1:: 
 - :scanner:, 8.6.1*Note Subsection 8-6-1:: 
 - :value:, 8.5.3*Note Subsection 8-5-3:: 
 
 - $&, B.2.2.5*Note Subsection B-2-2:: 
 - $*, 8*Note Chapter 8::, B.2.2.5*Note Subsection B-2-2:: 
 - $+, 8*Note Chapter 8::, B.2.2.5*Note Subsection B-2-2:: 
 - $<, 8*Note Chapter 8::, B.2.2.5*Note Subsection B-2-2:: 
 - $>, B.2.2.5*Note Subsection B-2-2:: 
 - $@, 8*Note Chapter 8::, B.2.2.5*Note Subsection B-2-2:: 
 - $^, 8*Note Chapter 8::, B.2.2.5*Note Subsection B-2-2:: 
 
 - ABORT_ON_COMMAND_ERROR, 13.4.1*Note Subsection 13-4-1:: 
 - ABORT_ON_DEPENDENCY_ERRORS, 13.6.4*Note Subsection 13-6-4:: 
 - AC_MSG_CHECKING, 14.2*Note Section 14-2:: 
 - AC_MSG_ERROR, 14.2*Note Section 14-2:: 
 - AC_MSG_RESULT, 14.2*Note Section 14-2:: 
 - AC_MSG_WARN, 14.2*Note Section 14-2:: 
 - AC_TRY_COMPILE, 14.2*Note Section 14-2:: 
 - AC_TRY_LINK, 14.2*Note Section 14-2:: 
 - AC_TRY_RUN, 14.2*Note Section 14-2:: 
 - AR, 13.5.2*Note Subsection 13-5-2:: 
 - Array, 12.1.7*Note Subsection 12-1-7:: 
 - AS, 13.5.2*Note Subsection 13-5-2:: 
 - ASFLAGS, 13.5.2*Note Subsection 13-5-2:: 
 - ASOUT, 13.5.2*Note Subsection 13-5-2:: 
 - absname, 10.1.9*Note Subsection 10-1-9:: 
 - accept, 10.8.31*Note Subsection 10-8-31:: 
 - add, 9.4.3*Note Subsection 9-4-3:: 
 - add-project-directories, 10.6.2*Note Subsection 10-6-2:: 
 - add-wrapper, 9.3.27*Note Subsection 9-3-27:: 
 - addprefix, 9.3.25*Note Subsection 9-3-25:: 
 - addsuffix, 9.3.19*Note Subsection 9-3-19:: 
 - addsuffixes, 9.3.21*Note Subsection 9-3-21:: 
 - aliases, 15.2*Note Section 15-2:: 
 - and, 9.2.3*Note Subsection 9-2-3:: 
 - apply, 9.5.2*Note Subsection 9-5-2:: 
 - applya, 9.5.3*Note Subsection 9-5-3:: 
 - array, 9.3.1*Note Subsection 9-3-1:: 
 - arrays, 4.3*Note Section 4-3:: 
 - asr, 9.4.3*Note Subsection 9-4-3:: 
 - awk, 3.4.3*Note Subsection 3-4-3::, 10.11.5*Note Subsection 10-11-5:: 
 
 - BIBTEX, 13.7.1*Note Subsection 13-7-1:: 
 - BUILD_SUMMARY, 9.1*Note Section 9-1:: 
 - BYTE_ENABLED, 13.6.2*Note Subsection 13-6-2:: 
 - basename, 10.1.4*Note Subsection 10-1-4:: 
 - bg, 11.10.2*Note Subsection 11-10-2:: 
 - bind, 10.8.29*Note Subsection 10-8-29:: 
 - break, 9.3.43*Note Subsection 9-3-43:: 
 - build, 13.3.6*Note Subsection 13-3-6:: 
 - build model, 3*Note Chapter 3:: 
 
 - CAMLP4, 13.6.2*Note Subsection 13-6-2:: 
 - CC, 13.5.2*Note Subsection 13-5-2:: 
 - CCOUT, 13.5.2*Note Subsection 13-5-2:: 
 - CDLL_IMPLIES_STATIC, 13.5.4.1*Note Subsection 13-5-4:: 
 - CFLAGS, 13.5.2*Note Subsection 13-5-2:: 
 - CGeneratedFiles, 13.5.3.1*Note Subsection 13-5-3:: 
 - Channel, 12.1.15*Note Subsection 12-1-15:: 
 - CheckCHeader, 14.1.6*Note Subsection 14-1-6:: 
 - CheckCLib, 14.1.7*Note Subsection 14-1-7:: 
 - CheckProg, 14.1.8*Note Subsection 14-1-8:: 
 - CL_FOUND, 13.5.1.2*Note Subsection 13-5-1:: 
 - ConfMsgChecking, 14.1.1*Note Subsection 14-1-1:: 
 - ConfMsgError, 14.1.2*Note Subsection 14-1-2:: 
 - ConfMsgFound, 14.1.3*Note Subsection 14-1-3:: 
 - ConfMsgResult, 14.1.1*Note Subsection 14-1-1:: 
 - ConfMsgWarn, 14.1.2*Note Subsection 14-1-2:: 
 - ConfMsgYesNo, 14.1.3*Note Subsection 14-1-3:: 
 - CPP, 13.5.2*Note Subsection 13-5-2:: 
 - CProgram, 13.5.4.5*Note Subsection 13-5-4:: 
 - CProgramCopy, 13.5.4.6*Note Subsection 13-5-4:: 
 - CProgramInstall, 13.5.4.7*Note Subsection 13-5-4:: 
 - CWD, 13.4.1*Note Subsection 13-4-1:: 
 - CXX, 13.5.2*Note Subsection 13-5-2:: 
 - CXXFLAGS, 13.5.2*Note Subsection 13-5-2:: 
 - CXXProgram, 13.5.4.8*Note Subsection 13-5-4:: 
 - CXXProgramInstall, 13.5.4.8*Note Subsection 13-5-4:: 
 - c-escaped, 9.3.14*Note Subsection 9-3-14:: 
 - capitalize, 9.3.35*Note Subsection 9-3-35:: 
 - case, 9.2.6*Note Subsection 9-2-6:: 
 - cat, 10.11.2*Note Subsection 10-11-2:: 
 - cats and dogs, 3.4*Note Section 3-4:: 
 - cd, 11.9.2*Note Subsection 11-9-2:: 
 - channel-name, 10.8.12*Note Subsection 10-8-12:: 
 - chmod, 10.5.9*Note Subsection 10-5-9:: 
 - chown, 10.5.10*Note Subsection 10-5-10:: 
 - class, B.2.2.1*Note Subsection B-2-2:: 
 - classes, 4.12*Note Section 4-12:: 
 - close, 10.8.5*Note Subsection 10-8-5:: 
 - cmp-versions, 13.2.3*Note Subsection 13-2-3:: 
 - compare, 9.7.4*Note Subsection 9-7-4:: 
 - concat, 9.3.3*Note Subsection 9-3-3:: 
 - conditionals, 4.9*Note Section 4-9:: 
 - connect, 10.8.32*Note Subsection 10-8-32:: 
 - constants, 4.15*Note Section 4-15:: 
 - create-lazy-map, 9.5.4*Note Subsection 9-5-4:: 
 - create-map, 9.5.4*Note Subsection 9-5-4:: 
 
 - DefineCommandVars, 13.2.4*Note Subsection 13-2-4:: 
 - DIRSEP, 13.4.2*Note Subsection 13-4-2:: 
 - Dir, 12.1.14*Note Subsection 12-1-14:: 
 - DVIPDFM, 13.7.1*Note Subsection 13-7-1:: 
 - DVIPDFMFLAGS, 13.7.1*Note Subsection 13-7-1:: 
 - DVIPS, 13.7.1*Note Subsection 13-7-1:: 
 - DVIPSFLAGS, 13.7.1*Note Subsection 13-7-1:: 
 - DynamicCLibrary, 13.5.4.1*Note Subsection 13-5-4:: 
 - DynamicCLibraryCopy, 13.5.4.2*Note Subsection 13-5-4:: 
 - DynamicCLibraryInstall, 13.5.4.3*Note Subsection 13-5-4:: 
 - DynamicCXXLibrary, 13.5.4.9*Note Subsection 13-5-4:: 
 - DynamicCXXLibraryCopy, 13.5.4.9*Note Subsection 13-5-4:: 
 - DynamicCXXLibraryInstall, 13.5.4.9*Note Subsection 13-5-4:: 
 - declare, 5.7*Note Section 5-7:: 
 - decode-uri, 9.3.15*Note Subsection 9-3-15:: 
 - default, 9.2.6*Note Subsection 9-2-6:: 
 - defined, 9.2.10*Note Subsection 9-2-10:: 
 - defined-env, 9.2.11*Note Subsection 9-2-11:: 
 - dependencies, 13.3.1*Note Subsection 13-3-1:: 
 - dependencies-all, 13.3.1*Note Subsection 13-3-1:: 
 - dependencies-proper, 13.3.1*Note Subsection 13-3-1:: 
 - digest, 10.2.5*Note Subsection 10-2-5:: 
 - digest-in-path, 10.2.7*Note Subsection 10-2-7:: 
 - digest-in-path-optional, 10.2.7*Note Subsection 10-2-7:: 
 - digest-optional, 10.2.5*Note Subsection 10-2-5:: 
 - dir, 10.1.1*Note Subsection 10-1-1:: 
 - dirname, 10.1.5*Note Subsection 10-1-5:: 
 - dirof, 10.1.7*Note Subsection 10-1-7:: 
 - div, 9.4.3*Note Subsection 9-4-3:: 
 - dup, 10.8.13*Note Subsection 10-8-13:: 
 - dup2, 10.8.14*Note Subsection 10-8-14:: 
 
 - EMPTY, 13.4.1*Note Subsection 13-4-1:: 
 - EXE, 13.4.2*Note Subsection 13-4-2:: 
 - EXT_ASM, 13.4.2*Note Subsection 13-4-2:: 
 - EXT_DLL, 13.4.2*Note Subsection 13-4-2:: 
 - EXT_LIB, 13.4.2*Note Subsection 13-4-2:: 
 - EXT_OBJ, 13.4.2*Note Subsection 13-4-2:: 
 - Exception, 12.1.19*Note Subsection 12-1-19:: 
 - echo, 11.9.1*Note Subsection 11-9-1:: 
 - else, 9.2.5*Note Subsection 9-2-5::, B.2.2.1*Note Subsection B-2-2:: 
 - elseif, 9.2.5*Note Subsection 9-2-5::, B.2.2.1*Note Subsection B-2-2::
   
 - encode-uri, 9.3.15*Note Subsection 9-3-15:: 
 - eprint, 10.9*Note Section 10-9:: 
 - eprintln, 10.9*Note Section 10-9:: 
 - eprintv, 10.10*Note Section 10-10:: 
 - eprintvln, 10.10*Note Section 10-10:: 
 - eq, 9.4.4*Note Subsection 9-4-4:: 
 - equal, 9.2.2*Note Subsection 9-2-2:: 
 - exists-in-path, 10.2.4*Note Subsection 10-2-4:: 
 - exit, 9.2.9*Note Subsection 9-2-9:: 
 - export, 6.3*Note Section 6-3::, 9.3.41*Note Subsection 9-3-41::,
   B.2.2.1*Note Subsection B-2-2:: 
 - extends, B.2.2.1*Note Subsection B-2-2:: 
 
 - File, 12.1.13*Note Subsection 12-1-13:: 
 - Float, 12.1.5*Note Subsection 12-1-5:: 
 - Fun, 12.1.9*Note Subsection 12-1-9:: 
 - fg, 11.10.3*Note Subsection 11-10-3:: 
 - fgets, 10.8.35*Note Subsection 10-8-35:: 
 - file, 10.1.1*Note Subsection 10-1-1:: 
 - file-check-sort, 10.3.7*Note Subsection 10-3-7:: 
 - file-exists, 10.3.1*Note Subsection 10-3-1:: 
 - file-sort, 10.3.6*Note Subsection 10-3-6:: 
 - filter, 9.3.33*Note Subsection 9-3-33:: 
 - filter-exists, 10.3.3*Note Subsection 10-3-3:: 
 - filter-out, 9.3.34*Note Subsection 9-3-34:: 
 - filter-proper-targets, 10.3.3*Note Subsection 10-3-3:: 
 - filter-targets, 10.3.3*Note Subsection 10-3-3:: 
 - find, 10.7.2*Note Subsection 10-7-2:: 
 - find-build-targets, 13.3.3*Note Subsection 13-3-3:: 
 - find-in-path, 10.2.6*Note Subsection 10-2-6:: 
 - find-in-path-optional, 10.2.6*Note Subsection 10-2-6:: 
 - find-ocaml-targets-in-path-optional, 10.3.5*Note Subsection 10-3-5:: 
 - find-targets-in-path, 10.3.4*Note Subsection 10-3-4:: 
 - find-targets-in-path-optional, 10.3.4*Note Subsection 10-3-4:: 
 - float, 9.4.2*Note Subsection 9-4-2:: 
 - flush, 10.8.11*Note Subsection 10-8-11:: 
 - fopen, 10.8.4*Note Subsection 10-8-4:: 
 - foreach, 9.6.1*Note Subsection 9-6-1:: 
 - fprint, 10.9*Note Section 10-9:: 
 - fprintln, 10.9*Note Section 10-9:: 
 - fprintv, 10.10*Note Section 10-10:: 
 - fprintvln, 10.10*Note Section 10-10:: 
 - fsubst, 10.11.6*Note Subsection 10-11-6:: 
 - fullname, 10.1.8*Note Subsection 10-1-8:: 
 - fun, 9.5.1*Note Subsection 9-5-1:: 
 - functions, 4.5*Note Section 4-5:: 
 
 - GCC_FOUND, 13.5.1.1*Note Subsection 13-5-1:: 
 - Group, 10.11.20*Note Subsection 10-11-20:: 
 - GXX_FOUND, 13.5.1.1*Note Subsection 13-5-1:: 
 - ge, 9.4.4*Note Subsection 9-4-4:: 
 - get-registry, 9.2.15*Note Subsection 9-2-15:: 
 - getchar, 10.8.33*Note Subsection 10-8-33:: 
 - getenv, 9.2.12*Note Subsection 9-2-12:: 
 - getgrgid, 10.11.21*Note Subsection 10-11-21:: 
 - getgrnam, 10.11.21*Note Subsection 10-11-21:: 
 - gethostbyname, 10.8.23*Note Subsection 10-8-23:: 
 - getprotobyname, 10.8.25*Note Subsection 10-8-25:: 
 - getpwents, 10.11.19*Note Subsection 10-11-19:: 
 - getpwnam, 10.11.18*Note Subsection 10-11-18:: 
 - getpwuid, 10.11.18*Note Subsection 10-11-18:: 
 - gets, 10.8.34*Note Subsection 10-8-34:: 
 - getservbyname, 10.8.27*Note Subsection 10-8-27:: 
 - gettimeofday, 10.11.27*Note Subsection 10-11-27:: 
 - getvar, 9.2.16*Note Subsection 9-2-16:: 
 - glob, 10.4.1*Note Subsection 10-4-1:: 
 - global., 5.3*Note Section 5-3:: 
 - gr_gid, 10.11.20*Note Subsection 10-11-20:: 
 - gr_group, 10.11.20*Note Subsection 10-11-20:: 
 - gr_mem, 10.11.20*Note Subsection 10-11-20:: 
 - gr_name, 10.11.20*Note Subsection 10-11-20:: 
 - grep, 10.11.3*Note Subsection 10-11-3:: 
 - gt, 9.4.4*Note Subsection 9-4-4:: 
 
 - HOME, 9.1*Note Section 9-1:: 
 - HOST, 9.1*Note Section 9-1:: 
 - Host, 10.8.22*Note Subsection 10-8-22:: 
 - history, 11.11.1*Note Subsection 11-11-1:: 
 - homename, 10.1.10*Note Subsection 10-1-10:: 
 - html-escaped, 9.3.14*Note Subsection 9-3-14:: 
 - html-pre-escaped, 9.3.14*Note Subsection 9-3-14:: 
 - html-string, 9.3.18*Note Subsection 9-3-18:: 
 
 - INCLUDES, 13.5.2*Note Subsection 13-5-2:: 
 - INSTALL, 13.4.2*Note Subsection 13-4-2:: 
 - InChannel, 12.1.16*Note Subsection 12-1-16:: 
 - InetAddr, 10.8.21*Note Subsection 10-8-21:: 
 - Int, 12.1.4*Note Subsection 12-1-4:: 
 - id-escaped, 9.3.14*Note Subsection 9-3-14:: 
 - if, 4.9*Note Section 4-9::, 9.2.5*Note Subsection 9-2-5::,
   B.2.2.1*Note Subsection B-2-2:: 
 - ignoreeof, 15.1*Note Section 15-1:: 
 - in, 10.1.3*Note Subsection 10-1-3:: 
 - include, 4.7*Note Section 4-7::, B.2.2.1*Note Subsection B-2-2:: 
 - inheritance, 4.13*Note Section 4-13:: 
 - input-line, 10.8.6*Note Subsection 10-8-6:: 
 - int, 9.4.1*Note Subsection 9-4-1:: 
 - intersection, 9.3.30*Note Subsection 9-3-30:: 
 - intersects, 9.3.31*Note Subsection 9-3-31:: 
 
 - jobs, 11.10.1*Note Subsection 11-10-1:: 
 - join, 9.3.11*Note Subsection 9-3-11:: 
 
 - kill, 11.10.6*Note Subsection 11-10-6:: 
 
 - LATEX, 13.7.1*Note Subsection 13-7-1:: 
 - LATEXFLAGS, 13.7.1*Note Subsection 13-7-1:: 
 - LaTeXDocument, 13.7.2.1*Note Subsection 13-7-2:: 
 - LaTeXDocumentCopy, 13.7.2.3*Note Subsection 13-7-2:: 
 - LaTeXDocumentInstall, 13.7.2.4*Note Subsection 13-7-2:: 
 - LD, 13.5.2*Note Subsection 13-5-2:: 
 - LDFLAGS, 13.5.2*Note Subsection 13-5-2:: 
 - LDFLAGS_DLL, 13.5.2*Note Subsection 13-5-2:: 
 - LDOUT, 13.5.2*Note Subsection 13-5-2:: 
 - LEX, 13.5.2*Note Subsection 13-5-2:: 
 - Lexer, 10.11.9*Note Subsection 10-11-9:: 
 - LIB_FOUND, 13.5.1.2*Note Subsection 13-5-1:: 
 - LIBS, 13.5.2*Note Subsection 13-5-2:: 
 - LocalCGeneratedFiles, 13.5.3.1*Note Subsection 13-5-3:: 
 - LocalOCamlGeneratedFiles, 13.6.5.1*Note Subsection 13-6-5:: 
 - LocalTeXGeneratedFiles, 13.7.2.2*Note Subsection 13-7-2:: 
 - Location, 12.1.18*Note Subsection 12-1-18:: 
 - land, 9.4.3*Note Subsection 9-4-3:: 
 - le, 9.4.4*Note Subsection 9-4-4:: 
 - length, 9.3.4*Note Subsection 9-3-4:: 
 - lex, 10.11.7*Note Subsection 10-11-7:: 
 - lex-search, 10.11.8*Note Subsection 10-11-8:: 
 - link, 10.5.6*Note Subsection 10-5-6:: 
 - link-order sorting, 10.3.6*Note Subsection 10-3-6:: 
 - listen, 10.8.30*Note Subsection 10-8-30:: 
 - lnot, 9.4.3*Note Subsection 9-4-3:: 
 - lockf, 10.8.20*Note Subsection 10-8-20:: 
 - lor, 9.4.3*Note Subsection 9-4-3:: 
 - lowercase, 9.3.38*Note Subsection 9-3-38:: 
 - ls, 10.4.2*Note Subsection 10-4-2:: 
 - lseek, 10.8.8*Note Subsection 10-8-8:: 
 - lsl, 9.4.3*Note Subsection 9-4-3:: 
 - lsr, 9.4.3*Note Subsection 9-4-3:: 
 - lstat, 10.5.3*Note Subsection 10-5-3:: 
 - lt, 9.4.4*Note Subsection 9-4-4:: 
 - lxor, 9.4.3*Note Subsection 9-4-3:: 
 
 - MACHINE, 9.1*Note Section 9-1:: 
 - MAKEINDEX, 13.7.1*Note Subsection 13-7-1:: 
 - Map, 12.1.2*Note Subsection 12-1-2:: 
 - MENHIR_AVAILABLE, 13.6.1*Note Subsection 13-6-1:: 
 - MENHIR_ENABLED, 13.6.2*Note Subsection 13-6-2:: 
 - MENHIR_FLAGS, 13.6.3*Note Subsection 13-6-3:: 
 - mapprefix, 9.3.26*Note Subsection 9-3-26:: 
 - mapsuffix, 9.3.20*Note Subsection 9-3-20:: 
 - match, 4.10*Note Section 4-10::, 9.2.6*Note Subsection 9-2-6::,
   B.2.2.1*Note Subsection B-2-2:: 
 - max, 9.4.3*Note Subsection 9-4-3:: 
 - mem, 9.3.29*Note Subsection 9-3-29:: 
 - min, 9.4.3*Note Subsection 9-4-3:: 
 - mkdir, 10.5.1*Note Subsection 10-5-1:: 
 - mkfifo, 10.8.18*Note Subsection 10-8-18:: 
 - mod, 9.4.3*Note Subsection 9-4-3:: 
 - mul, 9.4.3*Note Subsection 9-4-3:: 
 
 - NATIVE_ENABLED, 13.6.2*Note Subsection 13-6-2:: 
 - NCURSES_AVAILABLE, 14.3.1*Note Subsection 14-3-1:: 
 - NCURSES_CFLAGS, 14.3.1*Note Subsection 14-3-1:: 
 - NCURSES_CLIBS, 14.3.1*Note Subsection 14-3-1:: 
 - NCURSES_TERMH_IN_NCURSES, 14.3.1*Note Subsection 14-3-1:: 
 - NODENAME, 9.1*Note Section 9-1:: 
 - Node, 12.1.12*Note Subsection 12-1-12:: 
 - Number, 12.1.3*Note Subsection 12-1-3:: 
 - neg, 9.4.3*Note Subsection 9-4-3:: 
 - not, 9.2.1*Note Subsection 9-2-1:: 
 - nth, 9.3.5*Note Subsection 9-3-5:: 
 - nth-hd, 9.3.7*Note Subsection 9-3-7:: 
 - nth-tl, 9.3.8*Note Subsection 9-3-8:: 
 
 - Object, 12.1.1*Note Subsection 12-1-1:: 
 - OCAML_BYTE_LINK_FLAGS, 13.6.3*Note Subsection 13-6-3:: 
 - OCAML_CLIBS, 13.6.4*Note Subsection 13-6-4:: 
 - OCAML_LIB_FLAGS, 13.6.4*Note Subsection 13-6-4:: 
 - OCAML_LIBS, 13.6.4*Note Subsection 13-6-4:: 
 - OCAML_LINK_FLAGS, 13.6.3*Note Subsection 13-6-3:: 
 - OCAML_NATIVE_LINK_FLAGS, 13.6.3*Note Subsection 13-6-3:: 
 - OCAML_OTHER_LIBS, 13.6.4*Note Subsection 13-6-4:: 
 - OCAMLC, 13.6.2*Note Subsection 13-6-2:: 
 - OCAMLCFLAGS, 13.6.3*Note Subsection 13-6-3:: 
 - OCAMLDEP, 13.6.2*Note Subsection 13-6-2:: 
 - OCAMLDEP_MODULES, 13.6.2*Note Subsection 13-6-2:: 
 - OCAMLDEP_MODULES_AVAILABLE, 13.6.1*Note Subsection 13-6-1:: 
 - OCAMLDEP_MODULES_ENABLED, 13.6.2*Note Subsection 13-6-2:: 
 - OCAMLDEPFLAGS, 13.6.3*Note Subsection 13-6-3:: 
 - OCAMLFIND, 13.6.2*Note Subsection 13-6-2:: 
 - OCAMLFIND_EXISTS, 13.6.1*Note Subsection 13-6-1:: 
 - OCAMLFINDFLAGS, 13.6.2*Note Subsection 13-6-2:: 
 - OCAMLFLAGS, 13.6.3*Note Subsection 13-6-3:: 
 - OCAMLINCLUDES, 13.6.2*Note Subsection 13-6-2:: 
 - OCAMLLEX, 13.6.2*Note Subsection 13-6-2:: 
 - OCAMLLEXFLAGS, 13.6.2*Note Subsection 13-6-2:: 
 - OCAMLLINK, 13.6.2*Note Subsection 13-6-2:: 
 - OCAMLMKTOP, 13.6.2*Note Subsection 13-6-2:: 
 - OCAMLOPT, 13.6.2*Note Subsection 13-6-2:: 
 - OCAMLOPT_EXISTS, 13.6.1*Note Subsection 13-6-1:: 
 - OCAMLOPTFLAGS, 13.6.3*Note Subsection 13-6-3:: 
 - OCAMLOPTLINK, 13.6.2*Note Subsection 13-6-2:: 
 - OCAMLPACKS, 13.6.2*Note Subsection 13-6-2:: 
 - OCAMLPPFLAGS, 13.6.3*Note Subsection 13-6-3:: 
 - OCAMLYACC, 13.6.2*Note Subsection 13-6-2:: 
 - OCAMLYACCFLAGS, 13.6.2*Note Subsection 13-6-2:: 
 - OCamlGeneratedFiles, 13.6.5.1*Note Subsection 13-6-5:: 
 - OCamlLibrary, 13.6.6.1*Note Subsection 13-6-6:: 
 - OCamlLibraryCopy, 13.6.6.3*Note Subsection 13-6-6:: 
 - OCamlLibraryInstall, 13.6.6.4*Note Subsection 13-6-6:: 
 - OCamlPackage, 13.6.6.2*Note Subsection 13-6-6:: 
 - OCamlProgram, 13.6.6.5*Note Subsection 13-6-6:: 
 - OCamlProgramCopy, 13.6.6.6*Note Subsection 13-6-6:: 
 - OCamlProgramInstall, 13.6.6.7*Note Subsection 13-6-6:: 
 - OMAKE_VERSION, 9.1*Note Section 9-1:: 
 - OMAKEFLAGS, A.5.1*Note Subsection A-5-1:: 
 - OMAKELIB, A.5.2*Note Subsection A-5-2:: 
 - OMAKEPATH, 9.1*Note Section 9-1:: 
 - OMakeFlags, 13.2.1*Note Subsection 13-2-1:: 
 - OMakefile, 2.8*Note Section 2-8::, 3*Note Chapter 3:: 
 - OMakeroot, 2.8*Note Section 2-8::, 3*Note Chapter 3::,
   13.4*Note Section 13-4:: 
 - OMakeVersion, 13.2.2*Note Subsection 13-2-2:: 
 - OS_VERSION, 9.1*Note Section 9-1:: 
 - OSTYPE, 9.1*Note Section 9-1:: 
 - OutChannel, 12.1.17*Note Subsection 12-1-17:: 
 - objects, 4.11*Note Section 4-11:: 
 - ocaml-escaped, 9.3.14*Note Subsection 9-3-14:: 
 - ocamldep-omake, 13.6.5.2*Note Subsection 13-6-5:: 
 - open, 4.7*Note Section 4-7::, B.2.2.1*Note Subsection B-2-2:: 
 - open-in-string, 10.8.2*Note Subsection 10-8-2:: 
 - open-out-string, 10.8.3*Note Subsection 10-8-3:: 
 - or, 9.2.4*Note Subsection 9-2-4:: 
 - out-contents, 10.8.3*Note Subsection 10-8-3:: 
 
 - PATHSEP, 13.4.2*Note Subsection 13-4-2:: 
 - Parser, 10.11.13*Note Subsection 10-11-13:: 
 - Passwd, 10.11.17*Note Subsection 10-11-17:: 
 - PDFLATEX, 13.7.1*Note Subsection 13-7-1:: 
 - PDFLATEXFLAGS, 13.7.1*Note Subsection 13-7-1:: 
 - PID, 9.1*Note Section 9-1:: 
 - Protocol, 10.8.24*Note Subsection 10-8-24:: 
 - pipe, 10.8.17*Note Subsection 10-8-17:: 
 - print, 10.9*Note Section 10-9:: 
 - println, 10.9*Note Section 10-9:: 
 - printv, 10.10*Note Section 10-10:: 
 - printvln, 10.10*Note Section 10-10:: 
 - private., 5.1*Note Section 5-1:: 
 - project-directories, 13.3.4*Note Subsection 13-3-4:: 
 - prompt, 15.1*Note Section 15-1:: 
 - prompt-invisible, 10.11.26*Note Subsection 10-11-26:: 
 - prompt-invisible-begin, 10.11.25*Note Subsection 10-11-25:: 
 - prompt-invisible-end, 10.11.25*Note Subsection 10-11-25:: 
 - protected., 5.4*Note Section 5-4:: 
 - public., 5.5*Note Section 5-5:: 
 - pw_dir, 10.11.17*Note Subsection 10-11-17:: 
 - pw_gecos, 10.11.17*Note Subsection 10-11-17:: 
 - pw_gid, 10.11.17*Note Subsection 10-11-17:: 
 - pw_name, 10.11.17*Note Subsection 10-11-17:: 
 - pw_passwd, 10.11.17*Note Subsection 10-11-17:: 
 - pw_shell, 10.11.17*Note Subsection 10-11-17:: 
 - pw_uid, 10.11.17*Note Subsection 10-11-17:: 
 
 - quotations, 4.4*Note Section 4-4:: 
 - quote, 9.3.16*Note Subsection 9-3-16:: 
 - quote-argv, 9.3.17*Note Subsection 9-3-17:: 
 - quoted strings, 7.2*Note Section 7-2:: 
 
 - READLINE_AVAILABLE, 14.3.2*Note Subsection 14-3-2:: 
 - READLINE_CFLAGS, 14.3.2*Note Subsection 14-3-2:: 
 - READLINE_CLIBS, 14.3.2*Note Subsection 14-3-2:: 
 - READLINE_GNU, 14.3.2*Note Subsection 14-3-2:: 
 - ROOT, 13.4.1*Note Subsection 13-4-1:: 
 - Rule, 12.1.10*Note Subsection 12-1-10:: 
 - RunCProg, 14.1.5*Note Subsection 14-1-5:: 
 - RuntimeException, 12.1.20*Note Subsection 12-1-20:: 
 - raise, 9.2.8*Note Subsection 9-2-8:: 
 - random, 9.3.44*Note Subsection 9-3-44:: 
 - random-init, 9.3.44*Note Subsection 9-3-44:: 
 - read, 10.8.6*Note Subsection 10-8-6:: 
 - readlink, 10.5.8*Note Subsection 10-5-8:: 
 - regular expressions, 10.11.1*Note Subsection 10-11-1:: 
 - rehash, 10.2.3*Note Subsection 10-2-3:: 
 - remove-project-directories, 10.6.3*Note Subsection 10-6-3:: 
 - removeprefix, 9.3.22*Note Subsection 9-3-22:: 
 - removesuffix, 9.3.23*Note Subsection 9-3-23:: 
 - rename, 10.5.5*Note Subsection 10-5-5:: 
 - replace-nth, 9.3.6*Note Subsection 9-3-6:: 
 - replacesuffixes, 9.3.24*Note Subsection 9-3-24:: 
 - return, 4.5*Note Section 4-5::, B.2.2.1*Note Subsection B-2-2:: 
 - rev, 9.3.10*Note Subsection 9-3-10:: 
 - rewind, 10.8.9*Note Subsection 10-8-9:: 
 - rootname, 10.1.6*Note Subsection 10-1-6:: 
 - rule, 13.3.5*Note Subsection 13-3-5:: 
 - rule, options, 8.5*Note Section 8-5:: 
 - rule, scoping, 8.11*Note Section 8-11:: 
 - rules, bounded implicit, 8.2*Note Section 8-2:: 
 - rules, implicit, 8.1*Note Section 8-1:: 
 
 - SCANNER_MODE, 13.4.1*Note Subsection 13-4-1:: 
 - Sequence, 12.1.6*Note Subsection 12-1-6:: 
 - Service, 10.8.26*Note Subsection 10-8-26:: 
 - Shell, 12.1.22*Note Subsection 12-1-22:: 
 - SNPRINTF_AVAILABLE, 14.3.3*Note Subsection 14-3-3:: 
 - STDLIB, 9.1*Note Section 9-1:: 
 - STDROOT, 13.4.1*Note Subsection 13-4-1:: 
 - Stat, 10.5.2*Note Subsection 10-5-2:: 
 - StaticCLibrary, 13.5.4.1*Note Subsection 13-5-4:: 
 - StaticCLibraryCopy, 13.5.4.2*Note Subsection 13-5-4:: 
 - StaticCLibraryInstall, 13.5.4.3*Note Subsection 13-5-4:: 
 - StaticCObject, 13.5.4.4*Note Subsection 13-5-4:: 
 - StaticCObjectCopy, 13.5.4.4*Note Subsection 13-5-4:: 
 - StaticCObjectInstall, 13.5.4.4*Note Subsection 13-5-4:: 
 - StaticCXXLibrary, 13.5.4.9*Note Subsection 13-5-4:: 
 - StaticCXXLibraryCopy, 13.5.4.9*Note Subsection 13-5-4:: 
 - StaticCXXLibraryInstall, 13.5.4.9*Note Subsection 13-5-4:: 
 - String, 12.1.8*Note Subsection 12-1-8:: 
 - SYSNAME, 9.1*Note Section 9-1:: 
 - scan, 10.11.4*Note Subsection 10-11-4:: 
 - section, 4.8*Note Section 4-8::, 8.3*Note Section 8-3::,
   B.2.2.1*Note Subsection B-2-2:: 
 - section rule, 8.4*Note Section 8-4:: 
 - select, 10.8.19*Note Subsection 10-8-19:: 
 - sequence-forall, 9.7.1*Note Subsection 9-7-1:: 
 - sequence-sort, 9.7.3*Note Subsection 9-7-3:: 
 - set, 9.3.28*Note Subsection 9-3-28:: 
 - set-close-on-exec-mode, 10.8.16*Note Subsection 10-8-16:: 
 - set-diff, 9.3.32*Note Subsection 9-3-32:: 
 - set-nonblock, 10.8.15*Note Subsection 10-8-15:: 
 - setenv, 9.2.13*Note Subsection 9-2-13:: 
 - setvar, 9.2.17*Note Subsection 9-2-17:: 
 - shell, 9.3.40*Note Subsection 9-3-40:: 
 - socket, 10.8.28*Note Subsection 10-8-28:: 
 - sorting (link-order), 10.3.6*Note Subsection 10-3-6:: 
 - split, 9.3.2*Note Subsection 9-3-2:: 
 - stat, 10.5.3*Note Subsection 10-5-3:: 
 - stat-reset, 10.3.2*Note Subsection 10-3-2:: 
 - static., 4.14*Note Section 4-14:: 
 - stderr, 10.8.1*Note Subsection 10-8-1:: 
 - stdin, 10.8.1*Note Subsection 10-8-1:: 
 - stdout, 10.8.1*Note Subsection 10-8-1:: 
 - stop, 11.10.4*Note Subsection 11-10-4:: 
 - string, 9.3.12*Note Subsection 9-3-12:: 
 - string-escaped, 9.3.14*Note Subsection 9-3-14:: 
 - string-length, 9.3.13*Note Subsection 9-3-13:: 
 - sub, 9.4.3*Note Subsection 9-4-3:: 
 - subdirs, 10.4.3*Note Subsection 10-4-3:: 
 - subrange, 9.3.9*Note Subsection 9-3-9:: 
 - suffix, 10.1.11*Note Subsection 10-1-11:: 
 - switch, 4.10*Note Section 4-10::, 9.2.6*Note Subsection 9-2-6:: 
 - symlink, 10.5.7*Note Subsection 10-5-7:: 
 - system, 9.3.39*Note Subsection 9-3-39:: 
 
 - TARGETS, 9.1*Note Section 9-1:: 
 - Target, 12.1.11*Note Subsection 12-1-11:: 
 - TETEX2_ENABLED, 13.7.1*Note Subsection 13-7-1:: 
 - TEXDEPS, 13.7.2.1*Note Subsection 13-7-2:: 
 - TEXINPUTS, 13.7.2.1*Note Subsection 13-7-2:: 
 - TEXVARS, 13.7.2.1*Note Subsection 13-7-2:: 
 - TeXGeneratedFiles, 13.7.2.2*Note Subsection 13-7-2:: 
 - TryCompileC, 14.1.4*Note Subsection 14-1-4:: 
 - TryLinkC, 14.1.4*Note Subsection 14-1-4:: 
 - TryRunC, 14.1.4*Note Subsection 14-1-4:: 
 - target, 13.3.2*Note Subsection 13-3-2:: 
 - target-exists, 10.3.1*Note Subsection 10-3-1:: 
 - target-is-proper, 10.3.1*Note Subsection 10-3-1:: 
 - tell, 10.8.10*Note Subsection 10-8-10:: 
 - test, 10.7.1*Note Subsection 10-7-1:: 
 - tgetstr, 10.11.22*Note Subsection 10-11-22:: 
 - this., 5.2*Note Section 5-2:: 
 - tmpfile, 10.1.2*Note Subsection 10-1-2:: 
 - truncate, 10.5.11*Note Subsection 10-5-11:: 
 - try, 9.2.7*Note Subsection 9-2-7::, B.2.2.1*Note Subsection B-2-2:: 
 
 - UnbuildableException, 12.1.21*Note Subsection 12-1-21:: 
 - USE_OCAMLFIND, 13.6.2*Note Subsection 13-6-2:: 
 - USEPDFLATEX, 13.7.1*Note Subsection 13-7-1:: 
 - USER, 9.1*Note Section 9-1:: 
 - uge, 9.4.4*Note Subsection 9-4-4:: 
 - ugt, 9.4.4*Note Subsection 9-4-4:: 
 - ule, 9.4.4*Note Subsection 9-4-4:: 
 - ult, 9.4.4*Note Subsection 9-4-4:: 
 - umask, 10.5.12*Note Subsection 10-5-12:: 
 - uncapitalize, 9.3.36*Note Subsection 9-3-36:: 
 - unlink, 10.5.4*Note Subsection 10-5-4:: 
 - unsetenv, 9.2.14*Note Subsection 9-2-14:: 
 - uppercase, 9.3.37*Note Subsection 9-3-37:: 
 
 - VERBOSE, 9.1*Note Section 9-1:: 
 - VerboseCheckCHeader, 14.1.6*Note Subsection 14-1-6:: 
 - VerboseCheckCLib, 14.1.7*Note Subsection 14-1-7:: 
 - value, 4.5*Note Section 4-5::, B.2.2.1*Note Subsection B-2-2:: 
 - variable definition, A.3.21*Note Subsection A-3-21:: 
 - vmount, 2.9*Note Section 2-9::, 10.6.1*Note Subsection 10-6-1:: 
 
 - wait, 11.10.5*Note Subsection 11-10-5:: 
 - where, 10.2.2*Note Subsection 10-2-2:: 
 - which, 10.2.1*Note Subsection 10-2-1:: 
 - while, 9.3.42*Note Subsection 9-3-42::,
   B.2.2.1*Note Subsection B-2-2:: 
 - write, 10.8.7*Note Subsection 10-8-7:: 
 
 - xterm-escape, 10.11.24*Note Subsection 10-11-24:: 
 - xterm-escape-begin, 10.11.23*Note Subsection 10-11-23:: 
 - xterm-escape-end, 10.11.23*Note Subsection 10-11-23:: 
 
 - YACC, 13.5.2*Note Subsection 13-5-2:: 
     
