Ignore:
Timestamp:
Sep 15, 2006, 7:09:38 AM (19 years ago)
Author:
bird
Message:

Untested merge with GNU Make v3.81 (vendor/gnumake/2005-05-16 -> vendor/gnumake/current).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/gmake/doc/make.info-2

    r200 r503  
    1 This is ../../doc/make.info, produced by makeinfo version 4.6 from
    2 ../../doc/make.texi.
     1This is make.info, produced by makeinfo version 4.8 from make.texi.
     2
     3   This file documents the GNU `make' utility, which determines
     4automatically which pieces of a large program need to be recompiled,
     5and issues the commands to recompile them.
     6
     7   This is Edition 0.70, last updated 1 April 2006, of `The GNU Make
     8Manual', for GNU `make' version 3.81.
     9
     10   Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
     111997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006 Free Software
     12Foundation, Inc.
     13
     14     Permission is granted to copy, distribute and/or modify this
     15     document under the terms of the GNU Free Documentation License,
     16     Version 1.2 or any later version published by the Free Software
     17     Foundation; with no Invariant Sections, with the Front-Cover Texts
     18     being "A GNU Manual," and with the Back-Cover Texts as in (a)
     19     below.  A copy of the license is included in the section entitled
     20     "GNU Free Documentation License."
     21
     22     (a) The FSF's Back-Cover Text is: "You have freedom to copy and
     23     modify this GNU Manual, like GNU software.  Copies published by
     24     the Free Software Foundation raise funds for GNU development."
    325
    426INFO-DIR-SECTION GNU Packages
     
    729END-INFO-DIR-ENTRY
    830
    9    This file documents the GNU Make utility, which determines
    10 automatically which pieces of a large program need to be recompiled,
    11 and issues the commands to recompile them.
    12 
    13    This is Edition 0.61, last updated 02 May 2003, of `The GNU Make
    14 Manual', for `make', Version 3.81.
    15 
    16    Copyright 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
    17 1998, 1999, 2000, 2002, 2003, 2004 Free Software Foundation, Inc.
    18 
    19    Permission is granted to copy, distribute and/or modify this document
    20 under the terms of the GNU Free Documentation License, Version 1.1 or
    21 any later version published by the Free Software Foundation; with no
    22 Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
    23 Texts.  A copy of the license is included in the section entitled "GNU
    24 Free Documentation License".
     31
     32File: make.info,  Node: Pattern Rules,  Next: Last Resort,  Prev: Chained Rules,  Up: Implicit Rules
     33
     3410.5 Defining and Redefining Pattern Rules
     35==========================================
     36
     37You define an implicit rule by writing a "pattern rule".  A pattern
     38rule looks like an ordinary rule, except that its target contains the
     39character `%' (exactly one of them).  The target is considered a
     40pattern for matching file names; the `%' can match any nonempty
     41substring, while other characters match only themselves.  The
     42prerequisites likewise use `%' to show how their names relate to the
     43target name.
     44
     45   Thus, a pattern rule `%.o : %.c' says how to make any file `STEM.o'
     46from another file `STEM.c'.
     47
     48   Note that expansion using `%' in pattern rules occurs *after* any
     49variable or function expansions, which take place when the makefile is
     50read.  *Note How to Use Variables: Using Variables, and *Note Functions
     51for Transforming Text: Functions.
     52
     53* Menu:
     54
     55* Pattern Intro::               An introduction to pattern rules.
     56* Pattern Examples::            Examples of pattern rules.
     57* Automatic Variables::         How to use automatic variables in the
     58                                  commands of implicit rules.
     59* Pattern Match::               How patterns match.
     60* Match-Anything Rules::        Precautions you should take prior to
     61                                  defining rules that can match any
     62                                  target file whatever.
     63* Canceling Rules::             How to override or cancel built-in rules.
     64
     65
     66File: make.info,  Node: Pattern Intro,  Next: Pattern Examples,  Prev: Pattern Rules,  Up: Pattern Rules
     67
     6810.5.1 Introduction to Pattern Rules
     69------------------------------------
     70
     71A pattern rule contains the character `%' (exactly one of them) in the
     72target; otherwise, it looks exactly like an ordinary rule.  The target
     73is a pattern for matching file names; the `%' matches any nonempty
     74substring, while other characters match only themselves. 
     75
     76   For example, `%.c' as a pattern matches any file name that ends in
     77`.c'.  `s.%.c' as a pattern matches any file name that starts with
     78`s.', ends in `.c' and is at least five characters long.  (There must
     79be at least one character to match the `%'.)  The substring that the
     80`%' matches is called the "stem".
     81
     82   `%' in a prerequisite of a pattern rule stands for the same stem
     83that was matched by the `%' in the target.  In order for the pattern
     84rule to apply, its target pattern must match the file name under
     85consideration and all of its prerequisites (after pattern substitution)
     86must name files that exist or can be made.  These files become
     87prerequisites of the target. 
     88
     89   Thus, a rule of the form
     90
     91     %.o : %.c ; COMMAND...
     92
     93specifies how to make a file `N.o', with another file `N.c' as its
     94prerequisite, provided that `N.c' exists or can be made.
     95
     96   There may also be prerequisites that do not use `%'; such a
     97prerequisite attaches to every file made by this pattern rule.  These
     98unvarying prerequisites are useful occasionally.
     99
     100   A pattern rule need not have any prerequisites that contain `%', or
     101in fact any prerequisites at all.  Such a rule is effectively a general
     102wildcard.  It provides a way to make any file that matches the target
     103pattern.  *Note Last Resort::.
     104
     105   Pattern rules may have more than one target.  Unlike normal rules,
     106this does not act as many different rules with the same prerequisites
     107and commands.  If a pattern rule has multiple targets, `make' knows that
     108the rule's commands are responsible for making all of the targets.  The
     109commands are executed only once to make all the targets.  When searching
     110for a pattern rule to match a target, the target patterns of a rule
     111other than the one that matches the target in need of a rule are
     112incidental: `make' worries only about giving commands and prerequisites
     113to the file presently in question.  However, when this file's commands
     114are run, the other targets are marked as having been updated themselves. 
     115
     116   The order in which pattern rules appear in the makefile is important
     117since this is the order in which they are considered.  Of equally
     118applicable rules, only the first one found is used.  The rules you
     119write take precedence over those that are built in.  Note however, that
     120a rule whose prerequisites actually exist or are mentioned always takes
     121priority over a rule with prerequisites that must be made by chaining
     122other implicit rules. 
     123
     124
     125File: make.info,  Node: Pattern Examples,  Next: Automatic Variables,  Prev: Pattern Intro,  Up: Pattern Rules
     126
     12710.5.2 Pattern Rule Examples
     128----------------------------
     129
     130Here are some examples of pattern rules actually predefined in `make'.
     131First, the rule that compiles `.c' files into `.o' files:
     132
     133     %.o : %.c
     134             $(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
     135
     136defines a rule that can make any file `X.o' from `X.c'.  The command
     137uses the automatic variables `$@' and `$<' to substitute the names of
     138the target file and the source file in each case where the rule applies
     139(*note Automatic Variables::).
     140
     141   Here is a second built-in rule:
     142
     143     % :: RCS/%,v
     144             $(CO) $(COFLAGS) $<
     145
     146defines a rule that can make any file `X' whatsoever from a
     147corresponding file `X,v' in the subdirectory `RCS'.  Since the target
     148is `%', this rule will apply to any file whatever, provided the
     149appropriate prerequisite file exists.  The double colon makes the rule
     150"terminal", which means that its prerequisite may not be an intermediate
     151file (*note Match-Anything Pattern Rules: Match-Anything Rules.).
     152
     153   This pattern rule has two targets:
     154
     155     %.tab.c %.tab.h: %.y
     156             bison -d $<
     157
     158This tells `make' that the command `bison -d X.y' will make both
     159`X.tab.c' and `X.tab.h'.  If the file `foo' depends on the files
     160`parse.tab.o' and `scan.o' and the file `scan.o' depends on the file
     161`parse.tab.h', when `parse.y' is changed, the command `bison -d parse.y'
     162will be executed only once, and the prerequisites of both `parse.tab.o'
     163and `scan.o' will be satisfied.  (Presumably the file `parse.tab.o'
     164will be recompiled from `parse.tab.c' and the file `scan.o' from
     165`scan.c', while `foo' is linked from `parse.tab.o', `scan.o', and its
     166other prerequisites, and it will execute happily ever after.)
     167
     168
     169File: make.info,  Node: Automatic Variables,  Next: Pattern Match,  Prev: Pattern Examples,  Up: Pattern Rules
     170
     17110.5.3 Automatic Variables
     172--------------------------
     173
     174Suppose you are writing a pattern rule to compile a `.c' file into a
     175`.o' file: how do you write the `cc' command so that it operates on the
     176right source file name?  You cannot write the name in the command,
     177because the name is different each time the implicit rule is applied.
     178
     179   What you do is use a special feature of `make', the "automatic
     180variables".  These variables have values computed afresh for each rule
     181that is executed, based on the target and prerequisites of the rule.
     182In this example, you would use `$@' for the object file name and `$<'
     183for the source file name.
     184
     185   It's very important that you recognize the limited scope in which
     186automatic variable values are available: they only have values within
     187the command script.  In particular, you cannot use them anywhere within
     188the target list of a rule; they have no value there and will expand to
     189the empty string.  Also, they cannot be accessed directly within the
     190prerequisite list of a rule.  A common mistake is attempting to use
     191`$@' within the prerequisites list; this will not work.  However, there
     192is a special feature of GNU `make', secondary expansion (*note
     193Secondary Expansion::), which will allow automatic variable values to
     194be used in prerequisite lists.
     195
     196   Here is a table of automatic variables:
     197
     198`$@'
     199     The file name of the target of the rule.  If the target is an
     200     archive member, then `$@' is the name of the archive file.  In a
     201     pattern rule that has multiple targets (*note Introduction to
     202     Pattern Rules: Pattern Intro.), `$@' is the name of whichever
     203     target caused the rule's commands to be run.
     204
     205`$%'
     206     The target member name, when the target is an archive member.
     207     *Note Archives::.  For example, if the target is `foo.a(bar.o)'
     208     then `$%' is `bar.o' and `$@' is `foo.a'.  `$%' is empty when the
     209     target is not an archive member.
     210
     211`$<'
     212     The name of the first prerequisite.  If the target got its
     213     commands from an implicit rule, this will be the first
     214     prerequisite added by the implicit rule (*note Implicit Rules::).
     215
     216`$?'
     217     The names of all the prerequisites that are newer than the target,
     218     with spaces between them.  For prerequisites which are archive
     219     members, only the member named is used (*note Archives::). 
     220
     221`$^'
     222     The names of all the prerequisites, with spaces between them.  For
     223     prerequisites which are archive members, only the member named is
     224     used (*note Archives::).  A target has only one prerequisite on
     225     each other file it depends on, no matter how many times each file
     226     is listed as a prerequisite.  So if you list a prerequisite more
     227     than once for a target, the value of `$^' contains just one copy
     228     of the name.  This list does *not* contain any of the order-only
     229     prerequisites; for those see the `$|' variable, below. 
     230
     231`$+'
     232     This is like `$^', but prerequisites listed more than once are
     233     duplicated in the order they were listed in the makefile.  This is
     234     primarily useful for use in linking commands where it is
     235     meaningful to repeat library file names in a particular order.
     236
     237`$|'
     238     The names of all the order-only prerequisites, with spaces between
     239     them.
     240
     241`$*'
     242     The stem with which an implicit rule matches (*note How Patterns
     243     Match: Pattern Match.).  If the target is `dir/a.foo.b' and the
     244     target pattern is `a.%.b' then the stem is `dir/foo'.  The stem is
     245     useful for constructing names of related files. 
     246
     247     In a static pattern rule, the stem is part of the file name that
     248     matched the `%' in the target pattern.
     249
     250     In an explicit rule, there is no stem; so `$*' cannot be determined
     251     in that way.  Instead, if the target name ends with a recognized
     252     suffix (*note Old-Fashioned Suffix Rules: Suffix Rules.), `$*' is
     253     set to the target name minus the suffix.  For example, if the
     254     target name is `foo.c', then `$*' is set to `foo', since `.c' is a
     255     suffix.  GNU `make' does this bizarre thing only for compatibility
     256     with other implementations of `make'.  You should generally avoid
     257     using `$*' except in implicit rules or static pattern rules.
     258
     259     If the target name in an explicit rule does not end with a
     260     recognized suffix, `$*' is set to the empty string for that rule.
     261
     262   `$?' is useful even in explicit rules when you wish to operate on
     263only the prerequisites that have changed.  For example, suppose that an
     264archive named `lib' is supposed to contain copies of several object
     265files.  This rule copies just the changed object files into the archive:
     266
     267     lib: foo.o bar.o lose.o win.o
     268             ar r lib $?
     269
     270   Of the variables listed above, four have values that are single file
     271names, and three have values that are lists of file names.  These seven
     272have variants that get just the file's directory name or just the file
     273name within the directory.  The variant variables' names are formed by
     274appending `D' or `F', respectively.  These variants are semi-obsolete
     275in GNU `make' since the functions `dir' and `notdir' can be used to get
     276a similar effect (*note Functions for File Names: File Name
     277Functions.).  Note, however, that the `D' variants all omit the
     278trailing slash which always appears in the output of the `dir'
     279function.  Here is a table of the variants:
     280
     281`$(@D)'
     282     The directory part of the file name of the target, with the
     283     trailing slash removed.  If the value of `$@' is `dir/foo.o' then
     284     `$(@D)' is `dir'.  This value is `.' if `$@' does not contain a
     285     slash.
     286
     287`$(@F)'
     288     The file-within-directory part of the file name of the target.  If
     289     the value of `$@' is `dir/foo.o' then `$(@F)' is `foo.o'.  `$(@F)'
     290     is equivalent to `$(notdir $@)'.
     291
     292`$(*D)'
     293`$(*F)'
     294     The directory part and the file-within-directory part of the stem;
     295     `dir' and `foo' in this example.
     296
     297`$(%D)'
     298`$(%F)'
     299     The directory part and the file-within-directory part of the target
     300     archive member name.  This makes sense only for archive member
     301     targets of the form `ARCHIVE(MEMBER)' and is useful only when
     302     MEMBER may contain a directory name.  (*Note Archive Members as
     303     Targets: Archive Members.)
     304
     305`$(<D)'
     306`$(<F)'
     307     The directory part and the file-within-directory part of the first
     308     prerequisite.
     309
     310`$(^D)'
     311`$(^F)'
     312     Lists of the directory parts and the file-within-directory parts
     313     of all prerequisites.
     314
     315`$(+D)'
     316`$(+F)'
     317     Lists of the directory parts and the file-within-directory parts
     318     of all prerequisites, including multiple instances of duplicated
     319     prerequisites.
     320
     321`$(?D)'
     322`$(?F)'
     323     Lists of the directory parts and the file-within-directory parts of
     324     all prerequisites that are newer than the target.
     325
     326   Note that we use a special stylistic convention when we talk about
     327these automatic variables; we write "the value of `$<'", rather than
     328"the variable `<'" as we would write for ordinary variables such as
     329`objects' and `CFLAGS'.  We think this convention looks more natural in
     330this special case.  Please do not assume it has a deep significance;
     331`$<' refers to the variable named `<' just as `$(CFLAGS)' refers to the
     332variable named `CFLAGS'.  You could just as well use `$(<)' in place of
     333`$<'.
     334
     335
     336File: make.info,  Node: Pattern Match,  Next: Match-Anything Rules,  Prev: Automatic Variables,  Up: Pattern Rules
     337
     33810.5.4 How Patterns Match
     339-------------------------
     340
     341A target pattern is composed of a `%' between a prefix and a suffix,
     342either or both of which may be empty.  The pattern matches a file name
     343only if the file name starts with the prefix and ends with the suffix,
     344without overlap.  The text between the prefix and the suffix is called
     345the "stem".  Thus, when the pattern `%.o' matches the file name
     346`test.o', the stem is `test'.  The pattern rule prerequisites are
     347turned into actual file names by substituting the stem for the character
     348`%'.  Thus, if in the same example one of the prerequisites is written
     349as `%.c', it expands to `test.c'.
     350
     351   When the target pattern does not contain a slash (and it usually does
     352not), directory names in the file names are removed from the file name
     353before it is compared with the target prefix and suffix.  After the
     354comparison of the file name to the target pattern, the directory names,
     355along with the slash that ends them, are added on to the prerequisite
     356file names generated from the pattern rule's prerequisite patterns and
     357the file name.  The directories are ignored only for the purpose of
     358finding an implicit rule to use, not in the application of that rule.
     359Thus, `e%t' matches the file name `src/eat', with `src/a' as the stem.
     360When prerequisites are turned into file names, the directories from the
     361stem are added at the front, while the rest of the stem is substituted
     362for the `%'.  The stem `src/a' with a prerequisite pattern `c%r' gives
     363the file name `src/car'.
     364
     365
     366File: make.info,  Node: Match-Anything Rules,  Next: Canceling Rules,  Prev: Pattern Match,  Up: Pattern Rules
     367
     36810.5.5 Match-Anything Pattern Rules
     369-----------------------------------
     370
     371When a pattern rule's target is just `%', it matches any file name
     372whatever.  We call these rules "match-anything" rules.  They are very
     373useful, but it can take a lot of time for `make' to think about them,
     374because it must consider every such rule for each file name listed
     375either as a target or as a prerequisite.
     376
     377   Suppose the makefile mentions `foo.c'.  For this target, `make'
     378would have to consider making it by linking an object file `foo.c.o',
     379or by C compilation-and-linking in one step from `foo.c.c', or by
     380Pascal compilation-and-linking from `foo.c.p', and many other
     381possibilities.
     382
     383   We know these possibilities are ridiculous since `foo.c' is a C
     384source file, not an executable.  If `make' did consider these
     385possibilities, it would ultimately reject them, because files such as
     386`foo.c.o' and `foo.c.p' would not exist.  But these possibilities are so
     387numerous that `make' would run very slowly if it had to consider them.
     388
     389   To gain speed, we have put various constraints on the way `make'
     390considers match-anything rules.  There are two different constraints
     391that can be applied, and each time you define a match-anything rule you
     392must choose one or the other for that rule.
     393
     394   One choice is to mark the match-anything rule as "terminal" by
     395defining it with a double colon.  When a rule is terminal, it does not
     396apply unless its prerequisites actually exist.  Prerequisites that
     397could be made with other implicit rules are not good enough.  In other
     398words, no further chaining is allowed beyond a terminal rule.
     399
     400   For example, the built-in implicit rules for extracting sources from
     401RCS and SCCS files are terminal; as a result, if the file `foo.c,v' does
     402not exist, `make' will not even consider trying to make it as an
     403intermediate file from `foo.c,v.o' or from `RCS/SCCS/s.foo.c,v'.  RCS
     404and SCCS files are generally ultimate source files, which should not be
     405remade from any other files; therefore, `make' can save time by not
     406looking for ways to remake them.
     407
     408   If you do not mark the match-anything rule as terminal, then it is
     409nonterminal.  A nonterminal match-anything rule cannot apply to a file
     410name that indicates a specific type of data.  A file name indicates a
     411specific type of data if some non-match-anything implicit rule target
     412matches it.
     413
     414   For example, the file name `foo.c' matches the target for the pattern
     415rule `%.c : %.y' (the rule to run Yacc).  Regardless of whether this
     416rule is actually applicable (which happens only if there is a file
     417`foo.y'), the fact that its target matches is enough to prevent
     418consideration of any nonterminal match-anything rules for the file
     419`foo.c'.  Thus, `make' will not even consider trying to make `foo.c' as
     420an executable file from `foo.c.o', `foo.c.c', `foo.c.p', etc.
     421
     422   The motivation for this constraint is that nonterminal match-anything
     423rules are used for making files containing specific types of data (such
     424as executable files) and a file name with a recognized suffix indicates
     425some other specific type of data (such as a C source file).
     426
     427   Special built-in dummy pattern rules are provided solely to recognize
     428certain file names so that nonterminal match-anything rules will not be
     429considered.  These dummy rules have no prerequisites and no commands,
     430and they are ignored for all other purposes.  For example, the built-in
     431implicit rule
     432
     433     %.p :
     434
     435exists to make sure that Pascal source files such as `foo.p' match a
     436specific target pattern and thereby prevent time from being wasted
     437looking for `foo.p.o' or `foo.p.c'.
     438
     439   Dummy pattern rules such as the one for `%.p' are made for every
     440suffix listed as valid for use in suffix rules (*note Old-Fashioned
     441Suffix Rules: Suffix Rules.).
     442
     443
     444File: make.info,  Node: Canceling Rules,  Prev: Match-Anything Rules,  Up: Pattern Rules
     445
     44610.5.6 Canceling Implicit Rules
     447-------------------------------
     448
     449You can override a built-in implicit rule (or one you have defined
     450yourself) by defining a new pattern rule with the same target and
     451prerequisites, but different commands.  When the new rule is defined,
     452the built-in one is replaced.  The new rule's position in the sequence
     453of implicit rules is determined by where you write the new rule.
     454
     455   You can cancel a built-in implicit rule by defining a pattern rule
     456with the same target and prerequisites, but no commands.  For example,
     457the following would cancel the rule that runs the assembler:
     458
     459     %.o : %.s
     460
     461
     462File: make.info,  Node: Last Resort,  Next: Suffix Rules,  Prev: Pattern Rules,  Up: Implicit Rules
     463
     46410.6 Defining Last-Resort Default Rules
     465=======================================
     466
     467You can define a last-resort implicit rule by writing a terminal
     468match-anything pattern rule with no prerequisites (*note Match-Anything
     469Rules::).  This is just like any other pattern rule; the only thing
     470special about it is that it will match any target.  So such a rule's
     471commands are used for all targets and prerequisites that have no
     472commands of their own and for which no other implicit rule applies.
     473
     474   For example, when testing a makefile, you might not care if the
     475source files contain real data, only that they exist.  Then you might
     476do this:
     477
     478     %::
     479             touch $@
     480
     481to cause all the source files needed (as prerequisites) to be created
     482automatically.
     483
     484   You can instead define commands to be used for targets for which
     485there are no rules at all, even ones which don't specify commands.  You
     486do this by writing a rule for the target `.DEFAULT'.  Such a rule's
     487commands are used for all prerequisites which do not appear as targets
     488in any explicit rule, and for which no implicit rule applies.
     489Naturally, there is no `.DEFAULT' rule unless you write one.
     490
     491   If you use `.DEFAULT' with no commands or prerequisites:
     492
     493     .DEFAULT:
     494
     495the commands previously stored for `.DEFAULT' are cleared.  Then `make'
     496acts as if you had never defined `.DEFAULT' at all.
     497
     498   If you do not want a target to get the commands from a match-anything
     499pattern rule or `.DEFAULT', but you also do not want any commands to be
     500run for the target, you can give it empty commands (*note Defining
     501Empty Commands: Empty Commands.).
     502
     503   You can use a last-resort rule to override part of another makefile.
     504*Note Overriding Part of Another Makefile: Overriding Makefiles.
     505
     506
     507File: make.info,  Node: Suffix Rules,  Next: Implicit Rule Search,  Prev: Last Resort,  Up: Implicit Rules
     508
     50910.7 Old-Fashioned Suffix Rules
     510===============================
     511
     512"Suffix rules" are the old-fashioned way of defining implicit rules for
     513`make'.  Suffix rules are obsolete because pattern rules are more
     514general and clearer.  They are supported in GNU `make' for
     515compatibility with old makefiles.  They come in two kinds:
     516"double-suffix" and "single-suffix".
     517
     518   A double-suffix rule is defined by a pair of suffixes: the target
     519suffix and the source suffix.  It matches any file whose name ends with
     520the target suffix.  The corresponding implicit prerequisite is made by
     521replacing the target suffix with the source suffix in the file name.  A
     522two-suffix rule whose target and source suffixes are `.o' and `.c' is
     523equivalent to the pattern rule `%.o : %.c'.
     524
     525   A single-suffix rule is defined by a single suffix, which is the
     526source suffix.  It matches any file name, and the corresponding implicit
     527prerequisite name is made by appending the source suffix.  A
     528single-suffix rule whose source suffix is `.c' is equivalent to the
     529pattern rule `% : %.c'.
     530
     531   Suffix rule definitions are recognized by comparing each rule's
     532target against a defined list of known suffixes.  When `make' sees a
     533rule whose target is a known suffix, this rule is considered a
     534single-suffix rule.  When `make' sees a rule whose target is two known
     535suffixes concatenated, this rule is taken as a double-suffix rule.
     536
     537   For example, `.c' and `.o' are both on the default list of known
     538suffixes.  Therefore, if you define a rule whose target is `.c.o',
     539`make' takes it to be a double-suffix rule with source suffix `.c' and
     540target suffix `.o'.  Here is the old-fashioned way to define the rule
     541for compiling a C source file:
     542
     543     .c.o:
     544             $(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<
     545
     546   Suffix rules cannot have any prerequisites of their own.  If they
     547have any, they are treated as normal files with funny names, not as
     548suffix rules.  Thus, the rule:
     549
     550     .c.o: foo.h
     551             $(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<
     552
     553tells how to make the file `.c.o' from the prerequisite file `foo.h',
     554and is not at all like the pattern rule:
     555
     556     %.o: %.c foo.h
     557             $(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<
     558
     559which tells how to make `.o' files from `.c' files, and makes all `.o'
     560files using this pattern rule also depend on `foo.h'.
     561
     562   Suffix rules with no commands are also meaningless.  They do not
     563remove previous rules as do pattern rules with no commands (*note
     564Canceling Implicit Rules: Canceling Rules.).  They simply enter the
     565suffix or pair of suffixes concatenated as a target in the data base.
     566
     567   The known suffixes are simply the names of the prerequisites of the
     568special target `.SUFFIXES'.  You can add your own suffixes by writing a
     569rule for `.SUFFIXES' that adds more prerequisites, as in:
     570
     571     .SUFFIXES: .hack .win
     572
     573which adds `.hack' and `.win' to the end of the list of suffixes.
     574
     575   If you wish to eliminate the default known suffixes instead of just
     576adding to them, write a rule for `.SUFFIXES' with no prerequisites.  By
     577special dispensation, this eliminates all existing prerequisites of
     578`.SUFFIXES'.  You can then write another rule to add the suffixes you
     579want.  For example,
     580
     581     .SUFFIXES:            # Delete the default suffixes
     582     .SUFFIXES: .c .o .h   # Define our suffix list
     583
     584   The `-r' or `--no-builtin-rules' flag causes the default list of
     585suffixes to be empty.
     586
     587   The variable `SUFFIXES' is defined to the default list of suffixes
     588before `make' reads any makefiles.  You can change the list of suffixes
     589with a rule for the special target `.SUFFIXES', but that does not alter
     590this variable.
    25591
    26592
    27593File: make.info,  Node: Implicit Rule Search,  Prev: Suffix Rules,  Up: Implicit Rules
    28594
    29 Implicit Rule Search Algorithm
    30 ==============================
     59510.8 Implicit Rule Search Algorithm
     596===================================
    31597
    32598Here is the procedure `make' uses for searching for an implicit rule
     
    110676File: make.info,  Node: Archives,  Next: Features,  Prev: Implicit Rules,  Up: Top
    111677
    112 Using `make' to Update Archive Files
    113 ************************************
     67811 Using `make' to Update Archive Files
     679***************************************
    114680
    115681"Archive files" are files containing named subfiles called "members";
     
    128694File: make.info,  Node: Archive Members,  Next: Archive Update,  Prev: Archives,  Up: Archives
    129695
    130 Archive Members as Targets
    131 ==========================
     69611.1 Archive Members as Targets
     697===============================
    132698
    133699An individual member of an archive file can be used as a target or
     
    149715
    150716   In fact, nearly all archive member targets are updated in just this
    151 way and there is an implicit rule to do it for you.  *Note:* The `c'
    152 flag to `ar' is required if the archive file does not already exist.
     717way and there is an implicit rule to do it for you.  *Please note:* The
     718`c' flag to `ar' is required if the archive file does not already exist.
    153719
    154720   To specify several members in the same archive, you can write all the
     
    170736File: make.info,  Node: Archive Update,  Next: Archive Pitfalls,  Prev: Archive Members,  Up: Archives
    171737
    172 Implicit Rule for Archive Member Targets
    173 ========================================
     73811.2 Implicit Rule for Archive Member Targets
     739=============================================
    174740
    175741Recall that a target that looks like `A(M)' stands for the member named
     
    220786File: make.info,  Node: Archive Symbols,  Prev: Archive Update,  Up: Archive Update
    221787
    222 Updating Archive Symbol Directories
    223 -----------------------------------
     78811.2.1 Updating Archive Symbol Directories
     789------------------------------------------
    224790
    225791An archive file that is used as a library usually contains a special
     
    251817File: make.info,  Node: Archive Pitfalls,  Next: Archive Suffix Rules,  Prev: Archive Update,  Up: Archives
    252818
    253 Dangers When Using Archives
    254 ===========================
     81911.3 Dangers When Using Archives
     820================================
    255821
    256822It is important to be careful when using parallel execution (the `-j'
     
    267833File: make.info,  Node: Archive Suffix Rules,  Prev: Archive Pitfalls,  Up: Archives
    268834
    269 Suffix Rules for Archive Files
    270 ==============================
     83511.4 Suffix Rules for Archive Files
     836===================================
    271837
    272838You can write a special kind of suffix rule for dealing with archive
     
    306872File: make.info,  Node: Features,  Next: Missing,  Prev: Archives,  Up: Top
    307873
    308 Features of GNU `make'
    309 **********************
     87412 Features of GNU `make'
     875*************************
    310876
    311877Here is a summary of the features of GNU `make', for comparison with
     
    5001066
    5011067   * The built-in variable `MAKE_VERSION' gives the version number of
    502      `make'.
     1068     `make'. 
    5031069
    5041070
    5051071File: make.info,  Node: Missing,  Next: Makefile Conventions,  Prev: Features,  Up: Top
    5061072
    507 Incompatibilities and Missing Features
    508 **************************************
     107313 Incompatibilities and Missing Features
     1074*****************************************
    5091075
    5101076The `make' programs in various other systems support a few features
     
    5461112     imagine what went on in the minds of Unix `make' developers to do
    5471113     this; it is utterly inconsistent with the normal definition of
    548      `$*'.
     1114     `$*'. 
    5491115
    5501116   * In some Unix `make's, implicit rule search (*note Using Implicit
     
    5901156File: make.info,  Node: Makefile Conventions,  Next: Quick Reference,  Prev: Missing,  Up: Top
    5911157
    592 Makefile Conventions
    593 ********************
     115814 Makefile Conventions
     1159***********************
    5941160
    5951161This node describes conventions for writing the Makefiles for GNU
     
    6101176File: make.info,  Node: Makefile Basics,  Next: Utilities in Makefiles,  Up: Makefile Conventions
    6111177
    612 General Conventions for Makefiles
    613 =================================
     117814.1 General Conventions for Makefiles
     1179======================================
    6141180
    6151181Every Makefile should contain this line:
     
    6901256File: make.info,  Node: Utilities in Makefiles,  Next: Command Variables,  Prev: Makefile Basics,  Up: Makefile Conventions
    6911257
    692 Utilities in Makefiles
    693 ======================
     125814.2 Utilities in Makefiles
     1259===========================
    6941260
    6951261Write the Makefile commands (and any shell scripts, such as
     
    7451311File: make.info,  Node: Command Variables,  Next: Directory Variables,  Prev: Utilities in Makefiles,  Up: Makefile Conventions
    7461312
    747 Variables for Specifying Commands
    748 =================================
     131314.3 Variables for Specifying Commands
     1314======================================
    7491315
    7501316Makefiles should provide variables for overriding certain commands,
     
    8251391File: make.info,  Node: Directory Variables,  Next: Standard Targets,  Prev: Command Variables,  Up: Makefile Conventions
    8261392
    827 Variables for Installation Directories
    828 ======================================
     139314.4 Variables for Installation Directories
     1394===========================================
    8291395
    8301396Installation directories should always be named by variables, so it is
    8311397easy to install in a nonstandard place.  The standard names for these
    832 variables are described below.  They are based on a standard filesystem
    833 layout; variants of it are used in SVR4, 4.4BSD, GNU/Linux, Ultrix v4,
    834 and other modern operating systems.
     1398variables and the values they should have in GNU packages are described
     1399below.  They are based on a standard filesystem layout; variants of it
     1400are used in GNU/Linux and other modern operating systems.
     1401
     1402   Installers are expected to override these values when calling `make'
     1403(e.g., `make prefix=/usr install' or `configure' (e.g., `configure
     1404--prefix=/usr').  GNU packages should not try to guess which value
     1405should be appropriate for these variables on the system they are being
     1406installed onto: use the default settings specified here so that all GNU
     1407packages behave identically, allowing the installer to achieve any
     1408desired layout.
    8351409
    8361410   These two variables set the root for the installation.  All the other
     
    8851459     (If you are using Autoconf, write it as `@libexecdir@'.)
    8861460
     1461     The definition of `libexecdir' is the same for all packages, so
     1462     you should install your data in a subdirectory thereof.  Most
     1463     packages install their data under `$(libexecdir)/PACKAGE-NAME/',
     1464     possibly within additional subdirectories thereof, such as
     1465     `$(libexecdir)/PACKAGE-NAME/MACHINE/VERSION'.
     1466
    8871467   Data files used by the program during its execution are divided into
    8881468categories in two ways.
     
    9011481architecture-independent, and it is generally not hard.
    9021482
    903    Therefore, here are the variables Makefiles should use to specify
    904 directories:
     1483   Here are the variables Makefiles should use to specify directories
     1484to put these various kinds of files in:
     1485
     1486`datarootdir'
     1487     The root of the directory tree for read-only
     1488     architecture-independent data files.  This should normally be
     1489     `/usr/local/share', but write it as `$(prefix)/share'.  (If you
     1490     are using Autoconf, write it as `@datarootdir@'.)  `datadir''s
     1491     default value is based on this variable; so are `infodir',
     1492     `mandir', and others.
    9051493
    9061494`datadir'
    907      The directory for installing read-only architecture independent
    908      data files.  This should normally be `/usr/local/share', but write
    909      it as `$(prefix)/share'.  (If you are using Autoconf, write it as
    910      `@datadir@'.)  As a special exception, see `$(infodir)' and
    911      `$(includedir)' below.
     1495     The directory for installing idiosyncratic read-only
     1496     architecture-independent data files for this program.  This is
     1497     usually the same place as `datarootdir', but we use the two
     1498     separate variables so that you can move these program-specific
     1499     files without altering the location for Info files, man pages, etc.
     1500
     1501     This should normally be `/usr/local/share', but write it as
     1502     `$(datarootdir)'.  (If you are using Autoconf, write it as
     1503     `@datadir@'.)
     1504
     1505     The definition of `datadir' is the same for all packages, so you
     1506     should install your data in a subdirectory thereof.  Most packages
     1507     install their data under `$(datadir)/PACKAGE-NAME/'.
    9121508
    9131509`sysconfdir'
     
    9421538     `@localstatedir@'.)
    9431539
    944 `libdir'
    945      The directory for object files and libraries of object code.  Do
    946      not install executables here, they probably ought to go in
    947      `$(libexecdir)' instead.  The value of `libdir' should normally be
    948      `/usr/local/lib', but write it as `$(exec_prefix)/lib'.  (If you
    949      are using Autoconf, write it as `@libdir@'.)
    950 
    951 `infodir'
    952      The directory for installing the Info files for this package.  By
    953      default, it should be `/usr/local/info', but it should be written
    954      as `$(prefix)/info'.  (If you are using Autoconf, write it as
    955      `@infodir@'.)
    956 
    957 `lispdir'
    958      The directory for installing any Emacs Lisp files in this package.
    959      By default, it should be `/usr/local/share/emacs/site-lisp', but
    960      it should be written as `$(prefix)/share/emacs/site-lisp'.
    961 
    962      If you are using Autoconf, write the default as `@lispdir@'.  In
    963      order to make `@lispdir@' work, you need the following lines in
    964      your `configure.in' file:
    965 
    966           lispdir='${datadir}/emacs/site-lisp'
    967           AC_SUBST(lispdir)
     1540   These variables specify the directory for installing certain specific
     1541types of files, if your program has them.  Every GNU package should
     1542have Info files, so every program needs `infodir', but not all need
     1543`libdir' or `lispdir'.
    9681544
    9691545`includedir'
     
    10011577     string in the file--part of a comment--and `grep' for that string.
    10021578
     1579`docdir'
     1580     The directory for installing documentation files (other than Info)
     1581     for this package.  By default, it should be
     1582     `/usr/local/share/doc/YOURPKG', but it should be written as
     1583     `$(datarootdir)/doc/YOURPKG'.  (If you are using Autoconf, write
     1584     it as `@docdir@'.)  The YOURPKG subdirectory, which may include a
     1585     version number, prevents collisions among files with common names,
     1586     such as `README'.
     1587
     1588`infodir'
     1589     The directory for installing the Info files for this package.  By
     1590     default, it should be `/usr/local/share/info', but it should be
     1591     written as `$(datarootdir)/info'.  (If you are using Autoconf,
     1592     write it as `@infodir@'.)  `infodir' is separate from `docdir' for
     1593     compatibility with existing practice.
     1594
     1595`htmldir'
     1596`dvidir'
     1597`pdfdir'
     1598`psdir'
     1599     Directories for installing documentation files in the particular
     1600     format.  (It is not required to support documentation in all these
     1601     formats.)  They should all be set to `$(docdir)' by default.  (If
     1602     you are using Autoconf, write them as `@htmldir@', `@dvidir@',
     1603     etc.)  Packages which supply several translations of their
     1604     documentation should install them in `$(htmldir)/'LL,
     1605     `$(pdfdir)/'LL, etc. where LL is a locale abbreviation such as
     1606     `en' or `pt_BR'.
     1607
     1608`libdir'
     1609     The directory for object files and libraries of object code.  Do
     1610     not install executables here, they probably ought to go in
     1611     `$(libexecdir)' instead.  The value of `libdir' should normally be
     1612     `/usr/local/lib', but write it as `$(exec_prefix)/lib'.  (If you
     1613     are using Autoconf, write it as `@libdir@'.)
     1614
     1615`lispdir'
     1616     The directory for installing any Emacs Lisp files in this package.
     1617     By default, it should be `/usr/local/share/emacs/site-lisp', but
     1618     it should be written as `$(datarootdir)/emacs/site-lisp'.
     1619
     1620     If you are using Autoconf, write the default as `@lispdir@'.  In
     1621     order to make `@lispdir@' work, you need the following lines in
     1622     your `configure.in' file:
     1623
     1624          lispdir='${datarootdir}/emacs/site-lisp'
     1625          AC_SUBST(lispdir)
     1626
     1627`localedir'
     1628     The directory for installing locale-specific message catalogs for
     1629     this package.  By default, it should be `/usr/local/share/locale',
     1630     but it should be written as `$(datarootdir)/locale'.  (If you are
     1631     using Autoconf, write it as `@localedir@'.)  This directory
     1632     usually has a subdirectory per locale.
     1633
    10031634   Unix-style man pages are installed in one of the following:
    10041635
    10051636`mandir'
    10061637     The top-level directory for installing the man pages (if any) for
    1007      this package.  It will normally be `/usr/local/man', but you should
    1008      write it as `$(prefix)/man'.  (If you are using Autoconf, write it
    1009      as `@mandir@'.)
     1638     this package.  It will normally be `/usr/local/share/man', but you
     1639     should write it as `$(datarootdir)/man'.  (If you are using
     1640     Autoconf, write it as `@mandir@'.)
    10101641
    10111642`man1dir'
     
    10501681     # NOTE: This directory must exist when you start the install.
    10511682     prefix = /usr/local
     1683     datarootdir = $(prefix)/share
     1684     datadir = $(datarootdir)
    10521685     exec_prefix = $(prefix)
    10531686     # Where to put the executable for the command `gcc'.
     
    10561689     libexecdir = $(exec_prefix)/libexec
    10571690     # Where to put the Info files.
    1058      infodir = $(prefix)/info
     1691     infodir = $(datarootdir)/info
    10591692
    10601693   If your program installs a large number of files into one of the
     
    10731706File: make.info,  Node: Standard Targets,  Next: Install Command Categories,  Prev: Directory Variables,  Up: Makefile Conventions
    10741707
    1075 Standard Targets for Users
    1076 ==========================
     170814.5 Standard Targets for Users
     1709===============================
    10771710
    10781711All GNU programs should have the following targets in their Makefiles:
     
    11431776     Categories::.
    11441777
     1778`install-html'
     1779`install-dvi'
     1780`install-pdf'
     1781`install-ps'
     1782     These targets install documentation in formats other than Info;
     1783     they're intended to be called explicitly by the person installing
     1784     the package, if that format is desired.  GNU prefers Info files,
     1785     so these must be installed by the `install' target.
     1786
     1787     When you have many documentation files to install, we recommend
     1788     that you avoid collisions and clutter by arranging for these
     1789     targets to install in subdirectories of the appropriate
     1790     installation directory, such as `htmldir'.  As one example, if
     1791     your package has multiple manuals, and you wish to install HTML
     1792     documentation with many files (such as the "split" mode output by
     1793     `makeinfo --html'), you'll certainly want to use subdirectories,
     1794     or two nodes with the same name in different manuals will
     1795     overwrite each other.
     1796
    11451797`uninstall'
    1146      Delete all the installed files--the copies that the `install'
    1147      target creates.
     1798     Delete all the installed files--the copies that the `install' and
     1799     `install-*' targets create.
    11481800
    11491801     This rule should not modify the directories where compilation is
     
    11771829
    11781830`clean'
    1179      Delete all files from the current directory that are normally
    1180      created by building the program.  Don't delete the files that
    1181      record the configuration.  Also preserve files that could be made
    1182      by building, but normally aren't because the distribution comes
    1183      with them.
     1831     Delete all files in the current directory that are normally
     1832     created by building the program.  Also delete files in other
     1833     directories if they are created by this makefile.  However, don't
     1834     delete the files that record the configuration.  Also preserve
     1835     files that could be made by building, but normally aren't because
     1836     the distribution comes with them.  There is no need to delete
     1837     parent directories that were created with `mkdir -p', since they
     1838     could have existed anyway.
    11841839
    11851840     Delete `.dvi' files here if they are not part of the distribution.
    11861841
    11871842`distclean'
    1188      Delete all files from the current directory that are created by
    1189      configuring or building the program.  If you have unpacked the
    1190      source and built the program without creating any other files,
    1191      `make distclean' should leave only the files that were in the
    1192      distribution.
     1843     Delete all files in the current directory (or created by this
     1844     makefile) that are created by configuring or building the program.
     1845     If you have unpacked the source and built the program without
     1846     creating any other files, `make distclean' should leave only the
     1847     files that were in the distribution.  However, there is no need to
     1848     delete parent directories that were created with `mkdir -p', since
     1849     they could have existed anyway.
    11931850
    11941851`mostlyclean'
     
    11991856
    12001857`maintainer-clean'
    1201      Delete almost everything from the current directory that can be
    1202      reconstructed with this Makefile.  This typically includes
    1203      everything deleted by `distclean', plus more: C source files
    1204      produced by Bison, tags tables, Info files, and so on.
     1858     Delete almost everything that can be reconstructed with this
     1859     Makefile.  This typically includes everything deleted by
     1860     `distclean', plus more: C source files produced by Bison, tags
     1861     tables, Info files, and so on.
    12051862
    12061863     The reason we say "almost everything" is that running the command
     
    12091866     generally, `make maintainer-clean' should not delete anything that
    12101867     needs to exist in order to run `configure' and then begin to build
    1211      the program.  This is the only exception; `maintainer-clean' should
     1868     the program.  Also, there is no need to delete parent directories
     1869     that were created with `mkdir -p', since they could have existed
     1870     anyway.  These are the only exceptions; `maintainer-clean' should
    12121871     delete everything else that can be rebuilt.
    12131872
     
    12341893
    12351894          info: foo.info
    1236          
     1895
    12371896          foo.info: foo.texi chap1.texi chap2.texi
    12381897                  $(MAKEINFO) $(srcdir)/foo.texi
     
    12491908
    12501909`dvi'
    1251      Generate DVI files for all Texinfo documentation.  For example:
     1910`html'
     1911`pdf'
     1912`ps'
     1913     Generate documentation files in the given format, if possible.
     1914     Here's an example rule for generating DVI files from Texinfo:
    12521915
    12531916          dvi: foo.dvi
    1254          
     1917
    12551918          foo.dvi: foo.texi chap1.texi chap2.texi
    12561919                  $(TEXI2DVI) $(srcdir)/foo.texi
     
    12601923     distribution.(1)  Alternatively, write just the dependencies, and
    12611924     allow GNU `make' to provide the command.
     1925
     1926     Here's another example, this one for generating HTML from Texinfo:
     1927
     1928          html: foo.html
     1929
     1930          foo.html: foo.texi chap1.texi chap2.texi
     1931                  $(TEXI2HTML) $(srcdir)/foo.texi
     1932
     1933     Again, you would define the variable `TEXI2HTML' in the Makefile;
     1934     for example, it might run `makeinfo --no-split --html' (`makeinfo'
     1935     is part of the Texinfo distribution).
    12621936
    12631937`dist'
     
    13302004File: make.info,  Node: Install Command Categories,  Prev: Standard Targets,  Up: Makefile Conventions
    13312005
    1332 Install Command Categories
    1333 ==========================
     200614.6 Install Command Categories
     2007===============================
    13342008
    13352009When writing the `install' target, you must classify all the commands
     
    14162090   Programs to build binary packages work by extracting the
    14172091pre-installation and post-installation commands.  Here is one way of
    1418 extracting the pre-installation commands:
    1419 
    1420      make -n install -o all \
     2092extracting the pre-installation commands (the `-s' option to `make' is
     2093needed to silence messages about entering subdirectories):
     2094
     2095     make -s -n install -o all \
    14212096           PRE_INSTALL=pre-install \
    14222097           POST_INSTALL=post-install \
     
    14262101where the file `pre-install.awk' could contain this:
    14272102
    1428      $0 ~ /^\t[ \t]*(normal_install|post_install)[ \t]*$/ {on = 0}
     2103     $0 ~ /^(normal-install|post-install)[ \t]*$/ {on = 0}
    14292104     on {print $0}
    1430      $0 ~ /^\t[ \t]*pre_install[ \t]*$/ {on = 1}
    1431 
    1432    The resulting file of pre-installation commands is executed as a
    1433 shell script as part of installing the binary package.
     2105     $0 ~ /^pre-install[ \t]*$/ {on = 1}
    14342106
    14352107
    14362108File: make.info,  Node: Quick Reference,  Next: Error Messages,  Prev: Makefile Conventions,  Up: Top
    14372109
    1438 Quick Reference
    1439 ***************
     2110Appendix A Quick Reference
     2111**************************
    14402112
    14412113This appendix summarizes the directives, text manipulation functions,
     
    15052177     directive.
    15062178
    1507    Here is a summary of the text manipulation functions (*note
    1508 Functions::):
     2179   Here is a summary of the built-in functions (*note Functions::):
    15092180
    15102181`$(subst FROM,TO,TEXT)'
     
    15432214     Functions.
    15442215
     2216`$(word N,TEXT)'
     2217     Extract the Nth word (one-origin) of TEXT.
     2218     *Note Functions for String Substitution and Analysis: Text
     2219     Functions.
     2220
     2221`$(words TEXT)'
     2222     Count the number of words in TEXT.
     2223     *Note Functions for String Substitution and Analysis: Text
     2224     Functions.
     2225
     2226`$(wordlist S,E,TEXT)'
     2227     Returns the list of words in TEXT from S to E.
     2228     *Note Functions for String Substitution and Analysis: Text
     2229     Functions.
     2230
     2231`$(firstword NAMES...)'
     2232     Extract the first word of NAMES.
     2233     *Note Functions for String Substitution and Analysis: Text
     2234     Functions.
     2235
     2236`$(lastword NAMES...)'
     2237     Extract the last word of NAMES.
     2238     *Note Functions for String Substitution and Analysis: Text
     2239     Functions.
     2240
    15452241`$(dir NAMES...)'
    15462242     Extract the directory part of each file name.
     
    15722268     *Note Functions for File Names: File Name Functions.
    15732269
    1574 `$(word N,TEXT)'
    1575      Extract the Nth word (one-origin) of TEXT.
    1576      *Note Functions for File Names: File Name Functions.
    1577 
    1578 `$(words TEXT)'
    1579      Count the number of words in TEXT.
    1580      *Note Functions for File Names: File Name Functions.
    1581 
    1582 `$(wordlist S,E,TEXT)'
    1583      Returns the list of words in TEXT from S to E.
    1584      *Note Functions for File Names: File Name Functions.
    1585 
    1586 `$(firstword NAMES...)'
    1587      Extract the first word of NAMES.
    1588      *Note Functions for File Names: File Name Functions.
    1589 
    15902270`$(wildcard PATTERN...)'
    15912271     Find file names matching a shell file name pattern (_not_ a `%'
     
    15932273     *Note The Function `wildcard': Wildcard Function.
    15942274
     2275`$(realpath NAMES...)'
     2276     For each file name in NAMES, expand to an absolute name that does
     2277     not contain any `.', `..', nor symlinks.
     2278     *Note Functions for File Names: File Name Functions.
     2279
     2280`$(abspath NAMES...)'
     2281     For each file name in NAMES, expand to an absolute name that does
     2282     not contain any `.' or `..' components, but preserves symlinks.
     2283     *Note Functions for File Names: File Name Functions.
     2284
    15952285`$(error TEXT...)'
    15962286     When this function is evaluated, `make' generates a fatal error
     
    16112301     defined.
    16122302     *Note The `origin' Function: Origin Function.
     2303
     2304`$(flavor VARIABLE)'
     2305     Return a string describing the flavor of the `make' variable
     2306     VARIABLE.
     2307     *Note The `flavor' Function: Flavor Function.
    16132308
    16142309`$(foreach VAR,WORDS,TEXT)'
     
    17022397     `/bin/sh'.  You can set `SHELL' in the makefile to change the
    17032398     shell used to run commands.  *Note Command Execution: Execution.
     2399     The `SHELL' variable is handled specially when importing from and
     2400     exporting to the environment.  *Note Choosing the Shell::.
    17042401
    17052402`MAKESHELL'
    17062403     On MS-DOS only, the name of the command interpreter that is to be
    1707      used by `make'. This value takes precedence over the value of
     2404     used by `make'.  This value takes precedence over the value of
    17082405     `SHELL'.  *Note MAKESHELL variable: Execution.
    17092406
     
    17492446File: make.info,  Node: Error Messages,  Next: Complex Makefile,  Prev: Quick Reference,  Up: Top
    17502447
    1751 Errors Generated by Make
    1752 ************************
     2448Appendix B Errors Generated by Make
     2449***********************************
    17532450
    17542451Here is a list of the more common errors you might see generated by
     
    18232520     on the command line, and `make' couldn't find any makefiles to
    18242521     read in.  The latter means that some makefile was found, but it
    1825      didn't contain any default target and none was given on the
    1826      command line.  GNU `make' has nothing to do in these situations.
    1827      *Note Arguments to Specify the Makefile: Makefile Arguments.
     2522     didn't contain any default goal and none was given on the command
     2523     line.  GNU `make' has nothing to do in these situations.  *Note
     2524     Arguments to Specify the Makefile: Makefile Arguments.
    18282525
    18292526`Makefile `XXX' was not found.'
     
    19022599File: make.info,  Node: Complex Makefile,  Next: GNU Free Documentation License,  Prev: Error Messages,  Up: Top
    19032600
    1904 Complex Makefile Example
    1905 ************************
     2601Appendix C Complex Makefile Example
     2602***********************************
    19062603
    19072604Here is the makefile for the GNU `tar' program.  This is a moderately
     
    19392636     # Un*x Makefile for GNU tar program.
    19402637     # Copyright (C) 1991 Free Software Foundation, Inc.
    1941      
     2638
    19422639     # This program is free software; you can redistribute
    19432640     # it and/or modify it under the terms of the GNU
     
    19452642     ...
    19462643     ...
    1947      
     2644
    19482645     SHELL = /bin/sh
    1949      
     2646
    19502647     #### Start of system configuration section. ####
    1951      
     2648
    19522649     srcdir = .
    1953      
     2650
    19542651     # If you use gcc, you should either run the
    19552652     # fixincludes script that comes with it or else use
     
    19602657     INSTALL = /usr/local/bin/install -c
    19612658     INSTALLDATA = /usr/local/bin/install -c -m 644
    1962      
     2659
    19632660     # Things you might add to DEFS:
    19642661     # -DSTDC_HEADERS        If you have ANSI C headers and
     
    20112708     # -DXENIX               If you have sys/inode.h
    20122709     #                       and need it 94 to be included.
    2013      
     2710
    20142711     DEFS =  -DSIGTYPE=int -DDIRENT -DSTRSTR_MISSING \
    20152712             -DVPRINTF_MISSING -DBSD42
     
    20202717     DEF_AR_FILE = /dev/rmt8
    20212718     DEFBLOCKING = 20
    2022      
     2719
    20232720     CDEBUG = -g
    20242721     CFLAGS = $(CDEBUG) -I. -I$(srcdir) $(DEFS) \
     
    20262723             -DDEFBLOCKING=$(DEFBLOCKING)
    20272724     LDFLAGS = -g
    2028      
     2725
    20292726     prefix = /usr/local
    20302727     # Prefix for each installed program,
    20312728     # normally empty or `g'.
    20322729     binprefix =
    2033      
     2730
    20342731     # The directory to install tar in.
    20352732     bindir = $(prefix)/bin
    2036      
     2733
    20372734     # The directory to install the info files in.
    20382735     infodir = $(prefix)/info
    2039      
     2736
    20402737     #### End of system configuration section. ####
    2041      
     2738
    20422739     SRC1 =  tar.c create.c extract.c buffer.c \
    20432740             getoldopt.c update.c gnu.c mangle.c
     
    20592756             msd_dir.h msd_dir.c tcexparg.c \
    20602757             level-0 level-1 backup-specs testpad.c
    2061      
     2758
     2759     .PHONY: all
    20622760     all:    tar rmt tar.info
    2063      
     2761
     2762     .PHONY: tar
    20642763     tar:    $(OBJS)
    20652764             $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
    2066      
     2765
    20672766     rmt:    rmt.c
    20682767             $(CC) $(CFLAGS) $(LDFLAGS) -o $@ rmt.c
    2069      
     2768
    20702769     tar.info: tar.texinfo
    20712770             makeinfo tar.texinfo
    2072      
     2771
     2772     .PHONY: install
    20732773     install: all
    20742774             $(INSTALL) tar $(bindir)/$(binprefix)tar
    20752775             -test ! -f rmt || $(INSTALL) rmt /etc/rmt
    20762776             $(INSTALLDATA) $(srcdir)/tar.info* $(infodir)
    2077      
     2777
    20782778     $(OBJS): tar.h port.h testpad.h
    20792779     regex.o buffer.o tar.o: regex.h
    20802780     # getdate.y has 8 shift/reduce conflicts.
    2081      
     2781
    20822782     testpad.h: testpad
    20832783             ./testpad
    2084      
     2784
    20852785     testpad: testpad.o
    20862786             $(CC) -o $@ testpad.o
    2087      
     2787
    20882788     TAGS:   $(SRCS)
    20892789             etags $(SRCS)
    2090      
     2790
     2791     .PHONY: clean
    20912792     clean:
    20922793             rm -f *.o tar rmt testpad testpad.h core
    2093      
     2794
     2795     .PHONY: distclean
    20942796     distclean: clean
    20952797             rm -f TAGS Makefile config.status
    2096      
     2798
     2799     .PHONY: realclean
    20972800     realclean: distclean
    20982801             rm -f tar.info*
    2099      
     2802
     2803     .PHONY: shar
    21002804     shar: $(SRCS) $(AUX)
    21012805             shar $(SRCS) $(AUX) | compress \
     
    21042808                          -e q
    21052809                          version.c`.shar.Z
    2106      
     2810
     2811     .PHONY: dist
    21072812     dist: $(SRCS) $(AUX)
    21082813             echo tar-`sed \
     
    21162821             tar chZf `cat .fname`.tar.Z `cat .fname`
    21172822             -rm -rf `cat .fname` .fname
    2118      
     2823
    21192824     tar.zoo: $(SRCS) $(AUX)
    21202825             -rm -rf tmp.dir
     
    21312836File: make.info,  Node: GNU Free Documentation License,  Next: Concept Index,  Prev: Complex Makefile,  Up: Top
    21322837
    2133 GNU Free Documentation License
    2134 ******************************
    2135 
    2136                         Version 1.1, March 2000
    2137      Copyright (C) 2000 Free Software Foundation, Inc.
    2138      59 Temple Place, Suite 330, Boston, MA  02111-1307, USA
    2139      
     2838Appendix D GNU Free Documentation License
     2839*****************************************
     2840
     2841                      Version 1.2, November 2002
     2842
     2843     Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
     2844     51 Franklin St, Fifth Floor, Boston, MA  02110-1301, USA
     2845
    21402846     Everyone is permitted to copy and distribute verbatim copies
    21412847     of this license document, but changing it is not allowed.
     
    21442850
    21452851     The purpose of this License is to make a manual, textbook, or other
    2146      written document "free" in the sense of freedom: to assure everyone
    2147      the effective freedom to copy and redistribute it, with or without
    2148      modifying it, either commercially or noncommercially.  Secondarily,
    2149      this License preserves for the author and publisher a way to get
    2150      credit for their work, while not being considered responsible for
    2151      modifications made by others.
     2852     functional and useful document "free" in the sense of freedom: to
     2853     assure everyone the effective freedom to copy and redistribute it,
     2854     with or without modifying it, either commercially or
     2855     noncommercially.  Secondarily, this License preserves for the
     2856     author and publisher a way to get credit for their work, while not
     2857     being considered responsible for modifications made by others.
    21522858
    21532859     This License is a kind of "copyleft", which means that derivative
     
    21672873  1. APPLICABILITY AND DEFINITIONS
    21682874
    2169      This License applies to any manual or other work that contains a
    2170      notice placed by the copyright holder saying it can be distributed
    2171      under the terms of this License.  The "Document", below, refers to
    2172      any such manual or work.  Any member of the public is a licensee,
    2173      and is addressed as "you".
     2875     This License applies to any manual or other work, in any medium,
     2876     that contains a notice placed by the copyright holder saying it
     2877     can be distributed under the terms of this License.  Such a notice
     2878     grants a world-wide, royalty-free license, unlimited in duration,
     2879     to use that work under the conditions stated herein.  The
     2880     "Document", below, refers to any such manual or work.  Any member
     2881     of the public is a licensee, and is addressed as "you".  You
     2882     accept the license if you copy, modify or distribute the work in a
     2883     way requiring permission under copyright law.
    21742884
    21752885     A "Modified Version" of the Document means any work containing the
     
    21772887     modifications and/or translated into another language.
    21782888
    2179      A "Secondary Section" is a named appendix or a front-matter
    2180      section of the Document that deals exclusively with the
    2181      relationship of the publishers or authors of the Document to the
    2182      Document's overall subject (or to related matters) and contains
    2183      nothing that could fall directly within that overall subject.
    2184      (For example, if the Document is in part a textbook of
    2185      mathematics, a Secondary Section may not explain any mathematics.)
    2186      The relationship could be a matter of historical connection with
    2187      the subject or with related matters, or of legal, commercial,
    2188      philosophical, ethical or political position regarding them.
     2889     A "Secondary Section" is a named appendix or a front-matter section
     2890     of the Document that deals exclusively with the relationship of the
     2891     publishers or authors of the Document to the Document's overall
     2892     subject (or to related matters) and contains nothing that could
     2893     fall directly within that overall subject.  (Thus, if the Document
     2894     is in part a textbook of mathematics, a Secondary Section may not
     2895     explain any mathematics.)  The relationship could be a matter of
     2896     historical connection with the subject or with related matters, or
     2897     of legal, commercial, philosophical, ethical or political position
     2898     regarding them.
    21892899
    21902900     The "Invariant Sections" are certain Secondary Sections whose
    21912901     titles are designated, as being those of Invariant Sections, in
    21922902     the notice that says that the Document is released under this
    2193      License.
     2903     License.  If a section does not fit the above definition of
     2904     Secondary then it is not allowed to be designated as Invariant.
     2905     The Document may contain zero Invariant Sections.  If the Document
     2906     does not identify any Invariant Sections then there are none.
    21942907
    21952908     The "Cover Texts" are certain short passages of text that are
    21962909     listed, as Front-Cover Texts or Back-Cover Texts, in the notice
    2197      that says that the Document is released under this License.
     2910     that says that the Document is released under this License.  A
     2911     Front-Cover Text may be at most 5 words, and a Back-Cover Text may
     2912     be at most 25 words.
    21982913
    21992914     A "Transparent" copy of the Document means a machine-readable copy,
    22002915     represented in a format whose specification is available to the
    2201      general public, whose contents can be viewed and edited directly
    2202      and straightforwardly with generic text editors or (for images
     2916     general public, that is suitable for revising the document
     2917     straightforwardly with generic text editors or (for images
    22032918     composed of pixels) generic paint programs or (for drawings) some
    22042919     widely available drawing editor, and that is suitable for input to
    22052920     text formatters or for automatic translation to a variety of
    22062921     formats suitable for input to text formatters.  A copy made in an
    2207      otherwise Transparent file format whose markup has been designed
    2208      to thwart or discourage subsequent modification by readers is not
    2209      Transparent.  A copy that is not "Transparent" is called "Opaque".
     2922     otherwise Transparent file format whose markup, or absence of
     2923     markup, has been arranged to thwart or discourage subsequent
     2924     modification by readers is not Transparent.  An image format is
     2925     not Transparent if used for any substantial amount of text.  A
     2926     copy that is not "Transparent" is called "Opaque".
    22102927
    22112928     Examples of suitable formats for Transparent copies include plain
    22122929     ASCII without markup, Texinfo input format, LaTeX input format,
    22132930     SGML or XML using a publicly available DTD, and
    2214      standard-conforming simple HTML designed for human modification.
    2215      Opaque formats include PostScript, PDF, proprietary formats that
    2216      can be read and edited only by proprietary word processors, SGML
    2217      or XML for which the DTD and/or processing tools are not generally
    2218      available, and the machine-generated HTML produced by some word
    2219      processors for output purposes only.
     2931     standard-conforming simple HTML, PostScript or PDF designed for
     2932     human modification.  Examples of transparent image formats include
     2933     PNG, XCF and JPG.  Opaque formats include proprietary formats that
     2934     can be read and edited only by proprietary word processors, SGML or
     2935     XML for which the DTD and/or processing tools are not generally
     2936     available, and the machine-generated HTML, PostScript or PDF
     2937     produced by some word processors for output purposes only.
    22202938
    22212939     The "Title Page" means, for a printed book, the title page itself,
     
    22252943     Page" means the text near the most prominent appearance of the
    22262944     work's title, preceding the beginning of the body of the text.
     2945
     2946     A section "Entitled XYZ" means a named subunit of the Document
     2947     whose title either is precisely XYZ or contains XYZ in parentheses
     2948     following text that translates XYZ in another language.  (Here XYZ
     2949     stands for a specific section name mentioned below, such as
     2950     "Acknowledgements", "Dedications", "Endorsements", or "History".)
     2951     To "Preserve the Title" of such a section when you modify the
     2952     Document means that it remains a section "Entitled XYZ" according
     2953     to this definition.
     2954
     2955     The Document may include Warranty Disclaimers next to the notice
     2956     which states that this License applies to the Document.  These
     2957     Warranty Disclaimers are considered to be included by reference in
     2958     this License, but only as regards disclaiming warranties: any other
     2959     implication that these Warranty Disclaimers may have is void and
     2960     has no effect on the meaning of this License.
    22272961
    22282962  2. VERBATIM COPYING
     
    22442978  3. COPYING IN QUANTITY
    22452979
    2246      If you publish printed copies of the Document numbering more than
    2247      100, and the Document's license notice requires Cover Texts, you
    2248      must enclose the copies in covers that carry, clearly and legibly,
    2249      all these Cover Texts: Front-Cover Texts on the front cover, and
     2980     If you publish printed copies (or copies in media that commonly
     2981     have printed covers) of the Document, numbering more than 100, and
     2982     the Document's license notice requires Cover Texts, you must
     2983     enclose the copies in covers that carry, clearly and legibly, all
     2984     these Cover Texts: Front-Cover Texts on the front cover, and
    22502985     Back-Cover Texts on the back cover.  Both covers must also clearly
    22512986     and legibly identify you as the publisher of these copies.  The
     
    22653000     numbering more than 100, you must either include a
    22663001     machine-readable Transparent copy along with each Opaque copy, or
    2267      state in or with each Opaque copy a publicly-accessible
    2268      computer-network location containing a complete Transparent copy
    2269      of the Document, free of added material, which the general
    2270      network-using public has access to download anonymously at no
    2271      charge using public-standard network protocols.  If you use the
     3002     state in or with each Opaque copy a computer-network location from
     3003     which the general network-using public has access to download
     3004     using public-standard network protocols a complete Transparent
     3005     copy of the Document, free of added material.  If you use the
    22723006     latter option, you must take reasonably prudent steps, when you
    22733007     begin distribution of Opaque copies in quantity, to ensure that
     
    23033037          the Modified Version, together with at least five of the
    23043038          principal authors of the Document (all of its principal
    2305           authors, if it has less than five).
     3039          authors, if it has fewer than five), unless they release you
     3040          from this requirement.
    23063041
    23073042       C. State on the Title page the name of the publisher of the
     
    23243059       H. Include an unaltered copy of this License.
    23253060
    2326        I. Preserve the section entitled "History", and its title, and
    2327           add to it an item stating at least the title, year, new
     3061       I. Preserve the section Entitled "History", Preserve its Title,
     3062          and add to it an item stating at least the title, year, new
    23283063          authors, and publisher of the Modified Version as given on
    2329           the Title Page.  If there is no section entitled "History" in
     3064          the Title Page.  If there is no section Entitled "History" in
    23303065          the Document, create one stating the title, year, authors,
    23313066          and publisher of the Document as given on its Title Page,
     
    23423077          it refers to gives permission.
    23433078
    2344        K. In any section entitled "Acknowledgments" or "Dedications",
    2345           preserve the section's title, and preserve in the section all
    2346           the substance and tone of each of the contributor
    2347           acknowledgments and/or dedications given therein.
     3079       K. For any section Entitled "Acknowledgements" or "Dedications",
     3080          Preserve the Title of the section, and preserve in the
     3081          section all the substance and tone of each of the contributor
     3082          acknowledgements and/or dedications given therein.
    23483083
    23493084       L. Preserve all the Invariant Sections of the Document,
     
    23523087          titles.
    23533088
    2354        M. Delete any section entitled "Endorsements".  Such a section
     3089       M. Delete any section Entitled "Endorsements".  Such a section
    23553090          may not be included in the Modified Version.
    23563091
    2357        N. Do not retitle any existing section as "Endorsements" or to
    2358           conflict in title with any Invariant Section.
     3092       N. Do not retitle any existing section to be Entitled
     3093          "Endorsements" or to conflict in title with any Invariant
     3094          Section.
     3095
     3096       O. Preserve any Warranty Disclaimers.
    23593097
    23603098     If the Modified Version includes new front-matter sections or
     
    23663104     other section titles.
    23673105
    2368      You may add a section entitled "Endorsements", provided it contains
     3106     You may add a section Entitled "Endorsements", provided it contains
    23693107     nothing but endorsements of your Modified Version by various
    23703108     parties--for example, statements of peer review or that the text
     
    23943132     all of the Invariant Sections of all of the original documents,
    23953133     unmodified, and list them all as Invariant Sections of your
    2396      combined work in its license notice.
     3134     combined work in its license notice, and that you preserve all
     3135     their Warranty Disclaimers.
    23973136
    23983137     The combined work need only contain one copy of this License, and
     
    24063145     combined work.
    24073146
    2408      In the combination, you must combine any sections entitled
     3147     In the combination, you must combine any sections Entitled
    24093148     "History" in the various original documents, forming one section
    2410      entitled "History"; likewise combine any sections entitled
    2411      "Acknowledgments", and any sections entitled "Dedications".  You
    2412      must delete all sections entitled "Endorsements."
     3149     Entitled "History"; likewise combine any sections Entitled
     3150     "Acknowledgements", and any sections Entitled "Dedications".  You
     3151     must delete all sections Entitled "Endorsements."
    24133152
    24143153  6. COLLECTIONS OF DOCUMENTS
     
    24313170     A compilation of the Document or its derivatives with other
    24323171     separate and independent documents or works, in or on a volume of
    2433      a storage or distribution medium, does not as a whole count as a
    2434      Modified Version of the Document, provided no compilation
    2435      copyright is claimed for the compilation.  Such a compilation is
    2436      called an "aggregate", and this License does not apply to the
    2437      other self-contained works thus compiled with the Document, on
    2438      account of their being thus compiled, if they are not themselves
    2439      derivative works of the Document.
     3172     a storage or distribution medium, is called an "aggregate" if the
     3173     copyright resulting from the compilation is not used to limit the
     3174     legal rights of the compilation's users beyond what the individual
     3175     works permit.  When the Document is included in an aggregate, this
     3176     License does not apply to the other works in the aggregate which
     3177     are not themselves derivative works of the Document.
    24403178
    24413179     If the Cover Text requirement of section 3 is applicable to these
    2442      copies of the Document, then if the Document is less than one
    2443      quarter of the entire aggregate, the Document's Cover Texts may be
    2444      placed on covers that surround only the Document within the
    2445      aggregate.  Otherwise they must appear on covers around the whole
    2446      aggregate.
     3180     copies of the Document, then if the Document is less than one half
     3181     of the entire aggregate, the Document's Cover Texts may be placed
     3182     on covers that bracket the Document within the aggregate, or the
     3183     electronic equivalent of covers if the Document is in electronic
     3184     form.  Otherwise they must appear on printed covers that bracket
     3185     the whole aggregate.
    24473186
    24483187  8. TRANSLATION
     
    24543193     translations of some or all Invariant Sections in addition to the
    24553194     original versions of these Invariant Sections.  You may include a
    2456      translation of this License provided that you also include the
    2457      original English version of this License.  In case of a
    2458      disagreement between the translation and the original English
    2459      version of this License, the original English version will prevail.
     3195     translation of this License, and all the license notices in the
     3196     Document, and any Warranty Disclaimers, provided that you also
     3197     include the original English version of this License and the
     3198     original versions of those notices and disclaimers.  In case of a
     3199     disagreement between the translation and the original version of
     3200     this License or a notice or disclaimer, the original version will
     3201     prevail.
     3202
     3203     If a section in the Document is Entitled "Acknowledgements",
     3204     "Dedications", or "History", the requirement (section 4) to
     3205     Preserve its Title (section 1) will typically require changing the
     3206     actual title.
    24603207
    24613208  9. TERMINATION
     
    24873234     Free Software Foundation.
    24883235
    2489 ADDENDUM: How to use this License for your documents
    2490 ====================================================
     3236D.1 ADDENDUM: How to use this License for your documents
     3237========================================================
    24913238
    24923239To use this License in a document you have written, include a copy of
     
    24963243       Copyright (C)  YEAR  YOUR NAME.
    24973244       Permission is granted to copy, distribute and/or modify this document
    2498        under the terms of the GNU Free Documentation License, Version 1.1
     3245       under the terms of the GNU Free Documentation License, Version 1.2
    24993246       or any later version published by the Free Software Foundation;
    2500        with the Invariant Sections being LIST THEIR TITLES, with the
    2501        Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
    2502        A copy of the license is included in the section entitled ``GNU
     3247       with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
     3248       Texts.  A copy of the license is included in the section entitled ``GNU
    25033249       Free Documentation License''.
    25043250
    2505    If you have no Invariant Sections, write "with no Invariant Sections"
    2506 instead of saying which ones are invariant.  If you have no Front-Cover
    2507 Texts, write "no Front-Cover Texts" instead of "Front-Cover Texts being
    2508 LIST"; likewise for Back-Cover Texts.
     3251   If you have Invariant Sections, Front-Cover Texts and Back-Cover
     3252Texts, replace the "with...Texts." line with this:
     3253
     3254         with the Invariant Sections being LIST THEIR TITLES, with
     3255         the Front-Cover Texts being LIST, and with the Back-Cover Texts
     3256         being LIST.
     3257
     3258   If you have Invariant Sections without Cover Texts, or some other
     3259combination of the three, merge those two alternatives to suit the
     3260situation.
    25093261
    25103262   If your document contains nontrivial examples of program code, we
     
    25193271*****************
    25203272
     3273[index]
    25213274* Menu:
    25223275
    2523 * # (comments), in commands:             Commands.
    2524 * # (comments), in makefile:             Makefile Contents.
     3276* # (comments), in commands:             Command Syntax.      (line  27)
     3277* # (comments), in makefile:             Makefile Contents.   (line  41)
    25253278* #include:                              Automatic Prerequisites.
    2526 * $$@, support for:                      Automatic Variables.
    2527 * $, in function call:                   Syntax of Functions.
    2528 * $, in rules:                           Rule Syntax.
    2529 * $, in variable name:                   Computed Names.
    2530 * $, in variable reference:              Reference.
    2531 * %, in pattern rules:                   Pattern Intro.
    2532 * %, quoting in patsubst:                Text Functions.
    2533 * %, quoting in static pattern:          Static Usage.
    2534 * %, quoting in vpath:                   Selective Search.
    2535 * %, quoting with \ (backslash) <1>:     Text Functions.
    2536 * %, quoting with \ (backslash) <2>:     Static Usage.
    2537 * %, quoting with \ (backslash):         Selective Search.
    2538 * * (wildcard character):                Wildcards.
     3279                                                              (line  16)
     3280* $, in function call:                   Syntax of Functions. (line   6)
     3281* $, in rules:                           Rule Syntax.         (line  32)
     3282* $, in variable name:                   Computed Names.      (line   6)
     3283* $, in variable reference:              Reference.           (line   6)
     3284* %, in pattern rules:                   Pattern Intro.       (line   9)
     3285* %, quoting in patsubst:                Text Functions.      (line  26)
     3286* %, quoting in static pattern:          Static Usage.        (line  37)
     3287* %, quoting in vpath:                   Selective Search.    (line  38)
     3288* %, quoting with \ (backslash) <1>:     Text Functions.      (line  26)
     3289* %, quoting with \ (backslash) <2>:     Static Usage.        (line  37)
     3290* %, quoting with \ (backslash):         Selective Search.    (line  38)
     3291* * (wildcard character):                Wildcards.           (line   6)
    25393292* +, and command execution:              Instead of Execution.
    2540 * +, and commands:                       MAKE Variable.
    2541 * +, and define:                         Sequences.
    2542 * +=:                                    Appending.
    2543 * +=, expansion:                         Reading Makefiles.
    2544 * ,v (RCS file extension):               Catalogue of Rules.
    2545 * - (in commands):                       Errors.
    2546 * -, and define:                         Sequences.
    2547 * --always-make:                         Options Summary.
    2548 * --assume-new <1>:                      Options Summary.
     3293                                                              (line  58)
     3294* +, and commands:                       MAKE Variable.       (line  18)
     3295* +, and define:                         Sequences.           (line  50)
     3296* +=:                                    Appending.           (line   6)
     3297* +=, expansion:                         Reading Makefiles.   (line  33)
     3298* ,v (RCS file extension):               Catalogue of Rules.  (line 164)
     3299* - (in commands):                       Errors.              (line  19)
     3300* -, and define:                         Sequences.           (line  50)
     3301* --always-make:                         Options Summary.     (line  15)
     3302* --assume-new <1>:                      Options Summary.     (line 242)
    25493303* --assume-new:                          Instead of Execution.
    2550 * --assume-new, and recursion:           Options/Recursion.
    2551 * --assume-old <1>:                      Options Summary.
     3304                                                              (line  33)
     3305* --assume-new, and recursion:           Options/Recursion.   (line  22)
     3306* --assume-old <1>:                      Options Summary.     (line 147)
    25523307* --assume-old:                          Avoiding Compilation.
    2553 * --assume-old, and recursion:           Options/Recursion.
    2554 * --debug:                               Options Summary.
    2555 * --directory <1>:                       Options Summary.
    2556 * --directory:                           Recursion.
    2557 * --directory, and --print-directory:    -w Option.
    2558 * --directory, and recursion:            Options/Recursion.
    2559 * --dry-run <1>:                         Options Summary.
     3308                                                              (line   6)
     3309* --assume-old, and recursion:           Options/Recursion.   (line  22)
     3310* --check-symlink-times:                 Options Summary.     (line 130)
     3311* --debug:                               Options Summary.     (line  42)
     3312* --directory <1>:                       Options Summary.     (line  26)
     3313* --directory:                           Recursion.           (line  20)
     3314* --directory, and --print-directory:    -w Option.           (line  20)
     3315* --directory, and recursion:            Options/Recursion.   (line  22)
     3316* --dry-run <1>:                         Options Summary.     (line 140)
    25603317* --dry-run <2>:                         Instead of Execution.
    2561 * --dry-run:                             Echoing.
    2562 * --environment-overrides:               Options Summary.
    2563 * --file <1>:                            Options Summary.
    2564 * --file <2>:                            Makefile Arguments.
    2565 * --file:                                Makefile Names.
    2566 * --file, and recursion:                 Options/Recursion.
    2567 * --help:                                Options Summary.
    2568 * --ignore-errors <1>:                   Options Summary.
    2569 * --ignore-errors:                       Errors.
    2570 * --include-dir <1>:                     Options Summary.
    2571 * --include-dir:                         Include.
    2572 * --jobs <1>:                            Options Summary.
    2573 * --jobs:                                Parallel.
    2574 * --jobs, and recursion:                 Options/Recursion.
    2575 * --just-print <1>:                      Options Summary.
     3318                                                              (line  14)
     3319* --dry-run:                             Echoing.             (line  18)
     3320* --environment-overrides:               Options Summary.     (line  78)
     3321* --file <1>:                            Options Summary.     (line  84)
     3322* --file <2>:                            Makefile Arguments.  (line   6)
     3323* --file:                                Makefile Names.      (line  23)
     3324* --file, and recursion:                 Options/Recursion.   (line  22)
     3325* --help:                                Options Summary.     (line  90)
     3326* --ignore-errors <1>:                   Options Summary.     (line  94)
     3327* --ignore-errors:                       Errors.              (line  30)
     3328* --include-dir <1>:                     Options Summary.     (line  99)
     3329* --include-dir:                         Include.             (line  52)
     3330* --jobs <1>:                            Options Summary.     (line 106)
     3331* --jobs:                                Parallel.            (line   6)
     3332* --jobs, and recursion:                 Options/Recursion.   (line  25)
     3333* --just-print <1>:                      Options Summary.     (line 139)
    25763334* --just-print <2>:                      Instead of Execution.
    2577 * --just-print:                          Echoing.
    2578 * --keep-going <1>:                      Options Summary.
    2579 * --keep-going <2>:                      Testing.
    2580 * --keep-going:                          Errors.
    2581 * --load-average <1>:                    Options Summary.
    2582 * --load-average:                        Parallel.
    2583 * --makefile <1>:                        Options Summary.
    2584 * --makefile <2>:                        Makefile Arguments.
    2585 * --makefile:                            Makefile Names.
    2586 * --max-load <1>:                        Options Summary.
    2587 * --max-load:                            Parallel.
    2588 * --new-file <1>:                        Options Summary.
     3335                                                              (line  14)
     3336* --just-print:                          Echoing.             (line  18)
     3337* --keep-going <1>:                      Options Summary.     (line 115)
     3338* --keep-going <2>:                      Testing.             (line  16)
     3339* --keep-going:                          Errors.              (line  47)
     3340* --load-average <1>:                    Options Summary.     (line 122)
     3341* --load-average:                        Parallel.            (line  57)
     3342* --makefile <1>:                        Options Summary.     (line  85)
     3343* --makefile <2>:                        Makefile Arguments.  (line   6)
     3344* --makefile:                            Makefile Names.      (line  23)
     3345* --max-load <1>:                        Options Summary.     (line 123)
     3346* --max-load:                            Parallel.            (line  57)
     3347* --new-file <1>:                        Options Summary.     (line 241)
    25893348* --new-file:                            Instead of Execution.
    2590 * --new-file, and recursion:             Options/Recursion.
    2591 * --no-builtin-rules:                    Options Summary.
    2592 * --no-builtin-variables:                Options Summary.
    2593 * --no-keep-going:                       Options Summary.
    2594 * --no-print-directory <1>:              Options Summary.
    2595 * --no-print-directory:                  -w Option.
    2596 * --old-file <1>:                        Options Summary.
     3349                                                              (line  33)
     3350* --new-file, and recursion:             Options/Recursion.   (line  22)
     3351* --no-builtin-rules:                    Options Summary.     (line 175)
     3352* --no-builtin-variables:                Options Summary.     (line 188)
     3353* --no-keep-going:                       Options Summary.     (line 203)
     3354* --no-print-directory <1>:              Options Summary.     (line 233)
     3355* --no-print-directory:                  -w Option.           (line  20)
     3356* --old-file <1>:                        Options Summary.     (line 146)
    25973357* --old-file:                            Avoiding Compilation.
    2598 * --old-file, and recursion:             Options/Recursion.
    2599 * --print-data-base:                     Options Summary.
    2600 * --print-directory:                     Options Summary.
    2601 * --print-directory, and --directory:    -w Option.
    2602 * --print-directory, and recursion:      -w Option.
    2603 * --print-directory, disabling:          -w Option.
    2604 * --question <1>:                        Options Summary.
     3358                                                              (line   6)
     3359* --old-file, and recursion:             Options/Recursion.   (line  22)
     3360* --print-data-base:                     Options Summary.     (line 155)
     3361* --print-directory:                     Options Summary.     (line 225)
     3362* --print-directory, and --directory:    -w Option.           (line  20)
     3363* --print-directory, and recursion:      -w Option.           (line  20)
     3364* --print-directory, disabling:          -w Option.           (line  20)
     3365* --question <1>:                        Options Summary.     (line 167)
    26053366* --question:                            Instead of Execution.
    2606 * --quiet <1>:                           Options Summary.
    2607 * --quiet:                               Echoing.
    2608 * --recon <1>:                           Options Summary.
     3367                                                              (line  25)
     3368* --quiet <1>:                           Options Summary.     (line 198)
     3369* --quiet:                               Echoing.             (line  24)
     3370* --recon <1>:                           Options Summary.     (line 141)
    26093371* --recon <2>:                           Instead of Execution.
    2610 * --recon:                               Echoing.
    2611 * --silent <1>:                          Options Summary.
    2612 * --silent:                              Echoing.
    2613 * --stop:                                Options Summary.
    2614 * --touch <1>:                           Options Summary.
     3372                                                              (line  14)
     3373* --recon:                               Echoing.             (line  18)
     3374* --silent <1>:                          Options Summary.     (line 197)
     3375* --silent:                              Echoing.             (line  24)
     3376* --stop:                                Options Summary.     (line 204)
     3377* --touch <1>:                           Options Summary.     (line 212)
    26153378* --touch:                               Instead of Execution.
    2616 * --touch, and recursion:                MAKE Variable.
    2617 * --version:                             Options Summary.
    2618 * --warn-undefined-variables:            Options Summary.
    2619 * --what-if <1>:                         Options Summary.
     3379                                                              (line  19)
     3380* --touch, and recursion:                MAKE Variable.       (line  34)
     3381* --version:                             Options Summary.     (line 220)
     3382* --warn-undefined-variables:            Options Summary.     (line 251)
     3383* --what-if <1>:                         Options Summary.     (line 240)
    26203384* --what-if:                             Instead of Execution.
    2621 * -B:                                    Options Summary.
    2622 * -b:                                    Options Summary.
    2623 * -C <1>:                                Options Summary.
    2624 * -C:                                    Recursion.
    2625 * -C, and -w:                            -w Option.
    2626 * -C, and recursion:                     Options/Recursion.
    2627 * -d:                                    Options Summary.
    2628 * -e:                                    Options Summary.
     3385                                                              (line  33)
     3386* -B:                                    Options Summary.     (line  14)
     3387* -b:                                    Options Summary.     (line   9)
     3388* -C <1>:                                Options Summary.     (line  25)
     3389* -C:                                    Recursion.           (line  20)
     3390* -C, and -w:                            -w Option.           (line  20)
     3391* -C, and recursion:                     Options/Recursion.   (line  22)
     3392* -d:                                    Options Summary.     (line  33)
     3393* -e:                                    Options Summary.     (line  77)
    26293394* -e (shell flag):                       Automatic Prerequisites.
    2630 * -f <1>:                                Options Summary.
    2631 * -f <2>:                                Makefile Arguments.
    2632 * -f:                                    Makefile Names.
    2633 * -f, and recursion:                     Options/Recursion.
    2634 * -h:                                    Options Summary.
    2635 * -I:                                    Options Summary.
    2636 * -i <1>:                                Options Summary.
    2637 * -i:                                    Errors.
    2638 * -I:                                    Include.
    2639 * -j <1>:                                Options Summary.
    2640 * -j:                                    Parallel.
    2641 * -j, and archive update:                Archive Pitfalls.
    2642 * -j, and recursion:                     Options/Recursion.
    2643 * -k <1>:                                Options Summary.
    2644 * -k <2>:                                Testing.
    2645 * -k:                                    Errors.
    2646 * -l:                                    Options Summary.
    2647 * -l (library search):                   Libraries/Search.
    2648 * -l (load average):                     Parallel.
    2649 * -m:                                    Options Summary.
     3395                                                              (line  66)
     3396* -f <1>:                                Options Summary.     (line  83)
     3397* -f <2>:                                Makefile Arguments.  (line   6)
     3398* -f:                                    Makefile Names.      (line  23)
     3399* -f, and recursion:                     Options/Recursion.   (line  22)
     3400* -h:                                    Options Summary.     (line  89)
     3401* -I:                                    Options Summary.     (line  98)
     3402* -i <1>:                                Options Summary.     (line  93)
     3403* -i:                                    Errors.              (line  30)
     3404* -I:                                    Include.             (line  52)
     3405* -j <1>:                                Options Summary.     (line 105)
     3406* -j:                                    Parallel.            (line   6)
     3407* -j, and archive update:                Archive Pitfalls.    (line   6)
     3408* -j, and recursion:                     Options/Recursion.   (line  25)
     3409* -k <1>:                                Options Summary.     (line 114)
     3410* -k <2>:                                Testing.             (line  16)
     3411* -k:                                    Errors.              (line  47)
     3412* -L:                                    Options Summary.     (line 129)
     3413* -l:                                    Options Summary.     (line 121)
     3414* -l (library search):                   Libraries/Search.    (line   6)
     3415* -l (load average):                     Parallel.            (line  57)
     3416* -m:                                    Options Summary.     (line  10)
    26503417* -M (to compiler):                      Automatic Prerequisites.
     3418                                                              (line  18)
    26513419* -MM (to GNU compiler):                 Automatic Prerequisites.
    2652 * -n <1>:                                Options Summary.
     3420                                                              (line  68)
     3421* -n <1>:                                Options Summary.     (line 138)
    26533422* -n <2>:                                Instead of Execution.
    2654 * -n:                                    Echoing.
    2655 * -o <1>:                                Options Summary.
     3423                                                              (line  14)
     3424* -n:                                    Echoing.             (line  18)
     3425* -o <1>:                                Options Summary.     (line 145)
    26563426* -o:                                    Avoiding Compilation.
    2657 * -o, and recursion:                     Options/Recursion.
    2658 * -p:                                    Options Summary.
    2659 * -q <1>:                                Options Summary.
     3427                                                              (line   6)
     3428* -o, and recursion:                     Options/Recursion.   (line  22)
     3429* -p:                                    Options Summary.     (line 154)
     3430* -q <1>:                                Options Summary.     (line 166)
    26603431* -q:                                    Instead of Execution.
    2661 * -R:                                    Options Summary.
    2662 * -r:                                    Options Summary.
    2663 * -S:                                    Options Summary.
    2664 * -s <1>:                                Options Summary.
    2665 * -s:                                    Echoing.
    2666 * -t <1>:                                Options Summary.
     3432                                                              (line  25)
     3433* -R:                                    Options Summary.     (line 187)
     3434* -r:                                    Options Summary.     (line 174)
     3435* -S:                                    Options Summary.     (line 202)
     3436* -s <1>:                                Options Summary.     (line 196)
     3437* -s:                                    Echoing.             (line  24)
     3438* -t <1>:                                Options Summary.     (line 211)
    26673439* -t:                                    Instead of Execution.
    2668 * -t, and recursion:                     MAKE Variable.
    2669 * -v:                                    Options Summary.
    2670 * -W:                                    Options Summary.
    2671 * -w:                                    Options Summary.
     3440                                                              (line  19)
     3441* -t, and recursion:                     MAKE Variable.       (line  34)
     3442* -v:                                    Options Summary.     (line 219)
     3443* -W:                                    Options Summary.     (line 239)
     3444* -w:                                    Options Summary.     (line 224)
    26723445* -W:                                    Instead of Execution.
    2673 * -w, and -C:                            -w Option.
    2674 * -w, and recursion:                     -w Option.
    2675 * -W, and recursion:                     Options/Recursion.
    2676 * -w, disabling:                         -w Option.
     3446                                                              (line  33)
     3447* -w, and -C:                            -w Option.           (line  20)
     3448* -w, and recursion:                     -w Option.           (line  20)
     3449* -W, and recursion:                     Options/Recursion.   (line  22)
     3450* -w, disabling:                         -w Option.           (line  20)
    26773451* .a (archives):                         Archive Suffix Rules.
    2678 * .C:                                    Catalogue of Rules.
    2679 * .c:                                    Catalogue of Rules.
    2680 * .cc:                                   Catalogue of Rules.
    2681 * .ch:                                   Catalogue of Rules.
     3452                                                              (line   6)
     3453* .C:                                    Catalogue of Rules.  (line  39)
     3454* .c:                                    Catalogue of Rules.  (line  35)
     3455* .cc:                                   Catalogue of Rules.  (line  39)
     3456* .ch:                                   Catalogue of Rules.  (line 151)
     3457* .cpp:                                  Catalogue of Rules.  (line  39)
    26823458* .d:                                    Automatic Prerequisites.
    2683 * .def:                                  Catalogue of Rules.
    2684 * .dvi:                                  Catalogue of Rules.
    2685 * .F:                                    Catalogue of Rules.
    2686 * .f:                                    Catalogue of Rules.
    2687 * .info:                                 Catalogue of Rules.
    2688 * .l:                                    Catalogue of Rules.
    2689 * .LIBPATTERNS, and link libraries:      Libraries/Search.
    2690 * .ln:                                   Catalogue of Rules.
    2691 * .mod:                                  Catalogue of Rules.
    2692 * .o:                                    Catalogue of Rules.
    2693 * .p:                                    Catalogue of Rules.
    2694 * .PRECIOUS intermediate files:          Chained Rules.
    2695 * .r:                                    Catalogue of Rules.
    2696 * .S:                                    Catalogue of Rules.
    2697 * .s:                                    Catalogue of Rules.
    2698 * .sh:                                   Catalogue of Rules.
    2699 * .sym:                                  Catalogue of Rules.
    2700 * .tex:                                  Catalogue of Rules.
    2701 * .texi:                                 Catalogue of Rules.
    2702 * .texinfo:                              Catalogue of Rules.
    2703 * .txinfo:                               Catalogue of Rules.
    2704 * .w:                                    Catalogue of Rules.
    2705 * .web:                                  Catalogue of Rules.
    2706 * .y:                                    Catalogue of Rules.
    2707 * :: rules (double-colon):               Double-Colon.
    2708 * := <1>:                                Setting.
    2709 * :=:                                    Flavors.
    2710 * = <1>:                                 Setting.
    2711 * =:                                     Flavors.
    2712 * =, expansion:                          Reading Makefiles.
    2713 * ? (wildcard character):                Wildcards.
    2714 * ?= <1>:                                Setting.
    2715 * ?=:                                    Flavors.
    2716 * ?=, expansion:                         Reading Makefiles.
    2717 * @ (in commands):                       Echoing.
    2718 * @, and define:                         Sequences.
    2719 * [...] (wildcard characters):           Wildcards.
    2720 * \ (backslash), for continuation lines: Simple Makefile.
    2721 * \ (backslash), in commands:            Execution.
    2722 * \ (backslash), to quote % <1>:         Text Functions.
    2723 * \ (backslash), to quote % <2>:         Static Usage.
    2724 * \ (backslash), to quote %:             Selective Search.
    2725 * __.SYMDEF:                             Archive Symbols.
    2726 * algorithm for directory search:        Search Algorithm.
    2727 * all (standard target):                 Goals.
    2728 * appending to variables:                Appending.
    2729 * ar:                                    Implicit Variables.
    2730 * archive:                               Archives.
    2731 * archive member targets:                Archive Members.
    2732 * archive symbol directory updating:     Archive Symbols.
    2733 * archive, and -j:                       Archive Pitfalls.
    2734 * archive, and parallel execution:       Archive Pitfalls.
     3459                                                              (line  81)
     3460* .def:                                  Catalogue of Rules.  (line  74)
     3461* .dvi:                                  Catalogue of Rules.  (line 151)
     3462* .F:                                    Catalogue of Rules.  (line  49)
     3463* .f:                                    Catalogue of Rules.  (line  49)
     3464* .info:                                 Catalogue of Rules.  (line 158)
     3465* .l:                                    Catalogue of Rules.  (line 124)
     3466* .LIBPATTERNS, and link libraries:      Libraries/Search.    (line   6)
     3467* .ln:                                   Catalogue of Rules.  (line 146)
     3468* .mod:                                  Catalogue of Rules.  (line  74)
     3469* .o:                                    Catalogue of Rules.  (line  35)
     3470* .p:                                    Catalogue of Rules.  (line  45)
     3471* .PRECIOUS intermediate files:          Chained Rules.       (line  56)
     3472* .r:                                    Catalogue of Rules.  (line  49)
     3473* .S:                                    Catalogue of Rules.  (line  82)
     3474* .s:                                    Catalogue of Rules.  (line  79)
     3475* .sh:                                   Catalogue of Rules.  (line 180)
     3476* .sym:                                  Catalogue of Rules.  (line  74)
     3477* .tex:                                  Catalogue of Rules.  (line 151)
     3478* .texi:                                 Catalogue of Rules.  (line 158)
     3479* .texinfo:                              Catalogue of Rules.  (line 158)
     3480* .txinfo:                               Catalogue of Rules.  (line 158)
     3481* .w:                                    Catalogue of Rules.  (line 151)
     3482* .web:                                  Catalogue of Rules.  (line 151)
     3483* .y:                                    Catalogue of Rules.  (line 120)
     3484* :: rules (double-colon):               Double-Colon.        (line   6)
     3485* := <1>:                                Setting.             (line   6)
     3486* :=:                                    Flavors.             (line  56)
     3487* = <1>:                                 Setting.             (line   6)
     3488* =:                                     Flavors.             (line  10)
     3489* =, expansion:                          Reading Makefiles.   (line  33)
     3490* ? (wildcard character):                Wildcards.           (line   6)
     3491* ?= <1>:                                Setting.             (line   6)
     3492* ?=:                                    Flavors.             (line 129)
     3493* ?=, expansion:                         Reading Makefiles.   (line  33)
     3494* @ (in commands):                       Echoing.             (line   6)
     3495* @, and define:                         Sequences.           (line  50)
     3496* [...] (wildcard characters):           Wildcards.           (line   6)
     3497* \ (backslash), for continuation lines: Simple Makefile.     (line  40)
     3498* \ (backslash), in commands:            Splitting Lines.     (line   6)
     3499* \ (backslash), to quote % <1>:         Text Functions.      (line  26)
     3500* \ (backslash), to quote % <2>:         Static Usage.        (line  37)
     3501* \ (backslash), to quote %:             Selective Search.    (line  38)
     3502* __.SYMDEF:                             Archive Symbols.     (line   6)
     3503* abspath:                               File Name Functions. (line 121)
     3504* algorithm for directory search:        Search Algorithm.    (line   6)
     3505* all (standard target):                 Goals.               (line  72)
     3506* appending to variables:                Appending.           (line   6)
     3507* ar:                                    Implicit Variables.  (line  41)
     3508* archive:                               Archives.            (line   6)
     3509* archive member targets:                Archive Members.     (line   6)
     3510* archive symbol directory updating:     Archive Symbols.     (line   6)
     3511* archive, and -j:                       Archive Pitfalls.    (line   6)
     3512* archive, and parallel execution:       Archive Pitfalls.    (line   6)
    27353513* archive, suffix rule for:              Archive Suffix Rules.
    2736 * Arg list too long:                     Options/Recursion.
    2737 * arguments of functions:                Syntax of Functions.
    2738 * as <1>:                                Implicit Variables.
    2739 * as:                                    Catalogue of Rules.
    2740 * assembly, rule to compile:             Catalogue of Rules.
     3514                                                              (line   6)
     3515* Arg list too long:                     Options/Recursion.   (line  57)
     3516* arguments of functions:                Syntax of Functions. (line   6)
     3517* as <1>:                                Implicit Variables.  (line  44)
     3518* as:                                    Catalogue of Rules.  (line  79)
     3519* assembly, rule to compile:             Catalogue of Rules.  (line  79)
    27413520* automatic generation of prerequisites <1>: Automatic Prerequisites.
    2742 * automatic generation of prerequisites: Include.
    2743 * automatic variables:                   Automatic Variables.
    2744 * automatic variables in prerequisites:  Automatic Variables.
    2745 * backquotes:                            Shell Function.
    2746 * backslash (\), for continuation lines: Simple Makefile.
    2747 * backslash (\), in commands:            Execution.
    2748 * backslash (\), to quote % <1>:         Text Functions.
    2749 * backslash (\), to quote % <2>:         Static Usage.
    2750 * backslash (\), to quote %:             Selective Search.
     3521                                                              (line   6)
     3522* automatic generation of prerequisites: Include.             (line  50)
     3523* automatic variables:                   Automatic Variables. (line   6)
     3524* automatic variables in prerequisites:  Automatic Variables. (line  17)
     3525* backquotes:                            Shell Function.      (line   6)
     3526* backslash (\), for continuation lines: Simple Makefile.     (line  40)
     3527* backslash (\), in commands:            Splitting Lines.     (line   6)
     3528* backslash (\), to quote % <1>:         Text Functions.      (line  26)
     3529* backslash (\), to quote % <2>:         Static Usage.        (line  37)
     3530* backslash (\), to quote %:             Selective Search.    (line  38)
    27513531* backslashes in pathnames and wildcard expansion: Wildcard Pitfall.
    2752 * basename:                              File Name Functions.
     3532                                                              (line  31)
     3533* basename:                              File Name Functions. (line  57)
    27533534* binary packages:                       Install Command Categories.
    2754 * broken pipe:                           Parallel.
    2755 * bugs, reporting:                       Bugs.
    2756 * built-in special targets:              Special Targets.
    2757 * C++, rule to compile:                  Catalogue of Rules.
    2758 * C, rule to compile:                    Catalogue of Rules.
    2759 * cc <1>:                                Implicit Variables.
    2760 * cc:                                    Catalogue of Rules.
    2761 * cd (shell command) <1>:                MAKE Variable.
    2762 * cd (shell command):                    Execution.
    2763 * chains of rules:                       Chained Rules.
    2764 * check (standard target):               Goals.
    2765 * clean (standard target):               Goals.
    2766 * clean target <1>:                      Cleanup.
    2767 * clean target:                          Simple Makefile.
    2768 * cleaning up:                           Cleanup.
    2769 * clobber (standard target):             Goals.
    2770 * co <1>:                                Implicit Variables.
    2771 * co:                                    Catalogue of Rules.
     3535                                                              (line  80)
     3536* broken pipe:                           Parallel.            (line  30)
     3537* bugs, reporting:                       Bugs.                (line   6)
     3538* built-in special targets:              Special Targets.     (line   6)
     3539* C++, rule to compile:                  Catalogue of Rules.  (line  39)
     3540* C, rule to compile:                    Catalogue of Rules.  (line  35)
     3541* cc <1>:                                Implicit Variables.  (line  47)
     3542* cc:                                    Catalogue of Rules.  (line  35)
     3543* cd (shell command) <1>:                MAKE Variable.       (line  16)
     3544* cd (shell command):                    Execution.           (line  10)
     3545* chains of rules:                       Chained Rules.       (line   6)
     3546* check (standard target):               Goals.               (line 114)
     3547* clean (standard target):               Goals.               (line  75)
     3548* clean target <1>:                      Cleanup.             (line  11)
     3549* clean target:                          Simple Makefile.     (line  83)
     3550* cleaning up:                           Cleanup.             (line   6)
     3551* clobber (standard target):             Goals.               (line  86)
     3552* co <1>:                                Implicit Variables.  (line  56)
     3553* co:                                    Catalogue of Rules.  (line 164)
    27723554* combining rules by prerequisite:       Combine By Prerequisite.
     3555                                                              (line   6)
    27733556* command line variable definitions, and recursion: Options/Recursion.
    2774 * command line variables:                Overriding.
    2775 * commands:                              Rule Syntax.
    2776 * commands, backslash (\) in:            Execution.
    2777 * commands, comments in:                 Commands.
    2778 * commands, echoing:                     Echoing.
    2779 * commands, empty:                       Empty Commands.
    2780 * commands, errors in:                   Errors.
    2781 * commands, execution:                   Execution.
    2782 * commands, execution in parallel:       Parallel.
    2783 * commands, expansion:                   Shell Function.
    2784 * commands, how to write:                Commands.
     3557                                                              (line  17)
     3558* command line variables:                Overriding.          (line   6)
     3559* command syntax:                        Command Syntax.      (line   6)
     3560* commands:                              Rule Syntax.         (line  26)
     3561* commands setting shell variables:      Execution.           (line  10)
     3562* commands, backslash (\) in:            Splitting Lines.     (line   6)
     3563* commands, comments in:                 Command Syntax.      (line  27)
     3564* commands, echoing:                     Echoing.             (line   6)
     3565* commands, empty:                       Empty Commands.      (line   6)
     3566* commands, errors in:                   Errors.              (line   6)
     3567* commands, execution:                   Execution.           (line   6)
     3568* commands, execution in parallel:       Parallel.            (line   6)
     3569* commands, expansion:                   Shell Function.      (line   6)
     3570* commands, how to write:                Commands.            (line   6)
    27853571* commands, instead of executing:        Instead of Execution.
    2786 * commands, introduction to:             Rule Introduction.
    2787 * commands, quoting newlines in:         Execution.
    2788 * commands, sequences of:                Sequences.
    2789 * comments, in commands:                 Commands.
    2790 * comments, in makefile:                 Makefile Contents.
    2791 * compatibility:                         Features.
    2792 * compatibility in exporting:            Variables/Recursion.
    2793 * compilation, testing:                  Testing.
    2794 * computed variable name:                Computed Names.
    2795 * conditional expansion:                 If Function.
    2796 * conditional variable assignment:       Flavors.
    2797 * conditionals:                          Conditionals.
    2798 * continuation lines:                    Simple Makefile.
     3572                                                              (line   6)
     3573* commands, introduction to:             Rule Introduction.   (line   8)
     3574* commands, quoting newlines in:         Splitting Lines.     (line   6)
     3575* commands, sequences of:                Sequences.           (line   6)
     3576* commands, splitting:                   Splitting Lines.     (line   6)
     3577* commands, using variables in:          Variables in Commands.
     3578                                                              (line   6)
     3579* comments, in commands:                 Command Syntax.      (line  27)
     3580* comments, in makefile:                 Makefile Contents.   (line  41)
     3581* compatibility:                         Features.            (line   6)
     3582* compatibility in exporting:            Variables/Recursion. (line 105)
     3583* compilation, testing:                  Testing.             (line   6)
     3584* computed variable name:                Computed Names.      (line   6)
     3585* conditional expansion:                 Conditional Functions.
     3586                                                              (line   6)
     3587* conditional variable assignment:       Flavors.             (line 129)
     3588* conditionals:                          Conditionals.        (line   6)
     3589* continuation lines:                    Simple Makefile.     (line  40)
    27993590* controlling make:                      Make Control Functions.
     3591                                                              (line   6)
    28003592* conventions for makefiles:             Makefile Conventions.
    2801 * ctangle <1>:                           Implicit Variables.
    2802 * ctangle:                               Catalogue of Rules.
    2803 * cweave <1>:                            Implicit Variables.
    2804 * cweave:                                Catalogue of Rules.
    2805 * data base of make rules:               Options Summary.
    2806 * deducing commands (implicit rules):    make Deduces.
    2807 * default directories for included makefiles: Include.
    2808 * default goal <1>:                      Rules.
    2809 * default goal:                          How Make Works.
    2810 * default makefile name:                 Makefile Names.
    2811 * default rules, last-resort:            Last Resort.
    2812 * define, expansion:                     Reading Makefiles.
    2813 * defining variables verbatim:           Defining.
    2814 * deletion of target files <1>:          Interrupts.
    2815 * deletion of target files:              Errors.
    2816 * directive:                             Makefile Contents.
    2817 * directories, printing them:            -w Option.
    2818 * directories, updating archive symbol:  Archive Symbols.
    2819 * directory part:                        File Name Functions.
    2820 * directory search (VPATH):              Directory Search.
     3593                                                              (line   6)
     3594* ctangle <1>:                           Implicit Variables.  (line 107)
     3595* ctangle:                               Catalogue of Rules.  (line 151)
     3596* cweave <1>:                            Implicit Variables.  (line 101)
     3597* cweave:                                Catalogue of Rules.  (line 151)
     3598* data base of make rules:               Options Summary.     (line 155)
     3599* deducing commands (implicit rules):    make Deduces.        (line   6)
     3600* default directories for included makefiles: Include.        (line  52)
     3601* default goal <1>:                      Rules.               (line  11)
     3602* default goal:                          How Make Works.      (line  11)
     3603* default makefile name:                 Makefile Names.      (line   6)
     3604* default rules, last-resort:            Last Resort.         (line   6)
     3605* define, expansion:                     Reading Makefiles.   (line  33)
     3606* defining variables verbatim:           Defining.            (line   6)
     3607* deletion of target files <1>:          Interrupts.          (line   6)
     3608* deletion of target files:              Errors.              (line  64)
     3609* directive:                             Makefile Contents.   (line  28)
     3610* directories, printing them:            -w Option.           (line   6)
     3611* directories, updating archive symbol:  Archive Symbols.     (line   6)
     3612* directory part:                        File Name Functions. (line  17)
     3613* directory search (VPATH):              Directory Search.    (line   6)
    28213614* directory search (VPATH), and implicit rules: Implicit/Search.
     3615                                                              (line   6)
    28223616* directory search (VPATH), and link libraries: Libraries/Search.
     3617                                                              (line   6)
    28233618* directory search (VPATH), and shell commands: Commands/Search.
    2824 * directory search algorithm:            Search Algorithm.
    2825 * directory search, traditional (GPATH): Search Algorithm.
    2826 * dist (standard target):                Goals.
    2827 * distclean (standard target):           Goals.
    2828 * dollar sign ($), in function call:     Syntax of Functions.
    2829 * dollar sign ($), in rules:             Rule Syntax.
    2830 * dollar sign ($), in variable name:     Computed Names.
    2831 * dollar sign ($), in variable reference: Reference.
    2832 * double-colon rules:                    Double-Colon.
    2833 * duplicate words, removing:             Text Functions.
    2834 * E2BIG:                                 Options/Recursion.
    2835 * echoing of commands:                   Echoing.
    2836 * editor:                                Introduction.
    2837 * Emacs (M-x compile):                   Errors.
    2838 * empty commands:                        Empty Commands.
    2839 * empty targets:                         Empty Targets.
    2840 * environment:                           Environment.
    2841 * environment, and recursion:            Variables/Recursion.
    2842 * environment, SHELL in:                 Execution.
     3619                                                              (line   6)
     3620* directory search algorithm:            Search Algorithm.    (line   6)
     3621* directory search, traditional (GPATH): Search Algorithm.    (line  42)
     3622* dist (standard target):                Goals.               (line 106)
     3623* distclean (standard target):           Goals.               (line  84)
     3624* dollar sign ($), in function call:     Syntax of Functions. (line   6)
     3625* dollar sign ($), in rules:             Rule Syntax.         (line  32)
     3626* dollar sign ($), in variable name:     Computed Names.      (line   6)
     3627* dollar sign ($), in variable reference: Reference.          (line   6)
     3628* DOS, choosing a shell in:              Choosing the Shell.  (line  36)
     3629* double-colon rules:                    Double-Colon.        (line   6)
     3630* duplicate words, removing:             Text Functions.      (line 155)
     3631* E2BIG:                                 Options/Recursion.   (line  57)
     3632* echoing of commands:                   Echoing.             (line   6)
     3633* editor:                                Introduction.        (line  22)
     3634* Emacs (M-x compile):                   Errors.              (line  62)
     3635* empty commands:                        Empty Commands.      (line   6)
     3636* empty targets:                         Empty Targets.       (line   6)
     3637* environment:                           Environment.         (line   6)
     3638* environment, and recursion:            Variables/Recursion. (line   6)
     3639* environment, SHELL in:                 Choosing the Shell.  (line  10)
    28433640* error, stopping on:                    Make Control Functions.
    2844 * errors (in commands):                  Errors.
    2845 * errors with wildcards:                 Wildcard Pitfall.
    2846 * evaluating makefile syntax:            Eval Function.
    2847 * execution, in parallel:                Parallel.
     3641                                                              (line  11)
     3642* errors (in commands):                  Errors.              (line   6)
     3643* errors with wildcards:                 Wildcard Pitfall.    (line   6)
     3644* evaluating makefile syntax:            Eval Function.       (line   6)
     3645* execution, in parallel:                Parallel.            (line   6)
    28483646* execution, instead of:                 Instead of Execution.
    2849 * execution, of commands:                Execution.
    2850 * exit status (errors):                  Errors.
    2851 * explicit rule, definition of:          Makefile Contents.
    2852 * explicit rule, expansion:              Reading Makefiles.
    2853 * exporting variables:                   Variables/Recursion.
    2854 * f77 <1>:                               Implicit Variables.
    2855 * f77:                                   Catalogue of Rules.
     3647                                                              (line   6)
     3648* execution, of commands:                Execution.           (line   6)
     3649* exit status (errors):                  Errors.              (line   6)
     3650* exit status of make:                   Running.             (line  18)
     3651* expansion, secondary:                  Secondary Expansion. (line   6)
     3652* explicit rule, definition of:          Makefile Contents.   (line  10)
     3653* explicit rule, expansion:              Reading Makefiles.   (line  62)
     3654* explicit rules, secondary expansion of: Secondary Expansion.
     3655                                                              (line 106)
     3656* exporting variables:                   Variables/Recursion. (line   6)
     3657* f77 <1>:                               Implicit Variables.  (line  64)
     3658* f77:                                   Catalogue of Rules.  (line  49)
    28563659* FDL, GNU Free Documentation License:   GNU Free Documentation License.
    2857 * features of GNU make:                  Features.
    2858 * features, missing:                     Missing.
    2859 * file name functions:                   File Name Functions.
    2860 * file name of makefile:                 Makefile Names.
    2861 * file name of makefile, how to specify: Makefile Names.
    2862 * file name prefix, adding:              File Name Functions.
    2863 * file name suffix:                      File Name Functions.
    2864 * file name suffix, adding:              File Name Functions.
    2865 * file name with wildcards:              Wildcards.
    2866 * file name, basename of:                File Name Functions.
    2867 * file name, directory part:             File Name Functions.
    2868 * file name, nondirectory part:          File Name Functions.
     3660                                                              (line   6)
     3661* features of GNU make:                  Features.            (line   6)
     3662* features, missing:                     Missing.             (line   6)
     3663* file name functions:                   File Name Functions. (line   6)
     3664* file name of makefile:                 Makefile Names.      (line   6)
     3665* file name of makefile, how to specify: Makefile Names.      (line  30)
     3666* file name prefix, adding:              File Name Functions. (line  79)
     3667* file name suffix:                      File Name Functions. (line  43)
     3668* file name suffix, adding:              File Name Functions. (line  68)
     3669* file name with wildcards:              Wildcards.           (line   6)
     3670* file name, abspath of:                 File Name Functions. (line 121)
     3671* file name, basename of:                File Name Functions. (line  57)
     3672* file name, directory part:             File Name Functions. (line  17)
     3673* file name, nondirectory part:          File Name Functions. (line  27)
     3674* file name, realpath of:                File Name Functions. (line 114)
    28693675* files, assuming new:                   Instead of Execution.
     3676                                                              (line  33)
    28703677* files, assuming old:                   Avoiding Compilation.
     3678                                                              (line   6)
    28713679* files, avoiding recompilation of:      Avoiding Compilation.
    2872 * files, intermediate:                   Chained Rules.
    2873 * filtering out words:                   Text Functions.
    2874 * filtering words:                       Text Functions.
    2875 * finding strings:                       Text Functions.
    2876 * flags:                                 Options Summary.
    2877 * flags for compilers:                   Implicit Variables.
    2878 * flavors of variables:                  Flavors.
    2879 * FORCE:                                 Force Targets.
    2880 * force targets:                         Force Targets.
    2881 * Fortran, rule to compile:              Catalogue of Rules.
    2882 * functions:                             Functions.
     3680                                                              (line   6)
     3681* files, intermediate:                   Chained Rules.       (line  16)
     3682* filtering out words:                   Text Functions.      (line 132)
     3683* filtering words:                       Text Functions.      (line 114)
     3684* finding strings:                       Text Functions.      (line 103)
     3685* flags:                                 Options Summary.     (line   6)
     3686* flags for compilers:                   Implicit Variables.  (line   6)
     3687* flavor of variable:                    Flavor Function.     (line   6)
     3688* flavors of variables:                  Flavors.             (line   6)
     3689* FORCE:                                 Force Targets.       (line   6)
     3690* force targets:                         Force Targets.       (line   6)
     3691* Fortran, rule to compile:              Catalogue of Rules.  (line  49)
     3692* functions:                             Functions.           (line   6)
    28833693* functions, for controlling make:       Make Control Functions.
    2884 * functions, for file names:             File Name Functions.
    2885 * functions, for text:                   Text Functions.
    2886 * functions, syntax of:                  Syntax of Functions.
    2887 * functions, user defined:               Call Function.
    2888 * g++ <1>:                               Implicit Variables.
    2889 * g++:                                   Catalogue of Rules.
    2890 * gcc:                                   Catalogue of Rules.
     3694                                                              (line   6)
     3695* functions, for file names:             File Name Functions. (line   6)
     3696* functions, for text:                   Text Functions.      (line   6)
     3697* functions, syntax of:                  Syntax of Functions. (line   6)
     3698* functions, user defined:               Call Function.       (line   6)
     3699* g++ <1>:                               Implicit Variables.  (line  53)
     3700* g++:                                   Catalogue of Rules.  (line  39)
     3701* gcc:                                   Catalogue of Rules.  (line  35)
    28913702* generating prerequisites automatically <1>: Automatic Prerequisites.
    2892 * generating prerequisites automatically: Include.
    2893 * get <1>:                               Implicit Variables.
    2894 * get:                                   Catalogue of Rules.
    2895 * globbing (wildcards):                  Wildcards.
    2896 * goal:                                  How Make Works.
    2897 * goal, default <1>:                     Rules.
    2898 * goal, default:                         How Make Works.
    2899 * goal, how to specify:                  Goals.
    2900 * home directory:                        Wildcards.
    2901 * IEEE Standard 1003.2:                  Overview.
    2902 * ifdef, expansion:                      Reading Makefiles.
    2903 * ifeq, expansion:                       Reading Makefiles.
    2904 * ifndef, expansion:                     Reading Makefiles.
    2905 * ifneq, expansion:                      Reading Makefiles.
    2906 * implicit rule:                         Implicit Rules.
    2907 * implicit rule, and directory search:   Implicit/Search.
    2908 * implicit rule, and VPATH:              Implicit/Search.
    2909 * implicit rule, definition of:          Makefile Contents.
    2910 * implicit rule, expansion:              Reading Makefiles.
    2911 * implicit rule, how to use:             Using Implicit.
    2912 * implicit rule, introduction to:        make Deduces.
    2913 * implicit rule, predefined:             Catalogue of Rules.
     3703                                                              (line   6)
     3704* generating prerequisites automatically: Include.            (line  50)
     3705* get <1>:                               Implicit Variables.  (line  67)
     3706* get:                                   Catalogue of Rules.  (line 173)
     3707* globbing (wildcards):                  Wildcards.           (line   6)
     3708* goal:                                  How Make Works.      (line  11)
     3709* goal, default <1>:                     Rules.               (line  11)
     3710* goal, default:                         How Make Works.      (line  11)
     3711* goal, how to specify:                  Goals.               (line   6)
     3712* home directory:                        Wildcards.           (line  11)
     3713* IEEE Standard 1003.2:                  Overview.            (line  13)
     3714* ifdef, expansion:                      Reading Makefiles.   (line  51)
     3715* ifeq, expansion:                       Reading Makefiles.   (line  51)
     3716* ifndef, expansion:                     Reading Makefiles.   (line  51)
     3717* ifneq, expansion:                      Reading Makefiles.   (line  51)
     3718* implicit rule:                         Implicit Rules.      (line   6)
     3719* implicit rule, and directory search:   Implicit/Search.     (line   6)
     3720* implicit rule, and VPATH:              Implicit/Search.     (line   6)
     3721* implicit rule, definition of:          Makefile Contents.   (line  16)
     3722* implicit rule, expansion:              Reading Makefiles.   (line  62)
     3723* implicit rule, how to use:             Using Implicit.      (line   6)
     3724* implicit rule, introduction to:        make Deduces.        (line   6)
     3725* implicit rule, predefined:             Catalogue of Rules.  (line   6)
    29143726* implicit rule, search algorithm:       Implicit Rule Search.
    2915 * included makefiles, default directories: Include.
     3727                                                              (line   6)
     3728* implicit rules, secondary expansion of: Secondary Expansion.
     3729                                                              (line 146)
     3730* included makefiles, default directories: Include.           (line  52)
    29163731* including (MAKEFILE_LIST variable):    MAKEFILE_LIST Variable.
    2917 * including (MAKEFILES variable):        MAKEFILES Variable.
    2918 * including other makefiles:             Include.
    2919 * incompatibilities:                     Missing.
    2920 * Info, rule to format:                  Catalogue of Rules.
    2921 * install (standard target):             Goals.
    2922 * intermediate files:                    Chained Rules.
    2923 * intermediate files, preserving:        Chained Rules.
    2924 * intermediate targets, explicit:        Special Targets.
    2925 * interrupt:                             Interrupts.
    2926 * job slots:                             Parallel.
    2927 * job slots, and recursion:              Options/Recursion.
    2928 * jobs, limiting based on load:          Parallel.
    2929 * joining lists of words:                File Name Functions.
    2930 * killing (interruption):                Interrupts.
    2931 * last-resort default rules:             Last Resort.
    2932 * ld:                                    Catalogue of Rules.
    2933 * lex <1>:                               Implicit Variables.
    2934 * lex:                                   Catalogue of Rules.
    2935 * Lex, rule to run:                      Catalogue of Rules.
    2936 * libraries for linking, directory search: Libraries/Search.
     3732                                                              (line   6)
     3733* including (MAKEFILES variable):        MAKEFILES Variable.  (line   6)
     3734* including other makefiles:             Include.             (line   6)
     3735* incompatibilities:                     Missing.             (line   6)
     3736* Info, rule to format:                  Catalogue of Rules.  (line 158)
     3737* install (standard target):             Goals.               (line  92)
     3738* intermediate files:                    Chained Rules.       (line  16)
     3739* intermediate files, preserving:        Chained Rules.       (line  46)
     3740* intermediate targets, explicit:        Special Targets.     (line  44)
     3741* interrupt:                             Interrupts.          (line   6)
     3742* job slots:                             Parallel.            (line   6)
     3743* job slots, and recursion:              Options/Recursion.   (line  25)
     3744* jobs, limiting based on load:          Parallel.            (line  57)
     3745* joining lists of words:                File Name Functions. (line  90)
     3746* killing (interruption):                Interrupts.          (line   6)
     3747* last-resort default rules:             Last Resort.         (line   6)
     3748* ld:                                    Catalogue of Rules.  (line  86)
     3749* lex <1>:                               Implicit Variables.  (line  71)
     3750* lex:                                   Catalogue of Rules.  (line 124)
     3751* Lex, rule to run:                      Catalogue of Rules.  (line 124)
     3752* libraries for linking, directory search: Libraries/Search.  (line   6)
    29373753* library archive, suffix rule for:      Archive Suffix Rules.
    2938 * limiting jobs based on load:           Parallel.
    2939 * link libraries, and directory search:  Libraries/Search.
    2940 * link libraries, patterns matching:     Libraries/Search.
    2941 * linking, predefined rule for:          Catalogue of Rules.
    2942 * lint:                                  Catalogue of Rules.
    2943 * lint, rule to run:                     Catalogue of Rules.
    2944 * list of all prerequisites:             Automatic Variables.
    2945 * list of changed prerequisites:         Automatic Variables.
    2946 * load average:                          Parallel.
    2947 * loops in variable expansion:           Flavors.
    2948 * lpr (shell command) <1>:               Empty Targets.
    2949 * lpr (shell command):                   Wildcard Examples.
    2950 * m2c:                                   Catalogue of Rules.
    2951 * macro:                                 Using Variables.
     3754                                                              (line   6)
     3755* limiting jobs based on load:           Parallel.            (line  57)
     3756* link libraries, and directory search:  Libraries/Search.    (line   6)
     3757* link libraries, patterns matching:     Libraries/Search.    (line   6)
     3758* linking, predefined rule for:          Catalogue of Rules.  (line  86)
     3759* lint <1>:                              Implicit Variables.  (line  78)
     3760* lint:                                  Catalogue of Rules.  (line 146)
     3761* lint, rule to run:                     Catalogue of Rules.  (line 146)
     3762* list of all prerequisites:             Automatic Variables. (line  61)
     3763* list of changed prerequisites:         Automatic Variables. (line  51)
     3764* load average:                          Parallel.            (line  57)
     3765* loops in variable expansion:           Flavors.             (line  44)
     3766* lpr (shell command) <1>:               Empty Targets.       (line  25)
     3767* lpr (shell command):                   Wildcard Examples.   (line  21)
     3768* m2c <1>:                               Implicit Variables.  (line  81)
     3769* m2c:                                   Catalogue of Rules.  (line  74)
     3770* macro:                                 Using Variables.     (line  10)
    29523771* make depend:                           Automatic Prerequisites.
    2953 * MAKECMDGOALS:                          Goals.
    2954 * makefile:                              Introduction.
    2955 * makefile name:                         Makefile Names.
    2956 * makefile name, how to specify:         Makefile Names.
    2957 * makefile rule parts:                   Rule Introduction.
    2958 * makefile syntax, evaluating:           Eval Function.
    2959 * makefile, and MAKEFILES variable:      MAKEFILES Variable.
     3772                                                              (line  37)
     3773* makefile:                              Introduction.        (line   7)
     3774* makefile name:                         Makefile Names.      (line   6)
     3775* makefile name, how to specify:         Makefile Names.      (line  30)
     3776* makefile rule parts:                   Rule Introduction.   (line   6)
     3777* makefile syntax, evaluating:           Eval Function.       (line   6)
     3778* makefile, and MAKEFILES variable:      MAKEFILES Variable.  (line   6)
    29603779* makefile, conventions for:             Makefile Conventions.
    2961 * makefile, how make processes:          How Make Works.
    2962 * makefile, how to write:                Makefiles.
    2963 * makefile, including:                   Include.
     3780                                                              (line   6)
     3781* makefile, how make processes:          How Make Works.      (line   6)
     3782* makefile, how to write:                Makefiles.           (line   6)
     3783* makefile, including:                   Include.             (line   6)
    29643784* makefile, overriding:                  Overriding Makefiles.
    2965 * makefile, parsing:                     Reading Makefiles.
    2966 * makefile, remaking of:                 Remaking Makefiles.
    2967 * makefile, simple:                      Simple Makefile.
     3785                                                              (line   6)
     3786* makefile, parsing:                     Reading Makefiles.   (line   6)
     3787* makefile, remaking of:                 Remaking Makefiles.  (line   6)
     3788* makefile, simple:                      Simple Makefile.     (line   6)
    29683789* makefiles, and MAKEFILE_LIST variable: MAKEFILE_LIST Variable.
    2969 * makefiles, and special variables:      Special Variables.
    2970 * makeinfo <1>:                          Implicit Variables.
    2971 * makeinfo:                              Catalogue of Rules.
     3790                                                              (line   6)
     3791* makefiles, and special variables:      Special Variables.   (line   6)
     3792* makeinfo <1>:                          Implicit Variables.  (line  88)
     3793* makeinfo:                              Catalogue of Rules.  (line 158)
    29723794* match-anything rule:                   Match-Anything Rules.
     3795                                                              (line   6)
    29733796* match-anything rule, used to override: Overriding Makefiles.
    2974 * missing features:                      Missing.
    2975 * mistakes with wildcards:               Wildcard Pitfall.
    2976 * modified variable reference:           Substitution Refs.
    2977 * Modula-2, rule to compile:             Catalogue of Rules.
    2978 * mostlyclean (standard target):         Goals.
    2979 * multiple rules for one target:         Multiple Rules.
    2980 * multiple rules for one target (::):    Double-Colon.
    2981 * multiple targets:                      Multiple Targets.
    2982 * multiple targets, in pattern rule:     Pattern Intro.
    2983 * name of makefile:                      Makefile Names.
    2984 * name of makefile, how to specify:      Makefile Names.
    2985 * nested variable reference:             Computed Names.
    2986 * newline, quoting, in commands:         Execution.
    2987 * newline, quoting, in makefile:         Simple Makefile.
    2988 * nondirectory part:                     File Name Functions.
    2989 * normal prerequisites:                  Prerequisite Types.
    2990 * OBJ:                                   Variables Simplify.
    2991 * obj:                                   Variables Simplify.
    2992 * OBJECTS:                               Variables Simplify.
    2993 * objects:                               Variables Simplify.
    2994 * OBJS:                                  Variables Simplify.
    2995 * objs:                                  Variables Simplify.
    2996 * old-fashioned suffix rules:            Suffix Rules.
    2997 * options:                               Options Summary.
    2998 * options, and recursion:                Options/Recursion.
    2999 * options, setting from environment:     Options/Recursion.
    3000 * options, setting in makefiles:         Options/Recursion.
    3001 * order of pattern rules:                Pattern Intro.
    3002 * order-only prerequisites:              Prerequisite Types.
    3003 * origin of variable:                    Origin Function.
     3797                                                              (line  12)
     3798* missing features:                      Missing.             (line   6)
     3799* mistakes with wildcards:               Wildcard Pitfall.    (line   6)
     3800* modified variable reference:           Substitution Refs.   (line   6)
     3801* Modula-2, rule to compile:             Catalogue of Rules.  (line  74)
     3802* mostlyclean (standard target):         Goals.               (line  78)
     3803* multiple rules for one target:         Multiple Rules.      (line   6)
     3804* multiple rules for one target (::):    Double-Colon.        (line   6)
     3805* multiple targets:                      Multiple Targets.    (line   6)
     3806* multiple targets, in pattern rule:     Pattern Intro.       (line  49)
     3807* name of makefile:                      Makefile Names.      (line   6)
     3808* name of makefile, how to specify:      Makefile Names.      (line  30)
     3809* nested variable reference:             Computed Names.      (line   6)
     3810* newline, quoting, in commands:         Splitting Lines.     (line   6)
     3811* newline, quoting, in makefile:         Simple Makefile.     (line  40)
     3812* nondirectory part:                     File Name Functions. (line  27)
     3813* normal prerequisites:                  Prerequisite Types.  (line   6)
     3814* OBJ:                                   Variables Simplify.  (line  20)
     3815* obj:                                   Variables Simplify.  (line  20)
     3816* OBJECTS:                               Variables Simplify.  (line  20)
     3817* objects:                               Variables Simplify.  (line  14)
     3818* OBJS:                                  Variables Simplify.  (line  20)
     3819* objs:                                  Variables Simplify.  (line  20)
     3820* old-fashioned suffix rules:            Suffix Rules.        (line   6)
     3821* options:                               Options Summary.     (line   6)
     3822* options, and recursion:                Options/Recursion.   (line   6)
     3823* options, setting from environment:     Options/Recursion.   (line  81)
     3824* options, setting in makefiles:         Options/Recursion.   (line  81)
     3825* order of pattern rules:                Pattern Intro.       (line  57)
     3826* order-only prerequisites:              Prerequisite Types.  (line   6)
     3827* origin of variable:                    Origin Function.     (line   6)
    30043828* overriding makefiles:                  Overriding Makefiles.
    3005 * overriding variables with arguments:   Overriding.
    3006 * overriding with override:              Override Directive.
    3007 * parallel execution:                    Parallel.
    3008 * parallel execution, and archive update: Archive Pitfalls.
    3009 * parallel execution, overriding:        Special Targets.
    3010 * parts of makefile rule:                Rule Introduction.
    3011 * Pascal, rule to compile:               Catalogue of Rules.
    3012 * pattern rule:                          Pattern Intro.
    3013 * pattern rule, expansion:               Reading Makefiles.
    3014 * pattern rules, order of:               Pattern Intro.
    3015 * pattern rules, static (not implicit):  Static Pattern.
    3016 * pattern rules, static, syntax of:      Static Usage.
    3017 * pattern-specific variables:            Pattern-specific.
    3018 * pc <1>:                                Implicit Variables.
    3019 * pc:                                    Catalogue of Rules.
    3020 * phony targets:                         Phony Targets.
    3021 * pitfalls of wildcards:                 Wildcard Pitfall.
    3022 * portability:                           Features.
    3023 * POSIX:                                 Overview.
    3024 * POSIX.2:                               Options/Recursion.
     3829                                                              (line   6)
     3830* overriding variables with arguments:   Overriding.          (line   6)
     3831* overriding with override:              Override Directive.  (line   6)
     3832* parallel execution:                    Parallel.            (line   6)
     3833* parallel execution, and archive update: Archive Pitfalls.   (line   6)
     3834* parallel execution, overriding:        Special Targets.     (line 135)
     3835* parts of makefile rule:                Rule Introduction.   (line   6)
     3836* Pascal, rule to compile:               Catalogue of Rules.  (line  45)
     3837* pattern rule:                          Pattern Intro.       (line   6)
     3838* pattern rule, expansion:               Reading Makefiles.   (line  62)
     3839* pattern rules, order of:               Pattern Intro.       (line  57)
     3840* pattern rules, static (not implicit):  Static Pattern.      (line   6)
     3841* pattern rules, static, syntax of:      Static Usage.        (line   6)
     3842* pattern-specific variables:            Pattern-specific.    (line   6)
     3843* pc <1>:                                Implicit Variables.  (line  84)
     3844* pc:                                    Catalogue of Rules.  (line  45)
     3845* phony targets:                         Phony Targets.       (line   6)
     3846* pitfalls of wildcards:                 Wildcard Pitfall.    (line   6)
     3847* portability:                           Features.            (line   6)
     3848* POSIX:                                 Overview.            (line  13)
     3849* POSIX.2:                               Options/Recursion.   (line  60)
    30253850* post-installation commands:            Install Command Categories.
     3851                                                              (line   6)
    30263852* pre-installation commands:             Install Command Categories.
    3027 * precious targets:                      Special Targets.
    3028 * predefined rules and variables, printing: Options Summary.
    3029 * prefix, adding:                        File Name Functions.
    3030 * prerequisite:                          Rules.
    3031 * prerequisite pattern, implicit:        Pattern Intro.
    3032 * prerequisite pattern, static (not implicit): Static Usage.
    3033 * prerequisite types:                    Prerequisite Types.
    3034 * prerequisite, expansion:               Reading Makefiles.
    3035 * prerequisites:                         Rule Syntax.
     3853                                                              (line   6)
     3854* precious targets:                      Special Targets.     (line  29)
     3855* predefined rules and variables, printing: Options Summary.  (line 155)
     3856* prefix, adding:                        File Name Functions. (line  79)
     3857* prerequisite:                          Rules.               (line   6)
     3858* prerequisite pattern, implicit:        Pattern Intro.       (line  22)
     3859* prerequisite pattern, static (not implicit): Static Usage.  (line  30)
     3860* prerequisite types:                    Prerequisite Types.  (line   6)
     3861* prerequisite, expansion:               Reading Makefiles.   (line  62)
     3862* prerequisites:                         Rule Syntax.         (line  46)
    30363863* prerequisites, and automatic variables: Automatic Variables.
     3864                                                              (line  17)
    30373865* prerequisites, automatic generation <1>: Automatic Prerequisites.
    3038 * prerequisites, automatic generation:   Include.
    3039 * prerequisites, introduction to:        Rule Introduction.
    3040 * prerequisites, list of all:            Automatic Variables.
    3041 * prerequisites, list of changed:        Automatic Variables.
    3042 * prerequisites, normal:                 Prerequisite Types.
    3043 * prerequisites, order-only:             Prerequisite Types.
    3044 * prerequisites, varying (static pattern): Static Pattern.
    3045 * preserving intermediate files:         Chained Rules.
    3046 * preserving with .PRECIOUS <1>:         Chained Rules.
    3047 * preserving with .PRECIOUS:             Special Targets.
    3048 * preserving with .SECONDARY:            Special Targets.
    3049 * print (standard target):               Goals.
    3050 * print target <1>:                      Empty Targets.
    3051 * print target:                          Wildcard Examples.
    3052 * printing directories:                  -w Option.
    3053 * printing of commands:                  Echoing.
     3866                                                              (line   6)
     3867* prerequisites, automatic generation:   Include.             (line  50)
     3868* prerequisites, introduction to:        Rule Introduction.   (line   8)
     3869* prerequisites, list of all:            Automatic Variables. (line  61)
     3870* prerequisites, list of changed:        Automatic Variables. (line  51)
     3871* prerequisites, normal:                 Prerequisite Types.  (line   6)
     3872* prerequisites, order-only:             Prerequisite Types.  (line   6)
     3873* prerequisites, varying (static pattern): Static Pattern.    (line   6)
     3874* preserving intermediate files:         Chained Rules.       (line  46)
     3875* preserving with .PRECIOUS <1>:         Chained Rules.       (line  56)
     3876* preserving with .PRECIOUS:             Special Targets.     (line  29)
     3877* preserving with .SECONDARY:            Special Targets.     (line  49)
     3878* print (standard target):               Goals.               (line  97)
     3879* print target <1>:                      Empty Targets.       (line  25)
     3880* print target:                          Wildcard Examples.   (line  21)
     3881* printing directories:                  -w Option.           (line   6)
     3882* printing messages:                     Make Control Functions.
     3883                                                              (line  43)
     3884* printing of commands:                  Echoing.             (line   6)
    30543885* printing user warnings:                Make Control Functions.
    3055 * problems and bugs, reporting:          Bugs.
    3056 * problems with wildcards:               Wildcard Pitfall.
    3057 * processing a makefile:                 How Make Works.
     3886                                                              (line  35)
     3887* problems and bugs, reporting:          Bugs.                (line   6)
     3888* problems with wildcards:               Wildcard Pitfall.    (line   6)
     3889* processing a makefile:                 How Make Works.      (line   6)
    30583890* question mode:                         Instead of Execution.
    3059 * quoting %, in patsubst:                Text Functions.
    3060 * quoting %, in static pattern:          Static Usage.
    3061 * quoting %, in vpath:                   Selective Search.
    3062 * quoting newline, in commands:          Execution.
    3063 * quoting newline, in makefile:          Simple Makefile.
    3064 * Ratfor, rule to compile:               Catalogue of Rules.
    3065 * RCS, rule to extract from:             Catalogue of Rules.
    3066 * reading makefiles:                     Reading Makefiles.
    3067 * README:                                Makefile Names.
    3068 * realclean (standard target):           Goals.
    3069 * recompilation:                         Introduction.
     3891                                                              (line  25)
     3892* quoting %, in patsubst:                Text Functions.      (line  26)
     3893* quoting %, in static pattern:          Static Usage.        (line  37)
     3894* quoting %, in vpath:                   Selective Search.    (line  38)
     3895* quoting newline, in commands:          Splitting Lines.     (line   6)
     3896* quoting newline, in makefile:          Simple Makefile.     (line  40)
     3897* Ratfor, rule to compile:               Catalogue of Rules.  (line  49)
     3898* RCS, rule to extract from:             Catalogue of Rules.  (line 164)
     3899* reading makefiles:                     Reading Makefiles.   (line   6)
     3900* README:                                Makefile Names.      (line   9)
     3901* realclean (standard target):           Goals.               (line  85)
     3902* realpath:                              File Name Functions. (line 114)
     3903* recompilation:                         Introduction.        (line  22)
    30703904* recompilation, avoiding:               Avoiding Compilation.
    3071 * recording events with empty targets:   Empty Targets.
    3072 * recursion:                             Recursion.
    3073 * recursion, and -C:                     Options/Recursion.
    3074 * recursion, and -f:                     Options/Recursion.
    3075 * recursion, and -j:                     Options/Recursion.
    3076 * recursion, and -o:                     Options/Recursion.
    3077 * recursion, and -t:                     MAKE Variable.
    3078 * recursion, and -w:                     -w Option.
    3079 * recursion, and -W:                     Options/Recursion.
     3905                                                              (line   6)
     3906* recording events with empty targets:   Empty Targets.       (line   6)
     3907* recursion:                             Recursion.           (line   6)
     3908* recursion, and -C:                     Options/Recursion.   (line  22)
     3909* recursion, and -f:                     Options/Recursion.   (line  22)
     3910* recursion, and -j:                     Options/Recursion.   (line  25)
     3911* recursion, and -o:                     Options/Recursion.   (line  22)
     3912* recursion, and -t:                     MAKE Variable.       (line  34)
     3913* recursion, and -w:                     -w Option.           (line  20)
     3914* recursion, and -W:                     Options/Recursion.   (line  22)
    30803915* recursion, and command line variable definitions: Options/Recursion.
    3081 * recursion, and environment:            Variables/Recursion.
    3082 * recursion, and MAKE variable:          MAKE Variable.
    3083 * recursion, and MAKEFILES variable:     MAKEFILES Variable.
    3084 * recursion, and options:                Options/Recursion.
    3085 * recursion, and printing directories:   -w Option.
    3086 * recursion, and variables:              Variables/Recursion.
    3087 * recursion, level of:                   Variables/Recursion.
    3088 * recursive variable expansion <1>:      Flavors.
    3089 * recursive variable expansion:          Using Variables.
    3090 * recursively expanded variables:        Flavors.
    3091 * reference to variables <1>:            Advanced.
    3092 * reference to variables:                Reference.
    3093 * relinking:                             How Make Works.
    3094 * remaking makefiles:                    Remaking Makefiles.
    3095 * removal of target files <1>:           Interrupts.
    3096 * removal of target files:               Errors.
    3097 * removing duplicate words:              Text Functions.
    3098 * removing targets on failure:           Special Targets.
    3099 * removing, to clean up:                 Cleanup.
    3100 * reporting bugs:                        Bugs.
    3101 * rm:                                    Implicit Variables.
    3102 * rm (shell command) <1>:                Errors.
    3103 * rm (shell command) <2>:                Phony Targets.
    3104 * rm (shell command) <3>:                Wildcard Examples.
    3105 * rm (shell command):                    Simple Makefile.
    3106 * rule commands:                         Commands.
    3107 * rule prerequisites:                    Rule Syntax.
    3108 * rule syntax:                           Rule Syntax.
    3109 * rule targets:                          Rule Syntax.
    3110 * rule, and $:                           Rule Syntax.
    3111 * rule, double-colon (::):               Double-Colon.
    3112 * rule, explicit, definition of:         Makefile Contents.
    3113 * rule, how to write:                    Rules.
    3114 * rule, implicit:                        Implicit Rules.
    3115 * rule, implicit, and directory search:  Implicit/Search.
    3116 * rule, implicit, and VPATH:             Implicit/Search.
    3117 * rule, implicit, chains of:             Chained Rules.
    3118 * rule, implicit, definition of:         Makefile Contents.
    3119 * rule, implicit, how to use:            Using Implicit.
    3120 * rule, implicit, introduction to:       make Deduces.
    3121 * rule, implicit, predefined:            Catalogue of Rules.
    3122 * rule, introduction to:                 Rule Introduction.
    3123 * rule, multiple for one target:         Multiple Rules.
    3124 * rule, no commands or prerequisites:    Force Targets.
    3125 * rule, pattern:                         Pattern Intro.
    3126 * rule, static pattern:                  Static Pattern.
     3916                                                              (line  17)
     3917* recursion, and environment:            Variables/Recursion. (line   6)
     3918* recursion, and MAKE variable:          MAKE Variable.       (line   6)
     3919* recursion, and MAKEFILES variable:     MAKEFILES Variable.  (line  14)
     3920* recursion, and options:                Options/Recursion.   (line   6)
     3921* recursion, and printing directories:   -w Option.           (line   6)
     3922* recursion, and variables:              Variables/Recursion. (line   6)
     3923* recursion, level of:                   Variables/Recursion. (line 115)
     3924* recursive variable expansion <1>:      Flavors.             (line   6)
     3925* recursive variable expansion:          Using Variables.     (line   6)
     3926* recursively expanded variables:        Flavors.             (line   6)
     3927* reference to variables <1>:            Advanced.            (line   6)
     3928* reference to variables:                Reference.           (line   6)
     3929* relinking:                             How Make Works.      (line  46)
     3930* remaking makefiles:                    Remaking Makefiles.  (line   6)
     3931* removal of target files <1>:           Interrupts.          (line   6)
     3932* removal of target files:               Errors.              (line  64)
     3933* removing duplicate words:              Text Functions.      (line 155)
     3934* removing targets on failure:           Special Targets.     (line  68)
     3935* removing, to clean up:                 Cleanup.             (line   6)
     3936* reporting bugs:                        Bugs.                (line   6)
     3937* rm:                                    Implicit Variables.  (line 110)
     3938* rm (shell command) <1>:                Errors.              (line  27)
     3939* rm (shell command) <2>:                Phony Targets.       (line  20)
     3940* rm (shell command) <3>:                Wildcard Examples.   (line  12)
     3941* rm (shell command):                    Simple Makefile.     (line  83)
     3942* rule commands:                         Commands.            (line   6)
     3943* rule prerequisites:                    Rule Syntax.         (line  46)
     3944* rule syntax:                           Rule Syntax.         (line   6)
     3945* rule targets:                          Rule Syntax.         (line  18)
     3946* rule, double-colon (::):               Double-Colon.        (line   6)
     3947* rule, explicit, definition of:         Makefile Contents.   (line  10)
     3948* rule, how to write:                    Rules.               (line   6)
     3949* rule, implicit:                        Implicit Rules.      (line   6)
     3950* rule, implicit, and directory search:  Implicit/Search.     (line   6)
     3951* rule, implicit, and VPATH:             Implicit/Search.     (line   6)
     3952* rule, implicit, chains of:             Chained Rules.       (line   6)
     3953* rule, implicit, definition of:         Makefile Contents.   (line  16)
     3954* rule, implicit, how to use:            Using Implicit.      (line   6)
     3955* rule, implicit, introduction to:       make Deduces.        (line   6)
     3956* rule, implicit, predefined:            Catalogue of Rules.  (line   6)
     3957* rule, introduction to:                 Rule Introduction.   (line   6)
     3958* rule, multiple for one target:         Multiple Rules.      (line   6)
     3959* rule, no commands or prerequisites:    Force Targets.       (line   6)
     3960* rule, pattern:                         Pattern Intro.       (line   6)
     3961* rule, static pattern:                  Static Pattern.      (line   6)
    31273962* rule, static pattern versus implicit:  Static versus Implicit.
    3128 * rule, with multiple targets:           Multiple Targets.
    3129 * s. (SCCS file prefix):                 Catalogue of Rules.
    3130 * SCCS, rule to extract from:            Catalogue of Rules.
     3963                                                              (line   6)
     3964* rule, with multiple targets:           Multiple Targets.    (line   6)
     3965* rules, and $:                          Rule Syntax.         (line  32)
     3966* s. (SCCS file prefix):                 Catalogue of Rules.  (line 173)
     3967* SCCS, rule to extract from:            Catalogue of Rules.  (line 173)
    31313968* search algorithm, implicit rule:       Implicit Rule Search.
    3132 * search path for prerequisites (VPATH): Directory Search.
     3969                                                              (line   6)
     3970* search path for prerequisites (VPATH): Directory Search.    (line   6)
    31333971* search path for prerequisites (VPATH), and implicit rules: Implicit/Search.
     3972                                                              (line   6)
    31343973* search path for prerequisites (VPATH), and link libraries: Libraries/Search.
    3135 * searching for strings:                 Text Functions.
    3136 * secondary files:                       Chained Rules.
    3137 * secondary targets:                     Special Targets.
     3974                                                              (line   6)
     3975* searching for strings:                 Text Functions.      (line 103)
     3976* secondary expansion:                   Secondary Expansion. (line   6)
     3977* secondary expansion and explicit rules: Secondary Expansion.
     3978                                                              (line 106)
     3979* secondary expansion and implicit rules: Secondary Expansion.
     3980                                                              (line 146)
     3981* secondary expansion and static pattern rules: Secondary Expansion.
     3982                                                              (line 138)
     3983* secondary files:                       Chained Rules.       (line  46)
     3984* secondary targets:                     Special Targets.     (line  49)
    31383985* sed (shell command):                   Automatic Prerequisites.
    3139 * selecting a word:                      Text Functions.
    3140 * selecting word lists:                  Text Functions.
    3141 * sequences of commands:                 Sequences.
    3142 * setting options from environment:      Options/Recursion.
    3143 * setting options in makefiles:          Options/Recursion.
    3144 * setting variables:                     Setting.
    3145 * several rules for one target:          Multiple Rules.
    3146 * several targets in a rule:             Multiple Targets.
    3147 * shar (standard target):                Goals.
    3148 * shell command:                         Simple Makefile.
    3149 * shell command, and directory search:   Commands/Search.
    3150 * shell command, execution:              Execution.
    3151 * shell command, function for:           Shell Function.
    3152 * shell file name pattern (in include):  Include.
    3153 * shell wildcards (in include):          Include.
    3154 * SHELL, MS-DOS specifics:               Execution.
    3155 * signal:                                Interrupts.
    3156 * silent operation:                      Echoing.
    3157 * simple makefile:                       Simple Makefile.
    3158 * simple variable expansion:             Using Variables.
    3159 * simplifying with variables:            Variables Simplify.
    3160 * simply expanded variables:             Flavors.
    3161 * sorting words:                         Text Functions.
    3162 * spaces, in variable values:            Flavors.
    3163 * spaces, stripping:                     Text Functions.
    3164 * special targets:                       Special Targets.
    3165 * special variables:                     Special Variables.
    3166 * specifying makefile name:              Makefile Names.
    3167 * standard input:                        Parallel.
    3168 * standards conformance:                 Overview.
     3986                                                              (line  73)
     3987* selecting a word:                      Text Functions.      (line 159)
     3988* selecting word lists:                  Text Functions.      (line 168)
     3989* sequences of commands:                 Sequences.           (line   6)
     3990* setting options from environment:      Options/Recursion.   (line  81)
     3991* setting options in makefiles:          Options/Recursion.   (line  81)
     3992* setting variables:                     Setting.             (line   6)
     3993* several rules for one target:          Multiple Rules.      (line   6)
     3994* several targets in a rule:             Multiple Targets.    (line   6)
     3995* shar (standard target):                Goals.               (line 103)
     3996* shell command:                         Simple Makefile.     (line  72)
     3997* shell command, and directory search:   Commands/Search.     (line   6)
     3998* shell command, execution:              Execution.           (line   6)
     3999* shell command, function for:           Shell Function.      (line   6)
     4000* shell file name pattern (in include):  Include.             (line  13)
     4001* shell variables, setting in commands:  Execution.           (line  10)
     4002* shell wildcards (in include):          Include.             (line  13)
     4003* shell, choosing the:                   Choosing the Shell.  (line   6)
     4004* SHELL, exported value:                 Variables/Recursion. (line  23)
     4005* SHELL, import from environment:        Environment.         (line  37)
     4006* shell, in DOS and Windows:             Choosing the Shell.  (line  36)
     4007* SHELL, MS-DOS specifics:               Choosing the Shell.  (line  42)
     4008* SHELL, value of:                       Choosing the Shell.  (line   6)
     4009* signal:                                Interrupts.          (line   6)
     4010* silent operation:                      Echoing.             (line   6)
     4011* simple makefile:                       Simple Makefile.     (line   6)
     4012* simple variable expansion:             Using Variables.     (line   6)
     4013* simplifying with variables:            Variables Simplify.  (line   6)
     4014* simply expanded variables:             Flavors.             (line  56)
     4015* sorting words:                         Text Functions.      (line 146)
     4016* spaces, in variable values:            Flavors.             (line 103)
     4017* spaces, stripping:                     Text Functions.      (line  80)
     4018* special targets:                       Special Targets.     (line   6)
     4019* special variables:                     Special Variables.   (line   6)
     4020* specifying makefile name:              Makefile Names.      (line  30)
     4021* splitting commands:                    Splitting Lines.     (line   6)
     4022* standard input:                        Parallel.            (line  30)
     4023* standards conformance:                 Overview.            (line  13)
    31694024* standards for makefiles:               Makefile Conventions.
    3170 * static pattern rule:                   Static Pattern.
    3171 * static pattern rule, syntax of:        Static Usage.
     4025                                                              (line   6)
     4026* static pattern rule:                   Static Pattern.      (line   6)
     4027* static pattern rule, syntax of:        Static Usage.        (line   6)
    31724028* static pattern rule, versus implicit:  Static versus Implicit.
    3173 * stem <1>:                              Pattern Match.
    3174 * stem:                                  Static Usage.
    3175 * stem, variable for:                    Automatic Variables.
     4029                                                              (line   6)
     4030* static pattern rules, secondary expansion of: Secondary Expansion.
     4031                                                              (line 138)
     4032* stem <1>:                              Pattern Match.       (line   6)
     4033* stem:                                  Static Usage.        (line  17)
     4034* stem, variable for:                    Automatic Variables. (line  77)
    31764035* stopping make:                         Make Control Functions.
    3177 * strings, searching for:                Text Functions.
    3178 * stripping whitespace:                  Text Functions.
    3179 * sub-make:                              Variables/Recursion.
    3180 * subdirectories, recursion for:         Recursion.
    3181 * substitution variable reference:       Substitution Refs.
    3182 * suffix rule:                           Suffix Rules.
     4036                                                              (line  11)
     4037* strings, searching for:                Text Functions.      (line 103)
     4038* stripping whitespace:                  Text Functions.      (line  80)
     4039* sub-make:                              Variables/Recursion. (line   6)
     4040* subdirectories, recursion for:         Recursion.           (line   6)
     4041* substitution variable reference:       Substitution Refs.   (line   6)
     4042* suffix rule:                           Suffix Rules.        (line   6)
    31834043* suffix rule, for archive:              Archive Suffix Rules.
    3184 * suffix, adding:                        File Name Functions.
    3185 * suffix, function to find:              File Name Functions.
    3186 * suffix, substituting in variables:     Substitution Refs.
    3187 * switches:                              Options Summary.
    3188 * symbol directories, updating archive:  Archive Symbols.
    3189 * syntax of rules:                       Rule Syntax.
    3190 * tab character (in commands):           Rule Syntax.
    3191 * tabs in rules:                         Rule Introduction.
    3192 * TAGS (standard target):                Goals.
    3193 * tangle <1>:                            Implicit Variables.
    3194 * tangle:                                Catalogue of Rules.
    3195 * tar (standard target):                 Goals.
    3196 * target:                                Rules.
    3197 * target pattern, implicit:              Pattern Intro.
    3198 * target pattern, static (not implicit): Static Usage.
    3199 * target, deleting on error:             Errors.
    3200 * target, deleting on interrupt:         Interrupts.
    3201 * target, expansion:                     Reading Makefiles.
    3202 * target, multiple in pattern rule:      Pattern Intro.
    3203 * target, multiple rules for one:        Multiple Rules.
     4044                                                              (line   6)
     4045* suffix, adding:                        File Name Functions. (line  68)
     4046* suffix, function to find:              File Name Functions. (line  43)
     4047* suffix, substituting in variables:     Substitution Refs.   (line   6)
     4048* switches:                              Options Summary.     (line   6)
     4049* symbol directories, updating archive:  Archive Symbols.     (line   6)
     4050* syntax of commands:                    Command Syntax.      (line   6)
     4051* syntax of rules:                       Rule Syntax.         (line   6)
     4052* tab character (in commands):           Rule Syntax.         (line  26)
     4053* tabs in rules:                         Rule Introduction.   (line  21)
     4054* TAGS (standard target):                Goals.               (line 111)
     4055* tangle <1>:                            Implicit Variables.  (line 104)
     4056* tangle:                                Catalogue of Rules.  (line 151)
     4057* tar (standard target):                 Goals.               (line 100)
     4058* target:                                Rules.               (line   6)
     4059* target pattern, implicit:              Pattern Intro.       (line   9)
     4060* target pattern, static (not implicit): Static Usage.        (line  17)
     4061* target, deleting on error:             Errors.              (line  64)
     4062* target, deleting on interrupt:         Interrupts.          (line   6)
     4063* target, expansion:                     Reading Makefiles.   (line  62)
     4064* target, multiple in pattern rule:      Pattern Intro.       (line  49)
     4065* target, multiple rules for one:        Multiple Rules.      (line   6)
    32044066* target, touching:                      Instead of Execution.
    3205 * target-specific variables:             Target-specific.
    3206 * targets:                               Rule Syntax.
    3207 * targets without a file:                Phony Targets.
    3208 * targets, built-in special:             Special Targets.
    3209 * targets, empty:                        Empty Targets.
    3210 * targets, force:                        Force Targets.
    3211 * targets, introduction to:              Rule Introduction.
    3212 * targets, multiple:                     Multiple Targets.
    3213 * targets, phony:                        Phony Targets.
     4067                                                              (line  19)
     4068* target-specific variables:             Target-specific.     (line   6)
     4069* targets:                               Rule Syntax.         (line  18)
     4070* targets without a file:                Phony Targets.       (line   6)
     4071* targets, built-in special:             Special Targets.     (line   6)
     4072* targets, empty:                        Empty Targets.       (line   6)
     4073* targets, force:                        Force Targets.       (line   6)
     4074* targets, introduction to:              Rule Introduction.   (line   8)
     4075* targets, multiple:                     Multiple Targets.    (line   6)
     4076* targets, phony:                        Phony Targets.       (line   6)
    32144077* terminal rule:                         Match-Anything Rules.
    3215 * test (standard target):                Goals.
    3216 * testing compilation:                   Testing.
    3217 * tex <1>:                               Implicit Variables.
    3218 * tex:                                   Catalogue of Rules.
    3219 * TeX, rule to run:                      Catalogue of Rules.
    3220 * texi2dvi <1>:                          Implicit Variables.
    3221 * texi2dvi:                              Catalogue of Rules.
    3222 * Texinfo, rule to format:               Catalogue of Rules.
    3223 * tilde (~):                             Wildcards.
    3224 * touch (shell command) <1>:             Empty Targets.
    3225 * touch (shell command):                 Wildcard Examples.
     4078                                                              (line   6)
     4079* test (standard target):                Goals.               (line 115)
     4080* testing compilation:                   Testing.             (line   6)
     4081* tex <1>:                               Implicit Variables.  (line  91)
     4082* tex:                                   Catalogue of Rules.  (line 151)
     4083* TeX, rule to run:                      Catalogue of Rules.  (line 151)
     4084* texi2dvi <1>:                          Implicit Variables.  (line  95)
     4085* texi2dvi:                              Catalogue of Rules.  (line 158)
     4086* Texinfo, rule to format:               Catalogue of Rules.  (line 158)
     4087* tilde (~):                             Wildcards.           (line  11)
     4088* touch (shell command) <1>:             Empty Targets.       (line  25)
     4089* touch (shell command):                 Wildcard Examples.   (line  21)
    32264090* touching files:                        Instead of Execution.
    3227 * traditional directory search (GPATH):  Search Algorithm.
    3228 * types of prerequisites:                Prerequisite Types.
    3229 * undefined variables, warning message:  Options Summary.
    3230 * updating archive symbol directories:   Archive Symbols.
    3231 * updating makefiles:                    Remaking Makefiles.
    3232 * user defined functions:                Call Function.
    3233 * value:                                 Using Variables.
    3234 * value, how a variable gets it:         Values.
    3235 * variable:                              Using Variables.
    3236 * variable definition:                   Makefile Contents.
    3237 * variables:                             Variables Simplify.
    3238 * variables, $ in name:                  Computed Names.
    3239 * variables, and implicit rule:          Automatic Variables.
    3240 * variables, appending to:               Appending.
    3241 * variables, automatic:                  Automatic Variables.
    3242 * variables, command line:               Overriding.
    3243 * variables, command line, and recursion: Options/Recursion.
    3244 * variables, computed names:             Computed Names.
    3245 * variables, conditional assignment:     Flavors.
    3246 * variables, defining verbatim:          Defining.
    3247 * variables, environment <1>:            Environment.
    3248 * variables, environment:                Variables/Recursion.
    3249 * variables, exporting:                  Variables/Recursion.
    3250 * variables, flavors:                    Flavors.
    3251 * variables, how they get their values:  Values.
    3252 * variables, how to reference:           Reference.
    3253 * variables, loops in expansion:         Flavors.
    3254 * variables, modified reference:         Substitution Refs.
    3255 * variables, nested references:          Computed Names.
    3256 * variables, origin of:                  Origin Function.
    3257 * variables, overriding:                 Override Directive.
    3258 * variables, overriding with arguments:  Overriding.
    3259 * variables, pattern-specific:           Pattern-specific.
    3260 * variables, recursively expanded:       Flavors.
    3261 * variables, setting:                    Setting.
    3262 * variables, simply expanded:            Flavors.
    3263 * variables, spaces in values:           Flavors.
    3264 * variables, substituting suffix in:     Substitution Refs.
    3265 * variables, substitution reference:     Substitution Refs.
    3266 * variables, target-specific:            Target-specific.
    3267 * variables, unexpanded value:           Value Function.
    3268 * variables, warning for undefined:      Options Summary.
    3269 * varying prerequisites:                 Static Pattern.
    3270 * verbatim variable definition:          Defining.
    3271 * vpath:                                 Directory Search.
    3272 * VPATH, and implicit rules:             Implicit/Search.
    3273 * VPATH, and link libraries:             Libraries/Search.
     4091                                                              (line  19)
     4092* traditional directory search (GPATH):  Search Algorithm.    (line  42)
     4093* types of prerequisites:                Prerequisite Types.  (line   6)
     4094* undefined variables, warning message:  Options Summary.     (line 251)
     4095* updating archive symbol directories:   Archive Symbols.     (line   6)
     4096* updating makefiles:                    Remaking Makefiles.  (line   6)
     4097* user defined functions:                Call Function.       (line   6)
     4098* value:                                 Using Variables.     (line   6)
     4099* value, how a variable gets it:         Values.              (line   6)
     4100* variable:                              Using Variables.     (line   6)
     4101* variable definition:                   Makefile Contents.   (line  22)
     4102* variable references in commands:       Variables in Commands.
     4103                                                              (line   6)
     4104* variables:                             Variables Simplify.  (line   6)
     4105* variables, $ in name:                  Computed Names.      (line   6)
     4106* variables, and implicit rule:          Automatic Variables. (line   6)
     4107* variables, appending to:               Appending.           (line   6)
     4108* variables, automatic:                  Automatic Variables. (line   6)
     4109* variables, command line:               Overriding.          (line   6)
     4110* variables, command line, and recursion: Options/Recursion.  (line  17)
     4111* variables, computed names:             Computed Names.      (line   6)
     4112* variables, conditional assignment:     Flavors.             (line 129)
     4113* variables, defining verbatim:          Defining.            (line   6)
     4114* variables, environment <1>:            Environment.         (line   6)
     4115* variables, environment:                Variables/Recursion. (line   6)
     4116* variables, exporting:                  Variables/Recursion. (line   6)
     4117* variables, flavor of:                  Flavor Function.     (line   6)
     4118* variables, flavors:                    Flavors.             (line   6)
     4119* variables, how they get their values:  Values.              (line   6)
     4120* variables, how to reference:           Reference.           (line   6)
     4121* variables, loops in expansion:         Flavors.             (line  44)
     4122* variables, modified reference:         Substitution Refs.   (line   6)
     4123* variables, nested references:          Computed Names.      (line   6)
     4124* variables, origin of:                  Origin Function.     (line   6)
     4125* variables, overriding:                 Override Directive.  (line   6)
     4126* variables, overriding with arguments:  Overriding.          (line   6)
     4127* variables, pattern-specific:           Pattern-specific.    (line   6)
     4128* variables, recursively expanded:       Flavors.             (line   6)
     4129* variables, setting:                    Setting.             (line   6)
     4130* variables, simply expanded:            Flavors.             (line  56)
     4131* variables, spaces in values:           Flavors.             (line 103)
     4132* variables, substituting suffix in:     Substitution Refs.   (line   6)
     4133* variables, substitution reference:     Substitution Refs.   (line   6)
     4134* variables, target-specific:            Target-specific.     (line   6)
     4135* variables, unexpanded value:           Value Function.      (line   6)
     4136* variables, warning for undefined:      Options Summary.     (line 251)
     4137* varying prerequisites:                 Static Pattern.      (line   6)
     4138* verbatim variable definition:          Defining.            (line   6)
     4139* vpath:                                 Directory Search.    (line   6)
     4140* VPATH, and implicit rules:             Implicit/Search.     (line   6)
     4141* VPATH, and link libraries:             Libraries/Search.    (line   6)
    32744142* warnings, printing:                    Make Control Functions.
    3275 * weave <1>:                             Implicit Variables.
    3276 * weave:                                 Catalogue of Rules.
    3277 * Web, rule to run:                      Catalogue of Rules.
     4143                                                              (line  35)
     4144* weave <1>:                             Implicit Variables.  (line  98)
     4145* weave:                                 Catalogue of Rules.  (line 151)
     4146* Web, rule to run:                      Catalogue of Rules.  (line 151)
    32784147* what if:                               Instead of Execution.
    3279 * whitespace, in variable values:        Flavors.
    3280 * whitespace, stripping:                 Text Functions.
    3281 * wildcard:                              Wildcards.
    3282 * wildcard pitfalls:                     Wildcard Pitfall.
    3283 * wildcard, function:                    File Name Functions.
    3284 * wildcard, in archive member:           Archive Members.
    3285 * wildcard, in include:                  Include.
     4148                                                              (line  33)
     4149* whitespace, in variable values:        Flavors.             (line 103)
     4150* whitespace, stripping:                 Text Functions.      (line  80)
     4151* wildcard:                              Wildcards.           (line   6)
     4152* wildcard pitfalls:                     Wildcard Pitfall.    (line   6)
     4153* wildcard, function:                    File Name Functions. (line 107)
     4154* wildcard, in archive member:           Archive Members.     (line  36)
     4155* wildcard, in include:                  Include.             (line  13)
    32864156* wildcards and MS-DOS/MS-Windows backslashes: Wildcard Pitfall.
    3287 * word, selecting a:                     Text Functions.
    3288 * words, extracting first:               Text Functions.
    3289 * words, filtering:                      Text Functions.
    3290 * words, filtering out:                  Text Functions.
    3291 * words, finding number:                 Text Functions.
    3292 * words, iterating over:                 Foreach Function.
    3293 * words, joining lists:                  File Name Functions.
    3294 * words, removing duplicates:            Text Functions.
    3295 * words, selecting lists of:             Text Functions.
    3296 * writing rule commands:                 Commands.
    3297 * writing rules:                         Rules.
    3298 * yacc <1>:                              Implicit Variables.
    3299 * yacc <2>:                              Catalogue of Rules.
    3300 * yacc:                                  Sequences.
    3301 * Yacc, rule to run:                     Catalogue of Rules.
    3302 * ~ (tilde):                             Wildcards.
     4157                                                              (line  31)
     4158* Windows, choosing a shell in:          Choosing the Shell.  (line  36)
     4159* word, selecting a:                     Text Functions.      (line 159)
     4160* words, extracting first:               Text Functions.      (line 184)
     4161* words, extracting last:                Text Functions.      (line 197)
     4162* words, filtering:                      Text Functions.      (line 114)
     4163* words, filtering out:                  Text Functions.      (line 132)
     4164* words, finding number:                 Text Functions.      (line 180)
     4165* words, iterating over:                 Foreach Function.    (line   6)
     4166* words, joining lists:                  File Name Functions. (line  90)
     4167* words, removing duplicates:            Text Functions.      (line 155)
     4168* words, selecting lists of:             Text Functions.      (line 168)
     4169* writing rule commands:                 Commands.            (line   6)
     4170* writing rules:                         Rules.               (line   6)
     4171* yacc <1>:                              Implicit Variables.  (line  75)
     4172* yacc <2>:                              Catalogue of Rules.  (line 120)
     4173* yacc:                                  Sequences.           (line  18)
     4174* Yacc, rule to run:                     Catalogue of Rules.  (line 120)
     4175* ~ (tilde):                             Wildcards.           (line  11)
    33034176
    33044177
     
    33084181*******************************************
    33094182
     4183[index]
    33104184* Menu:
    33114185
    3312 * $$(@D):                                Automatic Variables.
    3313 * $$(@F):                                Automatic Variables.
    3314 * $$@:                                   Automatic Variables.
    3315 * $%:                                    Automatic Variables.
    3316 * $(%D):                                 Automatic Variables.
    3317 * $(%F):                                 Automatic Variables.
    3318 * $(*D):                                 Automatic Variables.
    3319 * $(*F):                                 Automatic Variables.
    3320 * $(+D):                                 Automatic Variables.
    3321 * $(+F):                                 Automatic Variables.
    3322 * $(.VARIABLES):                         Special Variables.
    3323 * $(<D):                                 Automatic Variables.
    3324 * $(<F):                                 Automatic Variables.
    3325 * $(?D):                                 Automatic Variables.
    3326 * $(?F):                                 Automatic Variables.
    3327 * $(@D):                                 Automatic Variables.
    3328 * $(@F):                                 Automatic Variables.
    3329 * $(^D):                                 Automatic Variables.
    3330 * $(^F):                                 Automatic Variables.
    3331 * $*:                                    Automatic Variables.
    3332 * $*, and static pattern:                Static Usage.
    3333 * $+:                                    Automatic Variables.
    3334 * $<:                                    Automatic Variables.
    3335 * $?:                                    Automatic Variables.
    3336 * $@:                                    Automatic Variables.
    3337 * $^:                                    Automatic Variables.
    3338 * % (automatic variable):                Automatic Variables.
    3339 * %D (automatic variable):               Automatic Variables.
    3340 * %F (automatic variable):               Automatic Variables.
    3341 * * (automatic variable):                Automatic Variables.
    3342 * * (automatic variable), unsupported bizarre usage: Missing.
    3343 * *D (automatic variable):               Automatic Variables.
    3344 * *F (automatic variable):               Automatic Variables.
    3345 * + (automatic variable):                Automatic Variables.
    3346 * +D (automatic variable):               Automatic Variables.
    3347 * +F (automatic variable):               Automatic Variables.
    3348 * .DEFAULT <1>:                          Last Resort.
    3349 * .DEFAULT:                              Special Targets.
    3350 * .DEFAULT, and empty commands:          Empty Commands.
    3351 * .DELETE_ON_ERROR <1>:                  Errors.
    3352 * .DELETE_ON_ERROR:                      Special Targets.
    3353 * .EXPORT_ALL_VARIABLES <1>:             Variables/Recursion.
    3354 * .EXPORT_ALL_VARIABLES:                 Special Targets.
    3355 * .IGNORE <1>:                           Errors.
    3356 * .IGNORE:                               Special Targets.
    3357 * .INTERMEDIATE:                         Special Targets.
    3358 * .LIBPATTERNS:                          Libraries/Search.
    3359 * .LOW_RESOLUTION_TIME:                  Special Targets.
    3360 * .NOTPARALLEL:                          Special Targets.
    3361 * .PHONY <1>:                            Special Targets.
    3362 * .PHONY:                                Phony Targets.
    3363 * .POSIX:                                Options/Recursion.
    3364 * .PRECIOUS <1>:                         Interrupts.
    3365 * .PRECIOUS:                             Special Targets.
    3366 * .SECONDARY:                            Special Targets.
    3367 * .SILENT <1>:                           Echoing.
    3368 * .SILENT:                               Special Targets.
    3369 * .SUFFIXES <1>:                         Suffix Rules.
    3370 * .SUFFIXES:                             Special Targets.
    3371 * .VARIABLES (list of variables):        Special Variables.
    3372 * /usr/gnu/include:                      Include.
    3373 * /usr/include:                          Include.
    3374 * /usr/local/include:                    Include.
    3375 * < (automatic variable):                Automatic Variables.
    3376 * <D (automatic variable):               Automatic Variables.
    3377 * <F (automatic variable):               Automatic Variables.
    3378 * ? (automatic variable):                Automatic Variables.
    3379 * ?D (automatic variable):               Automatic Variables.
    3380 * ?F (automatic variable):               Automatic Variables.
    3381 * @ (automatic variable):                Automatic Variables.
    3382 * @D (automatic variable):               Automatic Variables.
    3383 * @F (automatic variable):               Automatic Variables.
    3384 * ^ (automatic variable):                Automatic Variables.
    3385 * ^D (automatic variable):               Automatic Variables.
    3386 * ^F (automatic variable):               Automatic Variables.
    3387 * addprefix:                             File Name Functions.
    3388 * addsuffix:                             File Name Functions.
    3389 * AR:                                    Implicit Variables.
    3390 * ARFLAGS:                               Implicit Variables.
    3391 * AS:                                    Implicit Variables.
    3392 * ASFLAGS:                               Implicit Variables.
    3393 * basename:                              File Name Functions.
    3394 * bindir:                                Directory Variables.
    3395 * call:                                  Call Function.
    3396 * CC:                                    Implicit Variables.
    3397 * CFLAGS:                                Implicit Variables.
    3398 * CO:                                    Implicit Variables.
    3399 * COFLAGS:                               Implicit Variables.
    3400 * COMSPEC:                               Execution.
    3401 * CPP:                                   Implicit Variables.
    3402 * CPPFLAGS:                              Implicit Variables.
    3403 * CTANGLE:                               Implicit Variables.
    3404 * CURDIR:                                Recursion.
    3405 * CWEAVE:                                Implicit Variables.
    3406 * CXX:                                   Implicit Variables.
    3407 * CXXFLAGS:                              Implicit Variables.
    3408 * define:                                Defining.
    3409 * dir:                                   File Name Functions.
    3410 * else:                                  Conditional Syntax.
    3411 * endef:                                 Defining.
    3412 * endif:                                 Conditional Syntax.
     4186* $%:                                    Automatic Variables. (line  37)
     4187* $(%D):                                 Automatic Variables. (line 129)
     4188* $(%F):                                 Automatic Variables. (line 130)
     4189* $(*D):                                 Automatic Variables. (line 124)
     4190* $(*F):                                 Automatic Variables. (line 125)
     4191* $(+D):                                 Automatic Variables. (line 147)
     4192* $(+F):                                 Automatic Variables. (line 148)
     4193* $(<D):                                 Automatic Variables. (line 137)
     4194* $(<F):                                 Automatic Variables. (line 138)
     4195* $(?D):                                 Automatic Variables. (line 153)
     4196* $(?F):                                 Automatic Variables. (line 154)
     4197* $(@D):                                 Automatic Variables. (line 113)
     4198* $(@F):                                 Automatic Variables. (line 119)
     4199* $(^D):                                 Automatic Variables. (line 142)
     4200* $(^F):                                 Automatic Variables. (line 143)
     4201* $*:                                    Automatic Variables. (line  73)
     4202* $*, and static pattern:                Static Usage.        (line  81)
     4203* $+:                                    Automatic Variables. (line  63)
     4204* $<:                                    Automatic Variables. (line  43)
     4205* $?:                                    Automatic Variables. (line  48)
     4206* $@:                                    Automatic Variables. (line  30)
     4207* $^:                                    Automatic Variables. (line  53)
     4208* $|:                                    Automatic Variables. (line  69)
     4209* % (automatic variable):                Automatic Variables. (line  37)
     4210* %D (automatic variable):               Automatic Variables. (line 129)
     4211* %F (automatic variable):               Automatic Variables. (line 130)
     4212* * (automatic variable):                Automatic Variables. (line  73)
     4213* * (automatic variable), unsupported bizarre usage: Missing. (line  44)
     4214* *D (automatic variable):               Automatic Variables. (line 124)
     4215* *F (automatic variable):               Automatic Variables. (line 125)
     4216* + (automatic variable):                Automatic Variables. (line  63)
     4217* +D (automatic variable):               Automatic Variables. (line 147)
     4218* +F (automatic variable):               Automatic Variables. (line 148)
     4219* .DEFAULT <1>:                          Last Resort.         (line  23)
     4220* .DEFAULT:                              Special Targets.     (line  20)
     4221* .DEFAULT, and empty commands:          Empty Commands.      (line  16)
     4222* .DEFAULT_GOAL (define default goal):   Special Variables.   (line  10)
     4223* .DELETE_ON_ERROR <1>:                  Errors.              (line  64)
     4224* .DELETE_ON_ERROR:                      Special Targets.     (line  67)
     4225* .EXPORT_ALL_VARIABLES <1>:             Variables/Recursion. (line  99)
     4226* .EXPORT_ALL_VARIABLES:                 Special Targets.     (line 129)
     4227* .FEATURES (list of supported features): Special Variables.  (line  65)
     4228* .IGNORE <1>:                           Errors.              (line  30)
     4229* .IGNORE:                               Special Targets.     (line  74)
     4230* .INCLUDE_DIRS (list of include directories): Special Variables.
     4231                                                              (line  98)
     4232* .INTERMEDIATE:                         Special Targets.     (line  43)
     4233* .LIBPATTERNS:                          Libraries/Search.    (line   6)
     4234* .LOW_RESOLUTION_TIME:                  Special Targets.     (line  86)
     4235* .NOTPARALLEL:                          Special Targets.     (line 134)
     4236* .PHONY <1>:                            Special Targets.     (line   8)
     4237* .PHONY:                                Phony Targets.       (line  22)
     4238* .POSIX:                                Options/Recursion.   (line  60)
     4239* .PRECIOUS <1>:                         Interrupts.          (line  22)
     4240* .PRECIOUS:                             Special Targets.     (line  28)
     4241* .SECONDARY:                            Special Targets.     (line  48)
     4242* .SECONDEXPANSION <1>:                  Special Targets.     (line  57)
     4243* .SECONDEXPANSION:                      Secondary Expansion. (line   6)
     4244* .SILENT <1>:                           Echoing.             (line  24)
     4245* .SILENT:                               Special Targets.     (line 116)
     4246* .SUFFIXES <1>:                         Suffix Rules.        (line  61)
     4247* .SUFFIXES:                             Special Targets.     (line  15)
     4248* .VARIABLES (list of variables):        Special Variables.   (line  56)
     4249* /usr/gnu/include:                      Include.             (line  52)
     4250* /usr/include:                          Include.             (line  52)
     4251* /usr/local/include:                    Include.             (line  52)
     4252* < (automatic variable):                Automatic Variables. (line  43)
     4253* <D (automatic variable):               Automatic Variables. (line 137)
     4254* <F (automatic variable):               Automatic Variables. (line 138)
     4255* ? (automatic variable):                Automatic Variables. (line  48)
     4256* ?D (automatic variable):               Automatic Variables. (line 153)
     4257* ?F (automatic variable):               Automatic Variables. (line 154)
     4258* @ (automatic variable):                Automatic Variables. (line  30)
     4259* @D (automatic variable):               Automatic Variables. (line 113)
     4260* @F (automatic variable):               Automatic Variables. (line 119)
     4261* ^ (automatic variable):                Automatic Variables. (line  53)
     4262* ^D (automatic variable):               Automatic Variables. (line 142)
     4263* ^F (automatic variable):               Automatic Variables. (line 143)
     4264* abspath:                               File Name Functions. (line 121)
     4265* addprefix:                             File Name Functions. (line  79)
     4266* addsuffix:                             File Name Functions. (line  68)
     4267* and:                                   Conditional Functions.
     4268                                                              (line  45)
     4269* AR:                                    Implicit Variables.  (line  41)
     4270* ARFLAGS:                               Implicit Variables.  (line 117)
     4271* AS:                                    Implicit Variables.  (line  44)
     4272* ASFLAGS:                               Implicit Variables.  (line 120)
     4273* basename:                              File Name Functions. (line  57)
     4274* bindir:                                Directory Variables. (line  53)
     4275* call:                                  Call Function.       (line   6)
     4276* CC:                                    Implicit Variables.  (line  47)
     4277* CFLAGS:                                Implicit Variables.  (line 124)
     4278* CO:                                    Implicit Variables.  (line  50)
     4279* COFLAGS:                               Implicit Variables.  (line 130)
     4280* COMSPEC:                               Choosing the Shell.  (line  39)
     4281* CPP:                                   Implicit Variables.  (line  59)
     4282* CPPFLAGS:                              Implicit Variables.  (line 133)
     4283* CTANGLE:                               Implicit Variables.  (line 107)
     4284* CURDIR:                                Recursion.           (line  28)
     4285* CWEAVE:                                Implicit Variables.  (line 101)
     4286* CXX:                                   Implicit Variables.  (line  53)
     4287* CXXFLAGS:                              Implicit Variables.  (line 127)
     4288* define:                                Defining.            (line   6)
     4289* dir:                                   File Name Functions. (line  17)
     4290* else:                                  Conditional Syntax.  (line   6)
     4291* endef:                                 Defining.            (line   6)
     4292* endif:                                 Conditional Syntax.  (line   6)
    34134293* error:                                 Make Control Functions.
    3414 * eval:                                  Eval Function.
    3415 * exec_prefix:                           Directory Variables.
    3416 * export:                                Variables/Recursion.
    3417 * FC:                                    Implicit Variables.
    3418 * FFLAGS:                                Implicit Variables.
    3419 * filter:                                Text Functions.
    3420 * filter-out:                            Text Functions.
    3421 * findstring:                            Text Functions.
    3422 * firstword:                             Text Functions.
    3423 * foreach:                               Foreach Function.
    3424 * GET:                                   Implicit Variables.
    3425 * GFLAGS:                                Implicit Variables.
    3426 * GNUmakefile:                           Makefile Names.
    3427 * GPATH:                                 Search Algorithm.
    3428 * if:                                    If Function.
    3429 * ifdef:                                 Conditional Syntax.
    3430 * ifeq:                                  Conditional Syntax.
    3431 * ifndef:                                Conditional Syntax.
    3432 * ifneq:                                 Conditional Syntax.
    3433 * include:                               Include.
    3434 * join:                                  File Name Functions.
    3435 * LDFLAGS:                               Implicit Variables.
    3436 * LEX:                                   Implicit Variables.
    3437 * LFLAGS:                                Implicit Variables.
    3438 * libexecdir:                            Directory Variables.
    3439 * MAKE <1>:                              Flavors.
    3440 * MAKE:                                  MAKE Variable.
    3441 * MAKECMDGOALS:                          Goals.
    3442 * makefile:                              Makefile Names.
    3443 * Makefile:                              Makefile Names.
    3444 * MAKEFILES <1>:                         Variables/Recursion.
    3445 * MAKEFILES:                             MAKEFILES Variable.
    3446 * MAKEFLAGS:                             Options/Recursion.
    3447 * MAKEINFO:                              Implicit Variables.
    3448 * MAKELEVEL <1>:                         Flavors.
    3449 * MAKELEVEL:                             Variables/Recursion.
    3450 * MAKEOVERRIDES:                         Options/Recursion.
    3451 * MFLAGS:                                Options/Recursion.
    3452 * notdir:                                File Name Functions.
    3453 * origin:                                Origin Function.
    3454 * OUTPUT_OPTION:                         Catalogue of Rules.
    3455 * override:                              Override Directive.
    3456 * patsubst <1>:                          Text Functions.
    3457 * patsubst:                              Substitution Refs.
    3458 * PC:                                    Implicit Variables.
    3459 * PFLAGS:                                Implicit Variables.
    3460 * prefix:                                Directory Variables.
    3461 * RFLAGS:                                Implicit Variables.
    3462 * RM:                                    Implicit Variables.
    3463 * sbindir:                               Directory Variables.
    3464 * shell:                                 Shell Function.
    3465 * SHELL:                                 Execution.
    3466 * SHELL (command execution):             Execution.
    3467 * sort:                                  Text Functions.
    3468 * strip:                                 Text Functions.
    3469 * subst <1>:                             Text Functions.
    3470 * subst:                                 Multiple Targets.
    3471 * suffix:                                File Name Functions.
    3472 * SUFFIXES:                              Suffix Rules.
    3473 * TANGLE:                                Implicit Variables.
    3474 * TEX:                                   Implicit Variables.
    3475 * TEXI2DVI:                              Implicit Variables.
    3476 * unexport:                              Variables/Recursion.
    3477 * value:                                 Value Function.
    3478 * vpath:                                 Selective Search.
    3479 * VPATH:                                 General Search.
    3480 * vpath:                                 Directory Search.
    3481 * VPATH:                                 Directory Search.
     4294                                                              (line  11)
     4295* eval:                                  Eval Function.       (line   6)
     4296* exec_prefix:                           Directory Variables. (line  35)
     4297* export:                                Variables/Recursion. (line  40)
     4298* FC:                                    Implicit Variables.  (line  63)
     4299* FFLAGS:                                Implicit Variables.  (line 137)
     4300* filter:                                Text Functions.      (line 114)
     4301* filter-out:                            Text Functions.      (line 132)
     4302* findstring:                            Text Functions.      (line 103)
     4303* firstword:                             Text Functions.      (line 184)
     4304* flavor:                                Flavor Function.     (line   6)
     4305* foreach:                               Foreach Function.    (line   6)
     4306* GET:                                   Implicit Variables.  (line  67)
     4307* GFLAGS:                                Implicit Variables.  (line 140)
     4308* GNUmakefile:                           Makefile Names.      (line   7)
     4309* GPATH:                                 Search Algorithm.    (line  48)
     4310* if:                                    Conditional Functions.
     4311                                                              (line   6)
     4312* ifdef:                                 Conditional Syntax.  (line   6)
     4313* ifeq:                                  Conditional Syntax.  (line   6)
     4314* ifndef:                                Conditional Syntax.  (line   6)
     4315* ifneq:                                 Conditional Syntax.  (line   6)
     4316* include:                               Include.             (line   6)
     4317* info:                                  Make Control Functions.
     4318                                                              (line  43)
     4319* join:                                  File Name Functions. (line  90)
     4320* lastword:                              Text Functions.      (line 197)
     4321* LDFLAGS:                               Implicit Variables.  (line 143)
     4322* LEX:                                   Implicit Variables.  (line  70)
     4323* LFLAGS:                                Implicit Variables.  (line 147)
     4324* libexecdir:                            Directory Variables. (line  66)
     4325* LINT:                                  Implicit Variables.  (line  78)
     4326* LINTFLAGS:                             Implicit Variables.  (line 159)
     4327* M2C:                                   Implicit Variables.  (line  81)
     4328* MAKE <1>:                              Flavors.             (line  84)
     4329* MAKE:                                  MAKE Variable.       (line   6)
     4330* MAKE_RESTARTS (number of times make has restarted): Special Variables.
     4331                                                              (line  49)
     4332* MAKE_VERSION:                          Features.            (line 197)
     4333* MAKECMDGOALS:                          Goals.               (line  30)
     4334* makefile:                              Makefile Names.      (line   7)
     4335* Makefile:                              Makefile Names.      (line   7)
     4336* MAKEFILE_LIST:                         MAKEFILE_LIST Variable.
     4337                                                              (line   6)
     4338* MAKEFILES <1>:                         Variables/Recursion. (line 127)
     4339* MAKEFILES:                             MAKEFILES Variable.  (line   6)
     4340* MAKEFLAGS:                             Options/Recursion.   (line   6)
     4341* MAKEINFO:                              Implicit Variables.  (line  87)
     4342* MAKELEVEL <1>:                         Flavors.             (line  84)
     4343* MAKELEVEL:                             Variables/Recursion. (line 115)
     4344* MAKEOVERRIDES:                         Options/Recursion.   (line  49)
     4345* MAKESHELL (MS-DOS alternative to SHELL): Choosing the Shell.
     4346                                                              (line  25)
     4347* MFLAGS:                                Options/Recursion.   (line  65)
     4348* notdir:                                File Name Functions. (line  27)
     4349* or:                                    Conditional Functions.
     4350                                                              (line  37)
     4351* origin:                                Origin Function.     (line   6)
     4352* OUTPUT_OPTION:                         Catalogue of Rules.  (line 202)
     4353* override:                              Override Directive.  (line   6)
     4354* patsubst <1>:                          Text Functions.      (line  18)
     4355* patsubst:                              Substitution Refs.   (line  28)
     4356* PC:                                    Implicit Variables.  (line  84)
     4357* PFLAGS:                                Implicit Variables.  (line 153)
     4358* prefix:                                Directory Variables. (line  25)
     4359* realpath:                              File Name Functions. (line 114)
     4360* RFLAGS:                                Implicit Variables.  (line 156)
     4361* RM:                                    Implicit Variables.  (line 110)
     4362* sbindir:                               Directory Variables. (line  59)
     4363* shell:                                 Shell Function.      (line   6)
     4364* SHELL:                                 Choosing the Shell.  (line   6)
     4365* SHELL (command execution):             Execution.           (line   6)
     4366* sort:                                  Text Functions.      (line 146)
     4367* strip:                                 Text Functions.      (line  80)
     4368* subst <1>:                             Text Functions.      (line   9)
     4369* subst:                                 Multiple Targets.    (line  28)
     4370* suffix:                                File Name Functions. (line  43)
     4371* SUFFIXES:                              Suffix Rules.        (line  81)
     4372* TANGLE:                                Implicit Variables.  (line 104)
     4373* TEX:                                   Implicit Variables.  (line  91)
     4374* TEXI2DVI:                              Implicit Variables.  (line  94)
     4375* unexport:                              Variables/Recursion. (line  45)
     4376* value:                                 Value Function.      (line   6)
     4377* vpath:                                 Selective Search.    (line   6)
     4378* VPATH:                                 General Search.      (line   6)
     4379* vpath:                                 Directory Search.    (line   6)
     4380* VPATH:                                 Directory Search.    (line   6)
    34824381* warning:                               Make Control Functions.
    3483 * WEAVE:                                 Implicit Variables.
    3484 * wildcard <1>:                          File Name Functions.
    3485 * wildcard:                              Wildcard Function.
    3486 * word:                                  Text Functions.
    3487 * wordlist:                              Text Functions.
    3488 * words:                                 Text Functions.
    3489 * YACC:                                  Implicit Variables.
    3490 * YACCR:                                 Implicit Variables.
    3491 * YFLAGS:                                Implicit Variables.
    3492 
    3493 
     4382                                                              (line  35)
     4383* WEAVE:                                 Implicit Variables.  (line  98)
     4384* wildcard <1>:                          File Name Functions. (line 107)
     4385* wildcard:                              Wildcard Function.   (line   6)
     4386* word:                                  Text Functions.      (line 159)
     4387* wordlist:                              Text Functions.      (line 168)
     4388* words:                                 Text Functions.      (line 180)
     4389* YACC:                                  Implicit Variables.  (line  74)
     4390* YFLAGS:                                Implicit Variables.  (line 150)
     4391* | (automatic variable):                Automatic Variables. (line  69)
     4392
     4393
Note: See TracChangeset for help on using the changeset viewer.