Index: vendor/gnumake/current/AUTHORS
===================================================================
--- vendor/gnumake/current/AUTHORS	(revision 901)
+++ vendor/gnumake/current/AUTHORS	(revision 1989)
@@ -61,4 +61,5 @@
   Carl Staelin (Princeton University)
   Ian Stewartson (Data Logic Limited)
+  Ramon Garcia Fernandez <ramon.garcia.f@gmail.com>
 
 With suggestions/comments/bug reports from a cast of ... well ...
@@ -66,5 +67,5 @@
 
 -------------------------------------------------------------------------------
-Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
 Free Software Foundation, Inc.
 This file is part of GNU Make.
@@ -72,5 +73,6 @@
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -79,4 +81,3 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+this program.  If not, see <http://www.gnu.org/licenses/>.
Index: vendor/gnumake/current/COPYING
===================================================================
--- vendor/gnumake/current/COPYING	(revision 901)
+++ vendor/gnumake/current/COPYING	(revision 1989)
@@ -1,21 +1,21 @@
-		    GNU GENERAL PUBLIC LICENSE
-		       Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-                          59 Temple Place - Suite 330, Boston, MA
-                          02111-1307, USA.
+                    GNU GENERAL PUBLIC LICENSE
+                       Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
-			    Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
+                            Preamble
+
+  The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+  The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works.  By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users.  We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors.  You can apply it to
 your programs, too.
 
@@ -23,268 +23,603 @@
 price.  Our General Public Licenses are designed to make sure that you
 have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+  To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights.  Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
 
   For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received.  You must make sure that they, too, receive
+or can get the source code.  And you must show them these terms so they
+know their rights.
+
+  Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+  For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software.  For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+  Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so.  This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software.  The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable.  Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products.  If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+  Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary.  To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
 
   The precise terms and conditions for copying, distribution and
 modification follow.
 
-
-		    GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
+                       TERMS AND CONDITIONS
+
+  0. Definitions.
+
+  "This License" refers to version 3 of the GNU General Public License.
+
+  "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+  "The Program" refers to any copyrightable work licensed under this
+License.  Each licensee is addressed as "you".  "Licensees" and
+"recipients" may be individuals or organizations.
+
+  To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy.  The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+  A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+  To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy.  Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+  To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies.  Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+  An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License.  If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+  1. Source Code.
+
+  The "source code" for a work means the preferred form of the work
+for making modifications to it.  "Object code" means any non-source
+form of a work.
+
+  A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+  The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form.  A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+  The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities.  However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work.  For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+  The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+  The Corresponding Source for a work in source code form is that
+same work.
+
+  2. Basic Permissions.
+
+  All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met.  This License explicitly affirms your unlimited
+permission to run the unmodified Program.  The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work.  This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+  You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force.  You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright.  Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+  Conveying under any other circumstances is permitted solely under
+the conditions stated below.  Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+  No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+  When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+  4. Conveying Verbatim Copies.
+
+  You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+  You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+  5. Conveying Modified Source Versions.
+
+  You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+    a) The work must carry prominent notices stating that you modified
+    it, and giving a relevant date.
+
+    b) The work must carry prominent notices stating that it is
+    released under this License and any conditions added under section
+    7.  This requirement modifies the requirement in section 4 to
+    "keep intact all notices".
+
+    c) You must license the entire work, as a whole, under this
+    License to anyone who comes into possession of a copy.  This
+    License will therefore apply, along with any applicable section 7
+    additional terms, to the whole of the work, and all its parts,
+    regardless of how they are packaged.  This License gives no
+    permission to license the work in any other way, but it does not
+    invalidate such permission if you have separately received it.
+
+    d) If the work has interactive user interfaces, each must display
+    Appropriate Legal Notices; however, if the Program has interactive
+    interfaces that do not display Appropriate Legal Notices, your
+    work need not make them do so.
+
+  A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit.  Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+  6. Conveying Non-Source Forms.
+
+  You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+    a) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by the
+    Corresponding Source fixed on a durable physical medium
+    customarily used for software interchange.
+
+    b) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by a
+    written offer, valid for at least three years and valid for as
+    long as you offer spare parts or customer support for that product
+    model, to give anyone who possesses the object code either (1) a
+    copy of the Corresponding Source for all the software in the
+    product that is covered by this License, on a durable physical
+    medium customarily used for software interchange, for a price no
+    more than your reasonable cost of physically performing this
+    conveying of source, or (2) access to copy the
+    Corresponding Source from a network server at no charge.
+
+    c) Convey individual copies of the object code with a copy of the
+    written offer to provide the Corresponding Source.  This
+    alternative is allowed only occasionally and noncommercially, and
+    only if you received the object code with such an offer, in accord
+    with subsection 6b.
+
+    d) Convey the object code by offering access from a designated
+    place (gratis or for a charge), and offer equivalent access to the
+    Corresponding Source in the same way through the same place at no
+    further charge.  You need not require recipients to copy the
+    Corresponding Source along with the object code.  If the place to
+    copy the object code is a network server, the Corresponding Source
+    may be on a different server (operated by you or a third party)
+    that supports equivalent copying facilities, provided you maintain
+    clear directions next to the object code saying where to find the
+    Corresponding Source.  Regardless of what server hosts the
+    Corresponding Source, you remain obligated to ensure that it is
+    available for as long as needed to satisfy these requirements.
+
+    e) Convey the object code using peer-to-peer transmission, provided
+    you inform other peers where the object code and Corresponding
+    Source of the work are being offered to the general public at no
+    charge under subsection 6d.
+
+  A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+  A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling.  In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage.  For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product.  A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+  "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source.  The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+  If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information.  But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+  The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed.  Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+  Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+  7. Additional Terms.
+
+  "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law.  If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+  When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it.  (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.)  You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+  Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+    a) Disclaiming warranty or limiting liability differently from the
+    terms of sections 15 and 16 of this License; or
+
+    b) Requiring preservation of specified reasonable legal notices or
+    author attributions in that material or in the Appropriate Legal
+    Notices displayed by works containing it; or
+
+    c) Prohibiting misrepresentation of the origin of that material, or
+    requiring that modified versions of such material be marked in
+    reasonable ways as different from the original version; or
+
+    d) Limiting the use for publicity purposes of names of licensors or
+    authors of the material; or
+
+    e) Declining to grant rights under trademark law for use of some
+    trade names, trademarks, or service marks; or
+
+    f) Requiring indemnification of licensors and authors of that
+    material by anyone who conveys the material (or modified versions of
+    it) with contractual assumptions of liability to the recipient, for
+    any liability that these contractual assumptions directly impose on
+    those licensors and authors.
+
+  All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10.  If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term.  If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+  If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+  Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+  8. Termination.
+
+  You may not propagate or modify a covered work except as expressly
+provided under this License.  Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+  However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+  Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+  Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License.  If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+  9. Acceptance Not Required for Having Copies.
+
+  You are not required to accept this License in order to receive or
+run a copy of the Program.  Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance.  However,
+nothing other than this License grants you permission to propagate or
+modify any covered work.  These actions infringe copyright if you do
+not accept this License.  Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+  10. Automatic Licensing of Downstream Recipients.
+
+  Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License.  You are not responsible
+for enforcing compliance by third parties with this License.
+
+  An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations.  If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+  You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License.  For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+  11. Patents.
+
+  A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based.  The
+work thus licensed is called the contributor's "contributor version".
+
+  A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version.  For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
 this License.
 
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
+  Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+  In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement).  To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+  If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients.  "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+  If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+  A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License.  You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+  Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+  12. No Surrender of Others' Freedom.
+
+  If conditions are imposed on you (whether by court order, agreement or
 otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
+excuse you from the conditions of this License.  If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all.  For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+  13. Use with the GNU Affero General Public License.
+
+  Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work.  The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+  14. Revised Versions of this License.
+
+  The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time.  Such new versions will
 be similar in spirit to the present version, but may differ in detail to
 address new problems or concerns.
 
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-			    NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-		     END OF TERMS AND CONDITIONS
-
-
-	Appendix: How to Apply These Terms to Your New Programs
+  Each version is given a distinguishing version number.  If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation.  If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+  If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+  Later license versions may give you additional or different
+permissions.  However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+  15. Disclaimer of Warranty.
+
+  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. Limitation of Liability.
+
+  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+  17. Interpretation of Sections 15 and 16.
+
+  If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+                     END OF TERMS AND CONDITIONS
+
+            How to Apply These Terms to Your New Programs
 
   If you develop a new program, and you want it to be of the greatest
@@ -294,13 +629,13 @@
   To do so, attach the following notices to the program.  It is safest
 to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
+state the exclusion of warranty; and each file should have at least
 the "copyright" line and a pointer to where the full notice is found.
 
     <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) 19yy  <name of author>
-
-    This program is free software; you can redistribute it and/or modify
+    Copyright (C) <year>  <name of author>
+
+    This program is free software: you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
+    the Free Software Foundation, either version 3 of the License, or
     (at your option) any later version.
 
@@ -311,35 +646,29 @@
 
     You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 Also add information on how to contact you by electronic and paper mail.
 
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-    Gnomovision version 69, Copyright (C) 19yy name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+  If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+    <program>  Copyright (C) <year>  <name of author>
+    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
     This is free software, and you are welcome to redistribute it
     under certain conditions; type `show c' for details.
 
 The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
-Public License instead of this License.
+parts of the General Public License.  Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+  You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+  The GNU General Public License does not permit incorporating your program
+into proprietary programs.  If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.  But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
Index: vendor/gnumake/current/ChangeLog
===================================================================
--- vendor/gnumake/current/ChangeLog	(revision 901)
+++ vendor/gnumake/current/ChangeLog	(revision 1989)
@@ -1,2 +1,211 @@
+2008-09-30  Eli Zaretskii  <eliz@gnu.org>
+
+	* build_w32.bat (GCCBuild): Use "-gdwarf-2 -g3" instead of
+	"-gstabs+ -ggdb3".
+
+	* w32/subproc/build.bat (GCCBuild): Likewise.
+
+2008-09-30  David Russo  <d-russo@ti.com>  (tiny change)
+
+	* job.c (construct_command_argv_internal): Avoid extra backslash
+	in batch-mode Unixy shells.  Under DB_JOBS, display the contents
+	of the batch file.
+
+2008-05-31  Eli Zaretskii  <eliz@gnu.org>
+
+	* README.W32.template: Remove obsolete text about non-support for
+	-jN without Unixy shell.  Remove obsolete text about not supplying
+	Visual Studio project files (we do supply them).  Modify text to
+	prefer GCC builds to MSC builds.
+
+2008-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+	* doc/make.texi (Empty Targets): Fix typo.
+
+2008-03-27  Paul Smith  <psmith@gnu.org>
+
+	Fix Savannah bug #22379:
+	* ar.c (ar_glob_match): Zero the allocated structure.
+	* read.c (parse_file_seq): Ditto.
+
+2008-03-08  Brian Dessent  <brian@dessent.net>
+
+	* maintMakefile: Update Translation Project location.
+
+2008-01-26  Eli Zaretskii  <eliz@gnu.org>
+
+	* variable.c (target_environment): Don't use shell_var if its
+	`value' field is NULL.
+
+2007-12-22  Eli Zaretskii  <eliz@gnu.org>
+
+	Suggested by Juan Manuel Guerrero <juan.guerrero@gmx.de>:
+
+	* Makefile.DOS.template (info_TEXINFOS): Remove unused variable.
+	(TEXINFOS): Value changed to `doc/make.texi'.
+	(.SUFFIXES): Use .texi instead of .texinfo.
+	(make.info, make.dvi): Depend on doc/make.texi.
+	(.texi.info): New target, instead of ".texinfo.info".  Change -I
+	switch to $(MAKEINFO) to look in doc/.  Use --no-split.
+	(.texi): New target, instead of ".texinfo".  Change -I switch to
+	$(MAKEINFO) to look in doc/.  Use --no-split.
+	(.texi.dvi): New target, instead of ".texinfo.dvi".  Change -I
+	switch to $(MAKEINFO) to look in doc/.
+	(install-info-am, uninstall-info): Don't look for "*.i[0-9]" and
+	"*.i[0-9][0-9]" (due to --no-split above).
+	(noinst_TEXINFOS, TEXI2HTML, TEXI2HTML_FLAGS): New variables.
+	(html, make_1.html): New targets.
+	(.PHONY): Add "html".
+	(.SUFFIXES): Add .html.
+
+2007-12-22  Juan Manuel Guerrero  <juan.guerrero@gmx.de>  (tiny change)
+
+	* configh.dos.template [__DJGPP__]: Replace HAVE_SYS_SIGLIST with
+	HAVE_DECL_SYS_SIGLIST.
+
+	* job.c (child_execute_job): Remove __MSDOS__ because MSDOS/DJGPP
+	build does not use child_execute_job.
+
+	* variable.c (define_automatic_variables) [__MSDOS__]: Always
+	export the SHELL environment variable to the child.
+
+2007-12-22  Eli Zaretskii  <eliz@gnu.org>
+
+	* config.h.W32: Include sys/types.h.
+	[!_PID_T_] (pid_t): Define only if not already defined by sys/types.h.
+
+	* vpath.c (construct_vpath_list) [HAVE_DOS_PATHS]: Support VPATH
+	values that use `:' in drive letters, when PATH_SEPARATOR_CHAR is
+	also `:'.
+
+2007-11-04  Paul Smith  <psmith@gnu.org>
+
+	* doc/make.texi: Convert references to "commands", "command
+	lines", and "command script" to "recipe".
+	* NEWS: Ditto.
+	* commands.c, file.c, job.c, remake.c, read.c, variable.c, main.c:
+	Ditto.
+
+2007-10-27  Bruno Haible  <bruno@clisp.org>
+
+	* remake.c (f_mtime): Print time difference values between 100 and
+	ULONG_MAX in fixed-point notation rather than in exponention notation.
+
+2007-10-12  Eli Zaretskii  <eliz@gnu.org>
+
+	* variable.c (do_variable_definition): Allow $(SHELL) to expand to
+	a more complex value than a simple shell: if it's not a default
+	shell now then expand it and see if is a default shell then.
+
+2007-10-10  Eli Zaretskii  <eliz@gnu.org>
+
+	* dir.c (find_directory) [WINDOWS32]: Remove trailing slashes from
+	pathnames, with const strings.
+	* build_w32.bat [WINDOWS32]: If no config.h.W32 exists, create one
+	from the template (used for building from CVS, not a dist).
+
+2007-10-10  Paul Smith  <psmith@gnu.org>
+
+	* make.h: Add a prototype for w32_kill() (change suggested by
+	Yongwei Wu <wuyongwei@gmail.com>).
+
+2007-09-21  Eli Zaretskii  <eliz@gnu.org>
+
+	* w32/pathstuff.c (convert_Path_to_windows32): Handle quoted
+	directories in Path.
+
+2007-09-12  Paul Smith  <psmith@gnu.org>
+
+	* doc/make.texi: Applied wording cleanups from Savannah patch #6195.
+	Provided by Diego Biurrun <diego@biurrun.de>
+	(Complex Makefile): Remove .PHONY setting for tar: patch #6196.
+	Provided by Diego Biurrun <diego@biurrun.de>
+
+2007-09-11  Paul Smith  <psmith@gnu.org>
+
+	* doc/make.texi (Special Variables): Moved this into the "How to
+	Use Variables" chapter.  Added a table entry for .RECIPEPREFIX.
+	(MAKEFILE_LIST) No longer a section; this was added into the
+	"Special Variables" section.
+	(Rule Introduction): Reference .RECIPEPREFIX.
+	(Simple Makefile): Ditto.
+	(Rule Syntax): Ditto.
+	(Command Syntax): Ditto.
+	(Error Messages): Ditto.
+
+2007-09-10  Paul Smith  <psmith@gnu.org>
+
+	* commands.c (print_commands): Don't print an extra line in the
+	command scripts.  Prefix the command scripts with cmd_prefix, not \t.
+
+	* read.c (construct_include_path): Add the full string to the cache; we
+	were chopping the last char.
+
+	* NEWS: Announce the .RECIPEPREFIX special variable.
+	* variable.c (lookup_special_var): Rename from handle_special_var().
+	(lookup_variable): Call the new name.
+	(set_special_var): New function: handle setting of special variables.
+	When setting .RECIPEPREFIX, reset the cmd_prefix global variable.
+	(do_variable_definition): Call it.
+	* make.h (RECIPEPREFIX_DEFAULT): Define the default command prefix char.
+	(RECIPEPREFIX_NAME): Define the command prefix special variable name.
+	* main.c (main): Create the .RECIPEPREFIX special variable.
+	* read.c (eval): Remove the cmd_prefix characters from the command
+	scripts here, so they're not stored in the commands array at all,
+	rather than waiting and stripping them out during command construction.
+	* job.c (construct_command_argv_internal): Don't skip cmd_prefix here.
+
+2007-08-15  Paul Smith  <psmith@gnu.org>
+
+	* doc/make.texi (GNU Free Documentation License): The fdl.texi
+	file has had the section info removed, so add some to make.texi
+	before we include it.
+
+2007-08-15  Icarus Sparry  <savannah@icarus.freeuk.com>
+
+	* remake.c (check_dep): Reset the target state for intermediate
+	files.  They might have been considered before but not updated
+	then (order-only for example) but they will be this time.
+	Fixes Savannah bug #'s 3330 and 15919.
+
+2007-07-21  Eli Zaretskii  <eliz@gnu.org>
+
+	Fix Savannah bug #20549:
+	* function.c (func_shell): Call construct_command_argv with zero
+	value of FLAGS.
+	* job.c (construct_command_argv_internal): New argument FLAGS; all
+	callers changed.
+	[WINDOWS32]: If FLAGS has the COMMANDS_RECURSE bit set, ignore
+	just_print_flag.
+	* job.h (construct_command_argv_internal): Update prototype.
+
+2007-07-13  Paul Smith  <psmith@gnu.org>
+
+	* file.c (expand_deps): Use variable_buffer as the start of the
+	buffer, not the original pointer (in case it was reallocated).
+	Fix suggested by Rafi Einstein <rafi.einstein@formalism-labs.com>.
+	Fixes Savannah bug #20452.
+
+2007-07-04  Paul Smith  <psmith@gnu.org>
+
+	* (ALL FILES): Update to GPLv3.
+	* (ALL FILES): Update copyright for 2007.
+
+	* main.c (print_version): Move the host type info to the second line.
+
+2007-06-29  Thiemo Seufer  <ths@mips.com>
+
+	* maintMakefile: Update Translation Project location.
+
+2007-06-13  Paul Smith  <psmith@gnu.org>
+
+	* doc/make.texi (Reading Makefiles): "Expansion of deferred" ->
+	"Expansion of a deferred"
+	Fixes Savannah bug #20018.
+
+	* expand.c (variable_expand_for_file): Preserve the value of
+	reading_file rather than setting it to 0 at the end.
+	Fixes Savannah bug #20033.
+
 2007-05-11  Paul Smith  <psmith@gnu.org>
 
@@ -2955,5 +3164,5 @@
 
 
-Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
 Foundation, Inc.
 This file is part of GNU Make.
@@ -2961,5 +3170,6 @@
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -2968,4 +3178,3 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+this program.  If not, see <http://www.gnu.org/licenses/>.
Index: vendor/gnumake/current/ChangeLog.1
===================================================================
--- vendor/gnumake/current/ChangeLog.1	(revision 901)
+++ vendor/gnumake/current/ChangeLog.1	(revision 1989)
@@ -4984,10 +4984,12 @@
 
 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2005, 2006 Free Software Foundation, Inc.
+1998, 1999, 2000, 2001, 2002, 2003, 2005, 2006, 2007 Free Software Foundation,
+Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -4996,4 +4998,3 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+this program.  If not, see <http://www.gnu.org/licenses/>.
Index: vendor/gnumake/current/ChangeLog.2
===================================================================
--- vendor/gnumake/current/ChangeLog.2	(revision 901)
+++ vendor/gnumake/current/ChangeLog.2	(revision 1989)
@@ -6640,10 +6640,11 @@
 
 Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2005, 2006 Free Software Foundation, Inc.
+2001, 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -6652,4 +6653,3 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+this program.  If not, see <http://www.gnu.org/licenses/>.
Index: vendor/gnumake/current/Makefile.DOS.template
===================================================================
--- vendor/gnumake/current/Makefile.DOS.template	(revision 901)
+++ vendor/gnumake/current/Makefile.DOS.template	(revision 1989)
@@ -3,18 +3,19 @@
 #
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
-# 2004, 2005, 2006 Free Software Foundation, Inc.
+# 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 # This file is part of GNU Make.
 #
-# GNU Make is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2, or (at your option) any later version.
+# GNU Make is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 3 of the License, or (at your option) any later
+# version.
 #
 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+# details.
 #
 # You should have received a copy of the GNU General Public License along with
-# GNU Make; see the file COPYING.  If not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+# this program.  If not, see <http://www.gnu.org/licenses/>.
 
 SHELL = /bin/sh
@@ -83,5 +84,4 @@
 make_LDADD =	  glob/libglob.a
 
-info_TEXINFOS =	make.texinfo
 man_MANS =	make.1
 
@@ -118,7 +118,11 @@
 INFO_DEPS = make.info
 DVIS = make.dvi
-TEXINFOS = make.texinfo
+TEXINFOS = doc/make.texi
+noinst_TEXINFOS = doc/fdl.texi doc/make-stds.texi
 man1dir = $(mandir)/man1
 MANS = $(man_MANS)
+
+TEXI2HTML = texi2html
+TEXI2HTML_FLAGS = -split_chapter
 
 NROFF = nroff
@@ -136,5 +140,5 @@
 
 .SUFFIXES:
-.SUFFIXES: .c .dvi .info .o .obj .ps .texinfo .tex
+.SUFFIXES: .c .dvi .info .o .obj .ps .texi .tex .html
 
 mostlyclean-hdr:
@@ -186,31 +190,39 @@
 	$(LINK) $(make_LDFLAGS) $(make_OBJECTS) $(make_LDADD) $(LIBS)
 
-make.info: make.texinfo
-make.dvi: make.texinfo
+# Documentation
+
+make.info: doc/make.texi
+make.dvi: doc/make.texi
 
 
 DVIPS = dvips
 
-.texinfo.info:
+.texi.info:
 	@command.com /c if exist make.info* del make.info*
 	@command.com /c if exist make.i* del make.i*
-	$(MAKEINFO) -I$(srcdir) $< -o ./$@
-
-.texinfo:
+	$(MAKEINFO) -I$(srcdir)/doc --no-split $< -o ./$@
+
+.texi:
 	@command.com /c if exist make.info* del make.info*
 	@command.com /c if exist make.i* del make.i*
-	$(MAKEINFO) -I$(srcdir) $< -o ./$@
-
-.texinfo.dvi:
-	TEXINPUTS="$(srcdir);$$TEXINPUTS"    MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
-
+	$(MAKEINFO) -I$(srcdir)/doc --no-split $< -o ./$@
+
+.texi.dvi:
+	TEXINPUTS="$(srcdir)/doc;$$TEXINPUTS"    MAKEINFO='$(MAKEINFO) -I $(srcdir)/doc' $(TEXI2DVI) $<
 
 .dvi.ps:
 	$(DVIPS) $< -o $@
+
+# Other documentation formats
+
+html: make_1.html
+
+make_1.html: $(TEXINFOS) $(noinst_TEXINFOS)
+	$(TEXI2HTML) $(TEXI2HTML_FLAGS) $(srcdir)/doc/make.texi
 
 install-info-am: $(INFO_DEPS)
 	@$(NORMAL_INSTALL)
 	$(mkinstalldirs) $(DESTDIR)$(infodir)
-	@for file in $(INFO_DEPS) make.i; do    d=$(srcdir);    for ifile in `cd $$d && echo $$file $$file-[0-9] $$file-[0-9][0-9] $$file[0-9] $$file[0-9][0-9]`; do      if test -f $$d/$$ifile; then        echo " $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile"; $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile; else : ; fi;    done;  done
+	@for file in $(INFO_DEPS); do    d=$(srcdir);    for ifile in `cd $$d && echo $$file`; do      if test -f $$d/$$ifile; then        echo " $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile"; $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile; else : ; fi;    done;  done
 	@$(POST_INSTALL)
 	@if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then    for file in $(INFO_DEPS); do      echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file";     install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file || :;   done;  else : ; fi
@@ -220,5 +232,5 @@
 	@if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then    ii=yes;  else ii=; fi;  for file in $(INFO_DEPS); do    test -z $ii || install-info --info-dir=$(DESTDIR)$(infodir) --remove $$file;  done
 	$(NORMAL_UNINSTALL)
-	for file in $(INFO_DEPS) make.i; do    (cd $(DESTDIR)$(infodir) && rm -f $$file $$file-[0-9] $$file-[0-9][0-9] $$file[0-9] $$file[0-9][0-9]);  done
+	for file in $(INFO_DEPS); do (cd $(DESTDIR)$(infodir) && rm -f $$file);  done
 
 dist-info: $(INFO_DEPS)
@@ -235,5 +247,5 @@
 
 maintainer-clean-aminfo:
-	for i in $(INFO_DEPS) make.i; do rm -f `eval echo $$i*`; done
+	for i in $(INFO_DEPS); do rm -f $$i*; done
 
 install-man1:
@@ -455,5 +467,6 @@
 install-exec install-data install uninstall all installdirs \
 mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean \
+html
 
 
Index: vendor/gnumake/current/Makefile.am
===================================================================
--- vendor/gnumake/current/Makefile.am	(revision 901)
+++ vendor/gnumake/current/Makefile.am	(revision 1989)
@@ -1,19 +1,20 @@
 # This is a -*-Makefile-*-, or close enough
 #
-# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
-# Free Software Foundation, Inc.
+# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
+# 2007 Free Software Foundation, Inc.
 # This file is part of GNU Make.
 #
-# GNU Make is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2, or (at your option) any later version.
+# GNU Make is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 3 of the License, or (at your option) any later
+# version.
 #
 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+# details.
 #
 # You should have received a copy of the GNU General Public License along with
-# GNU Make; see the file COPYING.  If not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+# this program.  If not, see <http://www.gnu.org/licenses/>.
 
 AUTOMAKE_OPTIONS = 1.8 dist-bzip2 check-news
Index: vendor/gnumake/current/Makefile.ami
===================================================================
--- vendor/gnumake/current/Makefile.ami	(revision 901)
+++ vendor/gnumake/current/Makefile.ami	(revision 1989)
@@ -5,18 +5,19 @@
 #
 # Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006 Free Software Foundation, Inc.
+# 2005, 2006, 2007 Free Software Foundation, Inc.
 # This file is part of GNU Make.
 #
-# GNU Make is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2, or (at your option) any later version.
+# GNU Make is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 3 of the License, or (at your option) any later
+# version.
 #
 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+# details.
 #
 # You should have received a copy of the GNU General Public License along with
-# GNU Make; see the file COPYING.  If not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+# this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #
Index: vendor/gnumake/current/NEWS
===================================================================
--- vendor/gnumake/current/NEWS	(revision 901)
+++ vendor/gnumake/current/NEWS	(revision 1989)
@@ -15,4 +15,11 @@
 * Compiling GNU make now requires a conforming ISO C 1989 compiler and
   standard runtime library.
+
+* New special variable: .RECIPEPREFIX allows you to reset the recipe
+  introduction character from the default (TAB) to something else.  The
+  first character of this variable value is the new recipe introduction
+  character.  If the variable is set to the empty string, TAB is used
+  again.  It can be set and reset at will; rules will be parsed
+  according to the current value.
 
 
@@ -53,11 +60,12 @@
 
 * WARNING: Backward-incompatibility!
+
   In order to comply with POSIX, the way in which GNU make processes
-  backslash-newline sequences in command strings has changed.  If your
-  makefiles use backslash-newline sequences inside of single-quoted
-  strings in command scripts you will be impacted by this change.  See
-  the GNU make manual subsection "Splitting Command Lines" (node
-  "Splitting Lines"), in section "Command Syntax", chapter "Writing the
-  Commands in Rules", for details.
+  backslash-newline sequences in recipes has changed.  If your makefiles
+  use backslash-newline sequences inside of single-quoted strings in
+  recipes you will be impacted by this change.  See the GNU make manual
+  subsection "Splitting Recipe Lines" (node "Splitting Lines"), in
+  section "Recipe Syntax", chapter "Writing Recipe in Rules", for
+  details.
 
 * WARNING: Backward-incompatibility!
@@ -68,5 +76,5 @@
   backslash is now preserved, so you'll need to remove it.
 
-* New command-line option: -L (--check-symlink-times).  On systems that
+* New command line option: -L (--check-symlink-times).  On systems that
   support symbolic links, if this option is given then GNU make will
   use the most recent modification time of any symbolic links that are
@@ -129,5 +137,5 @@
 
 * Changes made for POSIX compatibility:
-   - Only touch targets (under -t) if they have at least one command.
+   - Only touch targets (under -t) if they have a recipe.
    - Setting the SHELL make variable does NOT change the value of the
      SHELL environment variable given to programs invoked by make.  As
@@ -203,5 +211,5 @@
   makefiles at that moment.
 
-* A new command-line option is defined, -B or --always-make.  If
+* A new command line option is defined, -B or --always-make.  If
   specified GNU make will consider all targets out-of-date even if they
   would otherwise not be.
@@ -493,5 +501,5 @@
 * The `MAKEFLAGS' variable (in the environment or in a makefile) can now
   contain variable definitions itself; these are treated just like
-  command-line variable definitions.  Make will automatically insert any
+  command line variable definitions.  Make will automatically insert any
   variable definitions from the environment value of `MAKEFLAGS' or from
   the command line, into the `MAKEFLAGS' value exported to children.  The
@@ -502,6 +510,6 @@
 
 * If `.DELETE_ON_ERROR' appears as a target, Make will delete the target of
-  a rule if it has changed when its commands exit with a nonzero status,
-  just as when the commands get a signal.
+  a rule if it has changed when its recipe exits with a nonzero status,
+  just as when the recipe gets a signal.
 
 * The automatic variable `$+' is new.  It lists all the dependencies like
@@ -513,7 +521,7 @@
   dependencies to limit their effects to those files.  If a file appears as
   a dependency of `.IGNORE', then errors will be ignored while running the
-  commands to update that file.  Likewise if a file appears as a dependency
-  of `.SILENT', then the commands to update that file will not be printed
-  before they are run.  (This change was made to conform to POSIX.2.)
+  recipe to update that file.  Likewise if a file appears as a dependency
+  of `.SILENT', then the recipe to update that file will not be printed
+  before it is run.  (This change was made to conform to POSIX.2.)
 
 
@@ -566,6 +574,6 @@
   Thus the value (in this release) is something like `3.69' or `3.69-Customs'.
 
-* Commands in an invocation of the `shell' function are no longer run with
-  a modified environment like target commands are.  As in versions before
+* Commands in an invocation of the `shell' function are no longer run
+  with a modified environment like recipes are.  As in versions before
   3.68, they now run with the environment that `make' started with.  We
   have reversed the change made in version 3.68 because it turned out to
@@ -574,12 +582,12 @@
 	export variable = $(shell echo value)
 
-  When Make attempted to put this variable in the environment for a target
-  command, it would try expand the value by running the shell command
+  When Make attempted to put this variable in the environment for a
+  recipe, it would try expand the value by running the shell command
   `echo value'.  In version 3.68, because it constructed an environment
   for that shell command in the same way, Make would begin to go into an
   infinite loop and then get a fatal error when it detected the loop.
 
-* The commands given for `.DEFAULT' are now used for phony targets with no
-  commands.
+* The recipe given for `.DEFAULT' is now used for phony targets with no
+  recipe.
 
 
@@ -606,6 +614,6 @@
 
 * Commands in an invocation of the `shell' function are now run with a
-  modified environment like target commands are, so you can use `export' et
-  al to set up variables for them.  They used to run with the environment
+  modified environment like recipes are, so you can use `export' et al
+  to set up variables for them.  They used to run with the environment
   that `make' started with.
 
@@ -655,6 +663,6 @@
 
 * Multiple double-colon rules for the same target will no longer have their
-  commands run simultaneously under -j, as this could result in the two
-  commands trying to change the file at the same time and interfering with
+  recipes run simultaneously under -j, as this could result in the two
+  recipes trying to change the file at the same time and interfering with
   one another.
 
@@ -668,5 +676,5 @@
 
 * There are two new directives: `export' and `unexport'.  All variables are
-  no longer automatically put into the environments of the commands that
+  no longer automatically put into the environments of the recipe lines that
   Make runs.  Instead, only variables specified on the command line or in
   the environment are exported by default.  To export others, use:
@@ -683,6 +691,6 @@
   for a full description.
 
-* The commands from the `.DEFAULT' special target are only applied to
-  targets which have no rules at all, not all targets with no commands.
+* The recipe from the `.DEFAULT' special target is only applied to
+  targets which have no rules at all, not all targets with no recipe.
   This change was made for compatibility with Unix make.
 
@@ -737,6 +745,6 @@
   We still recommend that you use `.cc' instead.
 
-* If commands are given too many times for a single target,
-  the last set given is used, and a warning message is printed.
+* If a recipe is given too many times for a single target, the last one
+  given is used, and a warning message is printed.
 
 * Error messages about makefiles are in standard GNU error format,
@@ -756,5 +764,5 @@
 * Archives on AIX now supposedly work.
 
-* When the commands specified for .DEFAULT are used to update a target,
+* When the recipes specified for .DEFAULT are used to update a target,
   the $< automatic variable is given the same value as $@ for that target.
   This is how Unix make behaves, and this behavior is mandated by POSIX.2.
@@ -785,16 +793,16 @@
 Version 3.55
 
-* There is now a Unix man page for GNU Make.  It is certainly not a replacement
-for the Texinfo manual, but it documents the basic functionality and the
-switches.  For full documentation, you should still read the Texinfo manual.
-Thanks to Dennis Morse of Stanford University for contributing the initial
-version of this.
-
-* Variables which are defined by default (e.g., `CC') will no longer be put
-into the environment for child processes.  (If these variables are reset by the
-environment, makefiles, or the command line, they will still go into the
-environment.)
-
-* Makefiles which have commands but no dependencies (and thus are always
+* There is now a Unix man page for GNU Make.  It is certainly not a
+  replacement for the Texinfo manual, but it documents the basic
+  functionality and the switches.  For full documentation, you should
+  still read the Texinfo manual.  Thanks to Dennis Morse of Stanford
+  University for contributing the initial version of this.
+
+* Variables which are defined by default (e.g., `CC') will no longer be
+  put into the environment for child processes.  (If these variables are
+  reset by the environment, makefiles, or the command line, they will
+  still go into the environment.)
+
+* Makefiles which have recipes but no dependencies (and thus are always
   considered out of date and in need of remaking), will not be remade (if they
   were being remade only because they were makefiles).  This means that GNU
@@ -809,20 +817,20 @@
 
 * When removing intermediate files, only one `rm' command line is printed,
-listing all file names.
+  listing all file names.
 
 * There are now automatic variables `$(^D)', `$(^F)', `$(?D)', and `$(?F)'.
-These are the directory-only and file-only versions of `$^' and `$?'.
+  These are the directory-only and file-only versions of `$^' and `$?'.
 
 * Library dependencies given as `-lNAME' will use "libNAME.a" in the current
-directory if it exists.
+  directory if it exists.
 
 * The automatic variable `$($/)' is no longer defined.
 
-* Leading `+' characters on a command line make that line be executed even
-under -n, -t, or -q (as if the line contained `$(MAKE)').
-
-* For command lines containing `$(MAKE)', `${MAKE}', or leading `+' characters,
-only those lines are executed, not their entire rules.
-(This is how Unix make behaves for lines containing `$(MAKE)' or `${MAKE}'.)
+* Leading `+' characters on a recipe line make that line be executed even
+  under -n, -t, or -q (as if the line contained `$(MAKE)').
+
+* For recipe lines containing `$(MAKE)', `${MAKE}', or leading `+' characters,
+  only those lines are executed, not the entire recipe.
+  (This is how Unix make behaves for lines containing `$(MAKE)' or `${MAKE}'.)
 
 
@@ -832,6 +840,6 @@
 
 * The `-p' output has been changed so it can be used as a makefile.
-(All information that isn't specified by makefiles is prefaced with comment
-characters.)
+  (All information that isn't specified by makefiles is prefaced with comment
+  characters.)
 
 
@@ -839,15 +847,15 @@
 
 * The % character can be quoted with backslash in implicit pattern rules,
-static pattern rules, `vpath' directives, and `patsubst', `filter', and
-`filter-out' functions.  A warning is issued if a `vpath' directive's
-pattern contains no %.
+  static pattern rules, `vpath' directives, and `patsubst', `filter', and
+  `filter-out' functions.  A warning is issued if a `vpath' directive's
+  pattern contains no %.
 
 * The `wildcard' variable expansion function now expands ~ and ~USER.
 
-* Messages indicating failed commands now contain the target name:
+* Messages indicating failed recipe lines now contain the target name:
 	make: *** [target] Error 1
 
 * The `-p' output format has been changed somewhat to look more like
-makefile rules and to give all information that Make has about files.
+  makefile rules and to give all information that Make has about files.
 
 
@@ -860,7 +868,7 @@
 
 * When the `-w' switch is in effect, and Make has updated makefiles,
-it will write a `Leaving directory' messagfe before re-executing itself.
-This makes the `directory change tracking' changes to Emacs's compilation
-commands work properly.
+  it will write a `Leaving directory' message before re-executing itself.
+  This makes the `directory change tracking' changes to Emacs's compilation
+  commands work properly.
 
 
@@ -868,5 +876,5 @@
 
 * The automatic variable `$*' is now defined for explicit rules,
-as it is in Unix make.
+  as it is in Unix make.
 
 
@@ -874,9 +882,9 @@
 
 * The `-j' switch is now put in the MAKEFLAGS and MFLAGS variables when
-specified without an argument (indicating infinite jobs).
-The `-l' switch is not always put in the MAKEFLAGS and MFLAGS variables.
-
-* Make no longer checks hashed directories after running commands.
-The behavior implemented in 3.41 caused too much slowdown.
+  specified without an argument (indicating infinite jobs).
+  The `-l' switch is not always put in the MAKEFLAGS and MFLAGS variables.
+
+* Make no longer checks hashed directories after running recipes.
+  The behavior implemented in 3.41 caused too much slowdown.
 
 
@@ -884,6 +892,6 @@
 
 * A dependency is NOT considered newer than its dependent if
-they have the same modification time.  The behavior implemented
-in 3.43 conflicts with RCS.
+  they have the same modification time.  The behavior implemented
+  in 3.43 conflicts with RCS.
 
 
@@ -893,5 +901,5 @@
 
 * A dependency is considered newer than its dependent if
-they have the same modification time.
+  they have the same modification time.
 
 
@@ -899,14 +907,14 @@
 
 * The variables F77 and F77FLAGS are now set by default to $(FC) and
-$(FFLAGS).  Makefiles designed for System V make may use these variables in
-explicit rules and expect them to be set.  Unfortunately, there is no way to
-make setting these affect the Fortran implicit rules unless FC and FFLAGS
-are not used (and these are used by BSD make).
+  $(FFLAGS).  Makefiles designed for System V make may use these variables in
+  explicit rules and expect them to be set.  Unfortunately, there is no way to
+  make setting these affect the Fortran implicit rules unless FC and FFLAGS
+  are not used (and these are used by BSD make).
 
 
 Version 3.41
 
-* Make now checks to see if its hashed directories are changed by commands.
-Other makes that hash directories (Sun, 4.3 BSD) don't do this.
+* Make now checks to see if its hashed directories are changed by recipes.
+  Other makes that hash directories (Sun, 4.3 BSD) don't do this.
 
 
@@ -919,5 +927,5 @@
 
 * A file beginning with a dot can be the default target if it also contains
-a slash (e.g., `../bin/foo').  (Unix make allows this as well.)
+  a slash (e.g., `../bin/foo').  (Unix make allows this as well.)
 
 
@@ -929,6 +937,6 @@
 
 * Minimal support for Microport System V (a 16-bit machine and a
-brain-damaged compiler).  This has even lower priority than other USG
-support, so if it gets beyond trivial, I will take it out completely.
+  brain-damaged compiler).  This has even lower priority than other USG
+  support, so if it gets beyond trivial, I will take it out completely.
 
 * Revamped default implicit rules (not much visible change).
@@ -942,11 +950,11 @@
 
 * A variable reference like `$(foo:a=b)', if `a' contains a `%', is
-equivalent to `$(patsubst a,b,$(foo))'.
-
-* Defining .DEFAULT with no deps or commands clears its commands.
-
-* New default implicit rules for .S (cpp, then as), and .sh (copy and make
-executable).  All default implicit rules that use cpp (even indirectly), use
-$(CPPFLAGS).
+  equivalent to `$(patsubst a,b,$(foo))'.
+
+* Defining .DEFAULT with no deps or recipe clears its recipe.
+
+* New default implicit rules for .S (cpp, then as), and .sh (copy and
+  make executable).  All default implicit rules that use cpp (even
+  indirectly), use $(CPPFLAGS).
 
 
@@ -959,8 +967,8 @@
 
 * New option: "-l LOAD" says not to start any new jobs while others are
-running if the load average is not below LOAD (a floating-point number).
+  running if the load average is not below LOAD (a floating-point number).
 
 * There is support in place for implementations of remote command execution
-in Make.  See the file remote.c.
+  in Make.  See the file remote.c.
 
 
@@ -968,5 +976,5 @@
 
 * No more than 10 directories will be kept open at once.
-(This number can be changed by redefining MAX_OPEN_DIRECTORIES in dir.c.)
+  (This number can be changed by redefining MAX_OPEN_DIRECTORIES in dir.c.)
 
 
@@ -974,6 +982,6 @@
 
 * Archive files will have their modification times recorded before doing
-anything that might change their modification times by updating an archive
-member.
+  anything that might change their modification times by updating an archive
+  member.
 
 
@@ -986,5 +994,5 @@
 
 * The recursion level indications in error messages are much shorter than
-they were in version 3.14.
+  they were in version 3.14.
 
 
@@ -994,5 +1002,5 @@
 
 * Included makefiles can determine the default goal target.
-(System V Make does it this way, so we are being compatible).
+  (System V Make does it this way, so we are being compatible).
 
 
@@ -1000,11 +1008,11 @@
 
 * Variables that are defaults built into Make will not be put in the
-environment for children.  This just saves some environment space and,
-except under -e, will be transparent to sub-makes.
+  environment for children.  This just saves some environment space and,
+  except under -e, will be transparent to sub-makes.
 
 * Error messages from sub-makes will indicate the level of recursion.
 
 * Hopefully some speed-up for large directories due to a change in the
-directory hashing scheme.
+  directory hashing scheme.
 
 * One child will always get a standard input that is usable.
@@ -1016,5 +1024,5 @@
 
 * Count parentheses inside expansion function calls so you can
-have nested calls: `$(sort $(foreach x,a b,$(x)))'.
+  have nested calls: `$(sort $(foreach x,a b,$(x)))'.
 
 
@@ -1033,13 +1041,13 @@
 * Makefiles will be updated and re-read if necessary.
 
-* Can now run several commands at once (parallelism), -j option.
+* Can now run several recipes at once (parallelism), -j option.
 
 * Error messages will contain the level of Make recursion, if any.
 
 * The `MAKEFLAGS' and `MFLAGS' variables will be scanned for options after
-makefiles are read.
-
-* A double-colon rule with no dependencies will always have its commands run.
-(This is how both the BSD and System V versions of Make do it.)
+  makefiles are read.
+
+* A double-colon rule with no dependencies will always have its recipe run.
+  (This is how both the BSD and System V versions of Make do it.)
 
 
@@ -1051,5 +1059,5 @@
 -------------------------------------------------------------------------------
 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
 Foundation, Inc.
 This file is part of GNU Make.
@@ -1057,5 +1065,6 @@
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -1064,4 +1073,3 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+this program.  If not, see <http://www.gnu.org/licenses/>.
Index: vendor/gnumake/current/NMakefile.template
===================================================================
--- vendor/gnumake/current/NMakefile.template	(revision 901)
+++ vendor/gnumake/current/NMakefile.template	(revision 1989)
@@ -5,18 +5,19 @@
 #
 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-# 2006 Free Software Foundation, Inc.
+# 2006, 2007 Free Software Foundation, Inc.
 # This file is part of GNU Make.
 #
-# GNU Make is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2, or (at your option) any later version.
+# GNU Make is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 3 of the License, or (at your option) any later
+# version.
 #
 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+# details.
 #
 # You should have received a copy of the GNU General Public License along with
-# GNU Make; see the file COPYING.  If not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+# this program.  If not, see <http://www.gnu.org/licenses/>.
 
 LINK = link
Index: vendor/gnumake/current/README.Amiga
===================================================================
--- vendor/gnumake/current/README.Amiga	(revision 901)
+++ vendor/gnumake/current/README.Amiga	(revision 1989)
@@ -64,10 +64,11 @@
 -------------------------------------------------------------------------------
 Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-2005, 2006 Free Software Foundation, Inc.
+2005, 2006, 2007 Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -76,4 +77,3 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+this program.  If not, see <http://www.gnu.org/licenses/>.
Index: vendor/gnumake/current/README.DOS.template
===================================================================
--- vendor/gnumake/current/README.DOS.template	(revision 901)
+++ vendor/gnumake/current/README.DOS.template	(revision 1989)
@@ -327,10 +327,11 @@
 -------------------------------------------------------------------------------
 Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006 Free Software Foundation, Inc.
+2006, 2007 Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -339,4 +340,3 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+this program.  If not, see <http://www.gnu.org/licenses/>.
Index: vendor/gnumake/current/README.OS2.template
===================================================================
--- vendor/gnumake/current/README.OS2.template	(revision 901)
+++ vendor/gnumake/current/README.OS2.template	(revision 1989)
@@ -162,10 +162,11 @@
 
 -------------------------------------------------------------------------------
-Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -174,4 +175,3 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+this program.  If not, see <http://www.gnu.org/licenses/>.
Index: vendor/gnumake/current/README.W32.template
===================================================================
--- vendor/gnumake/current/README.W32.template	(revision 901)
+++ vendor/gnumake/current/README.W32.template	(revision 1989)
@@ -2,8 +2,8 @@
 It has also been used on Windows 95/98/NT, and on OS/2.
 
-It builds natively with MSVC 2.x, 4.x, 5.x, 6.x, and 2003 as well as
-.NET 7.x and .NET 2003.
-
-It builds with the MinGW port of GCC 3.x (tested with GCC 3.4.2).
+It builds with the MinGW port of GCC (tested with GCC 3.4.2).
+
+It also builds with MSVC 2.x, 4.x, 5.x, 6.x, and 2003 as well as
+with .NET 7.x and .NET 2003.
 
 The Windows 32-bit port of GNU make is maintained jointly by various
@@ -28,5 +28,6 @@
 
  2. Open make_msvc_net2003.vcproj in MSVS71 or MSVC71 or any compatible IDE,
-    then build this project as usual.
+    then build this project as usual.  There's also a solution file for
+    Studio 2003.
 
 
@@ -69,8 +70,10 @@
 
 	This version of make is ported natively to Windows32 platforms
-	(Windows NT 3.51, Windows NT 4.0, Windows 95, and Windows 98). It
-	does not rely on any 3rd party software or add-on packages for
-	building. The only thing needed is a version of Visual C++,
-	which is the predominant compiler used on Windows32 platforms.
+	(Windows NT 3.51, Windows NT 4.0, Windows 2000, Windows XP,
+	Windows 95, and Windows 98). It does not rely on any 3rd party
+	software or add-on packages for building. The only thing
+	needed is a Windows compiler.  Two compilers supported
+	officially are the MinGW port of GNU GCC, and the various
+	versions of the Microsoft C compiler.
 
 	Do not confuse this port of GNU make with other Windows32 projects
@@ -80,9 +83,9 @@
 GNU make and sh.exe:
 
-	This port prefers you have a working sh.exe somewhere on your
-	system. If you don't have sh.exe, the port falls back to
-	MSDOS mode for launching programs (via a batch file).
-	The MSDOS mode style execution has not been tested that
-	carefully though (The author uses GNU bash as sh.exe).
+	This port prefers if you have a working sh.exe somewhere on
+	your system. If you don't have sh.exe, the port falls back to
+	MSDOS mode for launching programs (via a batch file).  The
+	MSDOS mode style execution has not been tested that carefully
+	though (The author uses GNU bash as sh.exe).
 
 	There are very few true ports of Bourne shell for NT right now.
@@ -109,7 +112,23 @@
 	A native Windows32 system with no Bourne shell will also run
 	in batch mode.  All command lines will be put into batch files
-	and executed via $(COMSPEC) (%COMSPEC%).  Note that parallel
-        builds (-j) require a working Bourne shell; they will not work
-        with COM.
+	and executed via $(COMSPEC) (%COMSPEC%).  However, parallel
+	builds ARE supported with Windows shells (cmd.exe and
+	command.com).  See the next section about some peculiarities
+	of parallel builds on Windows.
+
+Support for parallel builds
+
+	Parallel builds (-jN) are supported in this port, with 2
+	limitations:
+
+	  - The number of concurrent processes has a hard limit of 64,
+            due to the way this port implements waiting for its
+            subprocesses;
+
+	  - The job server method (available when Make runs on Posix
+            platforms) is not supported, which means you must pass an
+            explicit -jN switch to sub-Make's in a recursive Makefile.
+            If a sub-Make does not receive an explicit -jN switch, it
+            will default to -j1, i.e. no parallelism in sub-Make's.
 
 GNU make and Cygnus GNU Windows32 tools:
@@ -172,27 +191,9 @@
 	sh.exe.  Tests were performed on both Windows NT and Windows 95.
 
-Building GNU make on Windows NT and Windows 95/98 with Microsoft Visual C:
-
-	I did not provide a Visual C project file with this port as
-	the project file would not be considered freely distributable
-	(or so I think). It is easy enough to create one, though, if
-	you know how to use Visual C.
-
-	I build the program statically to avoid problems locating DLL's
-	on machines that may not have MSVC runtime installed. If you
-	prefer, you can change make to build with shared libraries by
-	changing /MT to /MD in the NMakefile (or in build_w32.bat).
-
-	The program has not been built for non-Intel architectures (yet).
-
-	I have not tried to build with any other compilers than MSVC. I
-	have heard that this is possible though so don't be afraid to
-	notify me of your successes!
-
 Pathnames and white space:
 
 	Unlike Unix, Windows 95/NT systems encourage pathnames which
 	contain white space (e.g. C:\Program Files\). These sorts of
-	pathnames are legal under Unix too, but are never encouraged.
+	pathnames are valid on Unix too, but are never encouraged.
 	There is at least one place in make (VPATH/vpath handling) where
 	paths containing white space will simply not work. There may be
@@ -274,10 +275,11 @@
 -------------------------------------------------------------------------------
 Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006 Free Software Foundation, Inc.
+2006, 2007, 2008 Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -286,4 +288,3 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+this program.  If not, see <http://www.gnu.org/licenses/>.
Index: vendor/gnumake/current/README.customs
===================================================================
--- vendor/gnumake/current/README.customs	(revision 901)
+++ vendor/gnumake/current/README.customs	(revision 1989)
@@ -98,11 +98,12 @@
 
 -------------------------------------------------------------------------------
-Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
-Free Software Foundation, Inc.
+Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free
+Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -111,4 +112,3 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+this program.  If not, see <http://www.gnu.org/licenses/>.
Index: vendor/gnumake/current/README.cvs
===================================================================
--- vendor/gnumake/current/README.cvs	(revision 901)
+++ vendor/gnumake/current/README.cvs	(revision 1989)
@@ -2,10 +2,11 @@
 
 -------------------------------------------------------------------------------
-Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -14,6 +15,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+this program.  If not, see <http://www.gnu.org/licenses/>.
 -------------------------------------------------------------------------------
 
Index: vendor/gnumake/current/README.template
===================================================================
--- vendor/gnumake/current/README.template	(revision 901)
+++ vendor/gnumake/current/README.template	(revision 1989)
@@ -174,11 +174,12 @@
 -------------------------------------------------------------------------------
 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
-Inc.
+1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
+Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -187,4 +188,3 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+this program.  If not, see <http://www.gnu.org/licenses/>.
Index: vendor/gnumake/current/SMakefile.template
===================================================================
--- vendor/gnumake/current/SMakefile.template	(revision 901)
+++ vendor/gnumake/current/SMakefile.template	(revision 1989)
@@ -5,18 +5,19 @@
 #
 # Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006 Free Software Foundation, Inc.
+# 2005, 2006, 2007 Free Software Foundation, Inc.
 # This file is part of GNU Make.
 #
-# GNU Make is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2, or (at your option) any later version.
+# GNU Make is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 3 of the License, or (at your option) any later
+# version.
 #
 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+# details.
 #
 # You should have received a copy of the GNU General Public License along with
-# GNU Make; see the file COPYING.  If not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+# this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #
Index: vendor/gnumake/current/TODO.private
===================================================================
--- vendor/gnumake/current/TODO.private	(revision 901)
+++ vendor/gnumake/current/TODO.private	(revision 1989)
@@ -130,11 +130,12 @@
 
 -------------------------------------------------------------------------------
-Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free
-Software Foundation, Inc.
+Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -143,4 +144,3 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+this program.  If not, see <http://www.gnu.org/licenses/>.
Index: vendor/gnumake/current/acinclude.m4
===================================================================
--- vendor/gnumake/current/acinclude.m4	(revision 901)
+++ vendor/gnumake/current/acinclude.m4	(revision 1989)
@@ -2,23 +2,20 @@
 dnl
 dnl Automake will incorporate this into its generated aclocal.m4.
-dnl Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+dnl Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
 dnl Free Software Foundation, Inc.
 dnl This file is part of GNU Make.
 dnl
-dnl GNU Make is free software; you can redistribute it and/or modify it
-dnl under the terms of the GNU General Public License as published by
-dnl the Free Software Foundation; either version 2, or (at your option)
+dnl GNU Make is free software; you can redistribute it and/or modify it under
+dnl the terms of the GNU General Public License as published by the Free
+dnl Software Foundation; either version 3 of the License, or (at your option)
 dnl any later version.
 dnl
-dnl GNU Make is distributed in the hope that it will be useful, but
-dnl WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-dnl General Public License for more details.
+dnl GNU Make is distributed in the hope that it will be useful, but WITHOUT
+dnl ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+dnl FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for.
+dnl more details.
 dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with GNU Make; see the file COPYING.  If not, write to the
-dnl Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
-dnl MA 02110-1301 USA.
-
+dnl You should have received a copy of the GNU General Public License along
+dnl with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 dnl ---------------------------------------------------------------------------
Index: vendor/gnumake/current/amiga.c
===================================================================
--- vendor/gnumake/current/amiga.c	(revision 901)
+++ vendor/gnumake/current/amiga.c	(revision 1989)
@@ -1,10 +1,11 @@
 /* Running commands on Amiga
 Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-2005, 2006 Free Software Foundation, Inc.
+2005, 2006, 2007 Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -13,6 +14,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "make.h"
@@ -117,3 +117,2 @@
     return o;
 }
-
Index: vendor/gnumake/current/amiga.h
===================================================================
--- vendor/gnumake/current/amiga.h	(revision 901)
+++ vendor/gnumake/current/amiga.h	(revision 1989)
@@ -1,10 +1,11 @@
 /* Definitions for amiga specific things
 Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-2005, 2006 Free Software Foundation, Inc.
+2005, 2006, 2007 Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -13,6 +14,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 int MyExecute (char ** argv);
Index: vendor/gnumake/current/ar.c
===================================================================
--- vendor/gnumake/current/ar.c	(revision 901)
+++ vendor/gnumake/current/ar.c	(revision 1989)
@@ -1,5 +1,5 @@
 /* Interface to `ar' archives for GNU Make.
 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
 Foundation, Inc.
 This file is part of GNU Make.
@@ -7,5 +7,6 @@
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -14,6 +15,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "make.h"
@@ -200,4 +200,5 @@
       /* We have a match.  Add it to the chain.  */
       struct nameseq *new = xmalloc (state->size);
+      memset (new, '\0', state->size);
       new->name = strcache_add (concat (state->arname, mem, ")"));
       new->next = state->chain;
Index: vendor/gnumake/current/arscan.c
===================================================================
--- vendor/gnumake/current/arscan.c	(revision 901)
+++ vendor/gnumake/current/arscan.c	(revision 1989)
@@ -1,11 +1,12 @@
 /* Library function for scanning an archive file.
 Copyright (C) 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
-Inc.
+1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
+Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -14,6 +15,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "make.h"
@@ -565,9 +565,9 @@
 	  /* If the member name is "//" or "ARFILENAMES/" this may be
 	     a list of file name mappings.  The maximum file name
- 	     length supported by the standard archive format is 14
- 	     characters.  This member will actually always be the
- 	     first or second entry in the archive, but we don't check
- 	     that.  */
- 	  is_namemap = (!strcmp (name, "//")
+	     length supported by the standard archive format is 14
+	     characters.  This member will actually always be the
+	     first or second entry in the archive, but we don't check
+	     that.  */
+	  is_namemap = (!strcmp (name, "//")
 			|| !strcmp (name, "ARFILENAMES/"));
 #endif	/* Not AIAMAG. */
@@ -577,33 +577,33 @@
 
 #ifndef AIAMAG
- 	  /* If the member name starts with a space or a slash, this
- 	     is an index into the file name mappings (used by GNU ar).
- 	     Otherwise if the member name looks like #1/NUMBER the
- 	     real member name appears in the element data (used by
- 	     4.4BSD).  */
- 	  if (! is_namemap
- 	      && (name[0] == ' ' || name[0] == '/')
- 	      && namemap != 0)
+	  /* If the member name starts with a space or a slash, this
+	     is an index into the file name mappings (used by GNU ar).
+	     Otherwise if the member name looks like #1/NUMBER the
+	     real member name appears in the element data (used by
+	     4.4BSD).  */
+	  if (! is_namemap
+	      && (name[0] == ' ' || name[0] == '/')
+	      && namemap != 0)
 	    {
 	      name = namemap + atoi (name + 1);
 	      long_name = 1;
 	    }
- 	  else if (name[0] == '#'
- 		   && name[1] == '1'
- 		   && name[2] == '/')
- 	    {
- 	      int namesize = atoi (name + 3);
-
- 	      name = alloca (namesize + 1);
- 	      nread = read (desc, name, namesize);
- 	      if (nread != namesize)
- 		{
- 		  close (desc);
- 		  return -2;
- 		}
- 	      name[namesize] = '\0';
+	  else if (name[0] == '#'
+		   && name[1] == '1'
+		   && name[2] == '/')
+	    {
+	      int namesize = atoi (name + 3);
+
+	      name = alloca (namesize + 1);
+	      nread = read (desc, name, namesize);
+	      if (nread != namesize)
+		{
+		  close (desc);
+		  return -2;
+		}
+	      name[namesize] = '\0';
 
 	      long_name = 1;
- 	    }
+	    }
 #endif /* Not AIAMAG. */
 	}
@@ -646,5 +646,5 @@
 #ifdef AIAMAGBIG
 	if (big_archive)
-          sscanf (member_header_big.ar_nxtmem, "%20ld", &member_offset);
+         sscanf (member_header_big.ar_nxtmem, "%20ld", &member_offset);
 	else
 #endif
@@ -658,36 +658,36 @@
 #else
 
- 	/* If this member maps archive names, we must read it in.  The
- 	   name map will always precede any members whose names must
- 	   be mapped.  */
+	/* If this member maps archive names, we must read it in.  The
+	   name map will always precede any members whose names must
+	   be mapped.  */
 	if (is_namemap)
- 	  {
- 	    char *clear;
- 	    char *limit;
-
- 	    namemap = alloca (eltsize);
- 	    nread = read (desc, namemap, eltsize);
- 	    if (nread != eltsize)
- 	      {
- 		(void) close (desc);
- 		return -2;
- 	      }
-
- 	    /* The names are separated by newlines.  Some formats have
- 	       a trailing slash.  Null terminate the strings for
- 	       convenience.  */
- 	    limit = namemap + eltsize;
- 	    for (clear = namemap; clear < limit; clear++)
- 	      {
- 		if (*clear == '\n')
- 		  {
- 		    *clear = '\0';
- 		    if (clear[-1] == '/')
- 		      clear[-1] = '\0';
- 		  }
- 	      }
+	  {
+	    char *clear;
+	    char *limit;
+
+	    namemap = alloca (eltsize);
+	    nread = read (desc, namemap, eltsize);
+	    if (nread != eltsize)
+	      {
+		(void) close (desc);
+		return -2;
+	      }
+
+	    /* The names are separated by newlines.  Some formats have
+	       a trailing slash.  Null terminate the strings for
+	       convenience.  */
+	    limit = namemap + eltsize;
+	    for (clear = namemap; clear < limit; clear++)
+	      {
+		if (*clear == '\n')
+		  {
+		    *clear = '\0';
+		    if (clear[-1] == '/')
+		      clear[-1] = '\0';
+		  }
+	      }
 
 	    is_namemap = 0;
- 	  }
+	  }
 
 	member_offset += AR_HDR_SIZE + eltsize;
Index: vendor/gnumake/current/build.template
===================================================================
--- vendor/gnumake/current/build.template	(revision 901)
+++ vendor/gnumake/current/build.template	(revision 1989)
@@ -4,18 +4,19 @@
 
 # Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 # This file is part of GNU Make.
 #
-# GNU Make is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2, or (at your option) any later version.
+# GNU Make is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 3 of the License, or (at your option) any later
+# version.
 #
 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+# details.
 #
 # You should have received a copy of the GNU General Public License along with
-# GNU Make; see the file COPYING.  If not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+# this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # See Makefile.in for comments describing these variables.
Index: vendor/gnumake/current/build_w32.bat
===================================================================
--- vendor/gnumake/current/build_w32.bat	(revision 901)
+++ vendor/gnumake/current/build_w32.bat	(revision 1989)
@@ -1,19 +1,25 @@
 @echo off
 rem Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-rem 2006 Free Software Foundation, Inc.
+rem 2006, 2007 Free Software Foundation, Inc.
 rem This file is part of GNU Make.
+rem
+rem GNU Make is free software; you can redistribute it and/or modify it under
+rem the terms of the GNU General Public License as published by the Free
+rem Software Foundation; either version 3 of the License, or (at your option)
+rem any later version.
+rem
+rem GNU Make is distributed in the hope that it will be useful, but WITHOUT
+rem ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+rem FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for.
+rem more details.
+rem
+rem You should have received a copy of the GNU General Public License along
+rem with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-rem GNU Make is free software; you can redistribute it and/or modify it under the
-rem terms of the GNU General Public License as published by the Free Software
-rem Foundation; either version 2, or (at your option) any later version.
-
-rem GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
-rem WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-rem A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
-
-rem You should have received a copy of the GNU General Public License along with
-rem GNU Make; see the file COPYING.  If not, write to the Free Software
-rem Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
+if exist config.h.W32 GoTo NotCVS
+sed -n "s/^AC_INIT(\[GNU make\],\[\([^]]\+\)\].*/s,%%VERSION%%,\1,g/p" configure.in > config.h.W32.sed
+echo s,%%PACKAGE%%,make,g >> config.h.W32.sed
+sed -f config.h.W32.sed config.h.W32.template > config.h.W32
+:NotCVS
 if not exist config.h copy config.h.W32 config.h
 cd w32\subproc
@@ -165,33 +171,33 @@
 :GCCBuild
 echo on
-gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c variable.c
-gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c rule.c
-gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c remote-stub.c
-gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c commands.c
-gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c file.c
-gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c getloadavg.c
-gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c default.c
-gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c signame.c
-gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c expand.c
-gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c dir.c
-gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c main.c
-gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c getopt1.c
-gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c job.c
-gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c read.c
-gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c version.c
-gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c getopt.c
-gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c arscan.c
-gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c remake.c
-gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c hash.c
-gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c strcache.c
-gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c misc.c
-gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c ar.c
-gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c function.c
-gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c vpath.c
-gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c implicit.c
-gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c ./glob/glob.c -o glob.o
-gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c ./glob/fnmatch.c -o fnmatch.o
-gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c ./w32/pathstuff.c -o pathstuff.o
-gcc -mthreads -gstabs+ -ggdb3 -o gnumake.exe variable.o rule.o remote-stub.o commands.o file.o getloadavg.o default.o signame.o expand.o dir.o main.o getopt1.o job.o read.o version.o getopt.o arscan.o remake.o misc.o hash.o strcache.o ar.o function.o vpath.o implicit.o glob.o fnmatch.o pathstuff.o w32_misc.o sub_proc.o w32err.o -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32
+gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c variable.c
+gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c rule.c
+gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c remote-stub.c
+gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c commands.c
+gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c file.c
+gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c getloadavg.c
+gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c default.c
+gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c signame.c
+gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c expand.c
+gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c dir.c
+gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c main.c
+gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c getopt1.c
+gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c job.c
+gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c read.c
+gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c version.c
+gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c getopt.c
+gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c arscan.c
+gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c remake.c
+gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c hash.c
+gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c strcache.c
+gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c misc.c
+gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c ar.c
+gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c function.c
+gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c vpath.c
+gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c implicit.c
+gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c ./glob/glob.c -o glob.o
+gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c ./glob/fnmatch.c -o fnmatch.o
+gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c ./w32/pathstuff.c -o pathstuff.o
+gcc -mthreads -gdwarf-2 -g3 -o gnumake.exe variable.o rule.o remote-stub.o commands.o file.o getloadavg.o default.o signame.o expand.o dir.o main.o getopt1.o job.o read.o version.o getopt.o arscan.o remake.o misc.o hash.o strcache.o ar.o function.o vpath.o implicit.o glob.o fnmatch.o pathstuff.o w32_misc.o sub_proc.o w32err.o -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32
 :BuildEnd
 echo on
Index: vendor/gnumake/current/commands.c
===================================================================
--- vendor/gnumake/current/commands.c	(revision 901)
+++ vendor/gnumake/current/commands.c	(revision 1989)
@@ -1,5 +1,5 @@
 /* Command processing for GNU Make.
 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
 Foundation, Inc.
 This file is part of GNU Make.
@@ -7,5 +7,6 @@
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -14,6 +15,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "make.h"
@@ -603,5 +603,5 @@
   const char *s;
 
-  fputs (_("#  commands to execute"), stdout);
+  fputs (_("#  recipe to execute"), stdout);
 
   if (cmds->fileinfo.filenm == 0)
@@ -616,14 +616,11 @@
       const char *end;
 
-      while (isspace ((unsigned char)*s))
-	++s;
-
       end = strchr (s, '\n');
       if (end == 0)
 	end = s + strlen (s);
 
-      printf ("\t%.*s\n", (int) (end - s), s);
-
-      s = end;
+      printf ("%c%.*s\n", cmd_prefix, (int) (end - s), s);
+
+      s = end + (end[0] == '\n');
     }
 }
Index: vendor/gnumake/current/commands.h
===================================================================
--- vendor/gnumake/current/commands.h	(revision 901)
+++ vendor/gnumake/current/commands.h	(revision 1989)
@@ -1,5 +1,5 @@
 /* Definition of data structures describing shell commands for GNU Make.
 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
 Foundation, Inc.
 This file is part of GNU Make.
@@ -7,5 +7,6 @@
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -14,6 +15,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* Structure that gives the commands to make a file
Index: vendor/gnumake/current/config.ami.template
===================================================================
--- vendor/gnumake/current/config.ami.template	(revision 901)
+++ vendor/gnumake/current/config.ami.template	(revision 1989)
@@ -1,10 +1,11 @@
 /* config.h -- hand-massaged for Amiga                                  -*-C-*-
 Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-2005, 2006 Free Software Foundation, Inc.
+2005, 2006, 2007 Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -13,6 +14,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* Define if on AIX 3.
Index: vendor/gnumake/current/config.h-vms.template
===================================================================
--- vendor/gnumake/current/config.h-vms.template	(revision 901)
+++ vendor/gnumake/current/config.h-vms.template	(revision 1989)
@@ -2,10 +2,11 @@
 
 Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006 Free Software Foundation, Inc.
+2006, 2007 Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -14,6 +15,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* config.h.  Generated automatically by configure.  */
Index: vendor/gnumake/current/config.h.W32.template
===================================================================
--- vendor/gnumake/current/config.h.W32.template	(revision 901)
+++ vendor/gnumake/current/config.h.W32.template	(revision 1989)
@@ -2,10 +2,11 @@
 
 Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006 Free Software Foundation, Inc.
+2006, 2007 Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -14,6 +15,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* Suppress some Visual C++ warnings.
@@ -419,9 +419,14 @@
 /* #undef const */
 
+#include <sys/types.h>
+
 /* Define to `int' if <sys/types.h> doesn't define. */
 #define gid_t int
 
 /* Define to `int' if <sys/types.h> does not define. */
+/* GCC 4.x reportedly defines pid_t.  */
+#ifndef _PID_T_
 #define pid_t int
+#endif
 
 /* Define to `int' if <sys/types.h> doesn't define. */
Index: vendor/gnumake/current/config/ChangeLog
===================================================================
--- vendor/gnumake/current/config/ChangeLog	(revision 901)
+++ vendor/gnumake/current/config/ChangeLog	(revision 1989)
@@ -30,10 +30,11 @@
 
 
-Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -42,4 +43,3 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+this program.  If not, see <http://www.gnu.org/licenses/>.
Index: vendor/gnumake/current/config/Makefile.am
===================================================================
--- vendor/gnumake/current/config/Makefile.am	(revision 901)
+++ vendor/gnumake/current/config/Makefile.am	(revision 1989)
@@ -1,17 +1,19 @@
 # -*-Makefile-*-, or close enough
-# Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation,
+# Inc.
 # This file is part of GNU Make.
 #
-# GNU Make is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2, or (at your option) any later version.
+# GNU Make is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free
+# Software Foundation; either version 3 of the License, or (at your option)
+# any later version.
 #
 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+# details.
 #
 # You should have received a copy of the GNU General Public License along with
-# GNU Make; see the file COPYING.  If not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+# this program.  If not, see <http://www.gnu.org/licenses/>.
 
 EXTRA_DIST =	codeset.m4 gettext.m4 glibc21.m4 iconv.m4 isc-posix.m4 nls.m4 \
Index: vendor/gnumake/current/config/dospaths.m4
===================================================================
--- vendor/gnumake/current/config/dospaths.m4	(revision 901)
+++ vendor/gnumake/current/config/dospaths.m4	(revision 1989)
@@ -1,20 +1,21 @@
 # Test if the system uses DOS-style pathnames (drive specs and backslashes)
 # By Paul Smith <psmith@gnu.org>.  Based on dos.m4 by Jim Meyering.
-
+#
 # Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 # This file is part of GNU Make.
 #
-# GNU Make is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2, or (at your option) any later version.
+# GNU Make is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 3 of the License, or (at your option) any later
+# version.
 #
 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+# details.
 #
 # You should have received a copy of the GNU General Public License along with
-# GNU Make; see the file COPYING.  If not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+# this program.  If not, see <http://www.gnu.org/licenses/>.
 
 AC_DEFUN([pds_AC_DOS_PATHS],
Index: vendor/gnumake/current/configh.dos.template
===================================================================
--- vendor/gnumake/current/configh.dos.template	(revision 901)
+++ vendor/gnumake/current/configh.dos.template	(revision 1989)
@@ -2,10 +2,11 @@
 
 Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
-2004, 2005, 2006 Free Software Foundation, Inc.
+2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -14,6 +15,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* Many things are defined already by a system header.  */
@@ -26,5 +26,5 @@
 
 /* Define to 1 if the C library defines the variable `_sys_siglist'.  */
-# define HAVE_SYS_SIGLIST 1
+# define HAVE_DECL_SYS_SIGLIST 1
 
 #else
Index: vendor/gnumake/current/configure.bat
===================================================================
--- vendor/gnumake/current/configure.bat	(revision 901)
+++ vendor/gnumake/current/configure.bat	(revision 1989)
@@ -1,20 +1,19 @@
 @echo off
 rem Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
-rem 2004, 2005, 2006 Free Software Foundation, Inc.
+rem 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 rem This file is part of GNU Make.
-
+rem
 rem GNU Make is free software; you can redistribute it and/or modify it under
 rem the terms of the GNU General Public License as published by the Free
-rem Software Foundation; either version 2, or (at your option) any later
-rem version.
-
+rem Software Foundation; either version 3 of the License, or (at your option)
+rem any later version.
+rem
 rem GNU Make is distributed in the hope that it will be useful, but WITHOUT
 rem ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-rem FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+rem FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for.
 rem more details.
-
+rem
 rem You should have received a copy of the GNU General Public License along
-rem with GNU Make; see the file COPYING.  If not, write to the Free Software
-rem Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+rem with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 echo Configuring MAKE for DJGPP
Index: vendor/gnumake/current/configure.in
===================================================================
--- vendor/gnumake/current/configure.in	(revision 901)
+++ vendor/gnumake/current/configure.in	(revision 1989)
@@ -2,23 +2,24 @@
 #
 # Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 # This file is part of GNU Make.
 #
-# GNU Make is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2, or (at your option) any later version.
+# GNU Make is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 3 of the License, or (at your option) any later
+# version.
 #
 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+# details.
 #
 # You should have received a copy of the GNU General Public License along with
-# GNU Make; see the file COPYING.  If not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+# this program.  If not, see <http://www.gnu.org/licenses/>.
 
 AC_INIT([GNU make],[3.81.90],[bug-make@gnu.org])
 
 AC_PREREQ(2.59)
-AC_REVISION([[$Id: configure.in,v 1.147 2007/05/09 02:01:53 psmith Exp $]])
+AC_REVISION([[$Id: configure.in,v 1.148 2007/07/04 19:35:17 psmith Exp $]])
 
 # Autoconf setup
Index: vendor/gnumake/current/debug.h
===================================================================
--- vendor/gnumake/current/debug.h	(revision 901)
+++ vendor/gnumake/current/debug.h	(revision 1989)
@@ -1,10 +1,11 @@
 /* Debugging macros and interface.
-Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
-Foundation, Inc.
+Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free
+Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -13,6 +14,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #define DB_NONE         (0x000)
Index: vendor/gnumake/current/default.c
===================================================================
--- vendor/gnumake/current/default.c	(revision 901)
+++ vendor/gnumake/current/default.c	(revision 1989)
@@ -1,5 +1,5 @@
 /* Data base of default implicit rules for GNU Make.
 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
 Foundation, Inc.
 This file is part of GNU Make.
@@ -7,5 +7,6 @@
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -14,6 +15,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "make.h"
Index: vendor/gnumake/current/dep.h
===================================================================
--- vendor/gnumake/current/dep.h	(revision 901)
+++ vendor/gnumake/current/dep.h	(revision 1989)
@@ -1,5 +1,5 @@
 /* Definitions of dependency data structures for GNU Make.
 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
 Foundation, Inc.
 This file is part of GNU Make.
@@ -7,5 +7,6 @@
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -14,6 +15,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* Flag bits for the second argument to `read_makefile'.
Index: vendor/gnumake/current/dir.c
===================================================================
--- vendor/gnumake/current/dir.c	(revision 901)
+++ vendor/gnumake/current/dir.c	(revision 1989)
@@ -1,5 +1,5 @@
 /* Directory hashing for GNU Make.
 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
 Foundation, Inc.
 This file is part of GNU Make.
@@ -7,5 +7,6 @@
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -14,6 +15,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "make.h"
@@ -458,22 +458,25 @@
 	 Find its device and inode numbers, and look it up by them.  */
 
-#ifdef WINDOWS32
-      /* Remove any trailing '\'.  Windows32 stat fails even on valid
-         directories if they end in '\'. */
-      if (p[-1] == '\\')
-        p[-1] = '\0';
-#endif
-
 #ifdef VMS
       r = vmsstat_dir (name, &st);
+#elif defined(WINDOWS32)
+      {
+        char tem[MAXPATHLEN], *tstart, *tend;
+
+        /* Remove any trailing slashes.  Windows32 stat fails even on
+           valid directories if they end in a slash. */
+        memcpy (tem, name, p - name + 1);
+        tstart = tem;
+        if (tstart[1] == ':')
+          tstart += 2;
+        for (tend = tem + (p - name - 1);
+             tend > tstart && (*tend == '/' || *tend == '\\');
+             tend--)
+          *tend = '\0';
+
+        r = stat (tem, &st);
+      }
 #else
       EINTRLOOP (r, stat (name, &st));
-#endif
-
-#ifdef WINDOWS32
-      /* Put back the trailing '\'.  If we don't, we're permanently
-         truncating the value!  */
-      if (p[-1] == '\0')
-        p[-1] = '\\';
 #endif
 
Index: vendor/gnumake/current/doc/Makefile.am
===================================================================
--- vendor/gnumake/current/doc/Makefile.am	(revision 901)
+++ vendor/gnumake/current/doc/Makefile.am	(revision 1989)
@@ -1,18 +1,19 @@
 # -*-Makefile-*-, or close enough
-# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
 # Foundation, Inc.
 # This file is part of GNU Make.
 #
-# GNU Make is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2, or (at your option) any later version.
+# GNU Make is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 3 of the License, or (at your option) any later
+# version.
 #
 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+# details.
 #
 # You should have received a copy of the GNU General Public License along with
-# GNU Make; see the file COPYING.  If not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+# this program.  If not, see <http://www.gnu.org/licenses/>.
 
 TEXI2HTML = texi2html
Index: vendor/gnumake/current/doc/make.texi
===================================================================
--- vendor/gnumake/current/doc/make.texi	(revision 901)
+++ vendor/gnumake/current/doc/make.texi	(revision 1989)
@@ -5,5 +5,5 @@
 @include version.texi
 @set EDITION 0.70
-@set RCSID $Id: make.texi,v 1.47 2007/05/11 20:57:21 psmith Exp $
+@set RCSID $Id: make.texi,v 1.52 2008/05/18 15:11:40 psmith Exp $
 
 @settitle GNU @code{make}
@@ -27,5 +27,5 @@
 
 Copyright @copyright{} 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995,
-1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006
+1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007
 Free Software Foundation, Inc.
 
@@ -39,7 +39,7 @@
 License.''
 
-(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
-this GNU Manual, like GNU software.  Copies published by the Free
-Software Foundation raise funds for GNU development.''
+(a) The FSF's Back-Cover Text is: ``You are free to copy and modify
+this GNU Manual. Buying copies from GNU Press supports the FSF in
+developing GNU and promoting software freedom.''
 @end quotation
 @end copying
@@ -92,5 +92,5 @@
 * Makefiles::                   Makefiles tell @code{make} what to do.
 * Rules::                       Rules describe when a file must be remade.
-* Commands::                    Commands say how to remake a file.
+* Recipes::                     Recipes say how to remake a file.
 * Using Variables::             You can use variables to avoid repetition.
 * Conditionals::                Use or ignore parts of the makefile based
@@ -119,17 +119,17 @@
 Overview of @code{make}
 
-* Preparing::                   Preparing and Running Make
-* Reading::                     On Reading this Text
-* Bugs::                        Problems and Bugs
+* Preparing::                   Preparing and running make
+* Reading::                     On reading this text
+* Bugs::                        Problems and bugs
 
 An Introduction to Makefiles
 
 * Rule Introduction::           What a rule looks like.
-* Simple Makefile::             A Simple Makefile
-* How Make Works::              How @code{make} Processes This Makefile
-* Variables Simplify::          Variables Make Makefiles Simpler
-* make Deduces::                Letting @code{make} Deduce the Commands
-* Combine By Prerequisite::     Another Style of Makefile
-* Cleanup::                     Rules for Cleaning the Directory
+* Simple Makefile::             A simple makefile
+* How Make Works::              How @code{make} processes this makefile
+* Variables Simplify::          Variables make makefiles simpler
+* make Deduces::                Letting @code{make} deduce the recipe
+* Combine By Prerequisite::     Another style of makefile
+* Cleanup::                     Rules for cleaning the directory
 
 Writing Makefiles
@@ -139,6 +139,4 @@
 * Include::                     How one makefile can use another makefile.
 * MAKEFILES Variable::          The environment can specify extra makefiles.
-* MAKEFILE_LIST Variable::      Discover which makefiles have been read.
-* Special Variables::           Other special variables.
 * Remaking Makefiles::          How makefiles get remade.
 * Overriding Makefiles::        How to override part of one makefile
@@ -155,5 +153,5 @@
 * Directory Search::            Searching other directories for source files.
 * Phony Targets::               Using a target that is not a real file's name.
-* Force Targets::               You can use a target without commands
+* Force Targets::               You can use a target without a recipe
                                   or prerequisites to mark other targets
                                   as phony.
@@ -185,5 +183,5 @@
                                   for a specified class of names.
 * Search Algorithm::            When and how search paths are applied.
-* Commands/Search::             How to write shell commands that work together
+* Recipes/Search::              How to write recipes that work together
                                   with search paths.
 * Implicit/Search::             How search paths affect implicit rules.
@@ -195,25 +193,25 @@
 * Static versus Implicit::      When are they better than implicit rules?
 
-Writing the Commands in Rules
-
-* Command Syntax::              Command syntax features and pitfalls.
-* Echoing::                     How to control when commands are echoed.
-* Execution::                   How commands are executed.
-* Parallel::                    How commands can be executed in parallel.
-* Errors::                      What happens after a command execution error.
-* Interrupts::                  What happens when a command is interrupted.
+Writing Recipes in Rules
+
+* Recipe Syntax::               Recipe syntax features and pitfalls.
+* Echoing::                     How to control when recipes are echoed.
+* Execution::                   How recipes are executed.
+* Parallel::                    How recipes can be executed in parallel.
+* Errors::                      What happens after a recipe execution error.
+* Interrupts::                  What happens when a recipe is interrupted.
 * Recursion::                   Invoking @code{make} from makefiles.
-* Sequences::                   Defining canned sequences of commands.
-* Empty Commands::              Defining useful, do-nothing commands.
-
-Command Syntax
-
-* Splitting Lines::             Breaking long command lines for readability.
-* Variables in Commands::       Using @code{make} variables in commands.
-
-Command Execution
+* Sequences::                   Defining canned recipes.
+* Empty Recipes::               Defining useful, do-nothing recipes.
+
+Recipe Syntax
+
+* Splitting Lines::             Breaking long recipe lines for readability.
+* Variables in Recipes::        Using @code{make} variables in recipes.
+
+Recipe Execution
 
 * Choosing the Shell::          How @code{make} chooses the shell used
-                                  to run commands.
+                                  to run recipes.
 
 Recursive Use of @code{make}
@@ -243,4 +241,5 @@
 * Pattern-specific::            Target-specific variable values can be applied
                                   to a group of targets that match a pattern.
+* Special Variables::           Variables with special meaning or behavior.
 
 Advanced Features for Reference to Variables
@@ -277,5 +276,5 @@
                                   parts of the makefile to use.
 * Instead of Execution::        How to use mode flags to specify what
-                                  kind of thing to do with the commands
+                                  kind of thing to do with the recipes
                                   in the makefile other than simply
                                   execute them.
@@ -290,10 +289,10 @@
 
 * Using Implicit::              How to use an existing implicit rule
-                                  to get the commands for updating a file.
+                                  to get the recipe for updating a file.
 * Catalogue of Rules::          A list of built-in implicit rules.
 * Implicit Variables::          How to change what predefined rules do.
 * Chained Rules::               How to use a chain of implicit rules.
 * Pattern Rules::               How to define new implicit rules.
-* Last Resort::                 How to define commands for rules which
+* Last Resort::                 How to define a recipe for rules which
                                   cannot find any.
 * Suffix Rules::                The old-fashioned style of implicit rule.
@@ -306,5 +305,5 @@
 * Pattern Examples::            Examples of pattern rules.
 * Automatic Variables::         How to use automatic variables in the
-                                  commands of implicit rules.
+                                  recipe of implicit rules.
 * Pattern Match::               How patterns match.
 * Match-Anything Rules::        Precautions you should take prior to
@@ -378,5 +377,5 @@
 uses the makefile data base and the last-modification times of the files to
 decide which of the files need to be updated.  For each of those files, it
-issues the commands recorded in the data base.
+issues the recipes recorded in the data base.
 
 You can provide command line arguments to @code{make} to control which
@@ -432,5 +431,5 @@
 these messages: it's best to cut and paste them into your report.
 When generating this small makefile, be sure to not use any non-free
-or unusual tools in your commands: you can almost always emulate what
+or unusual tools in your recipes: you can almost always emulate what
 such a tool would do with simple shell commands.  Finally, be sure to
 explain what you expected to occur; this will help us decide whether
@@ -490,5 +489,5 @@
 * How Make Works::              How @code{make} Processes This Makefile
 * Variables Simplify::          Variables Make Makefiles Simpler
-* make Deduces::                Letting @code{make} Deduce the Commands
+* make Deduces::                Letting @code{make} Deduce the Recipes
 * Combine By Prerequisite::     Another Style of Makefile
 * Cleanup::                     Rules for Cleaning the Directory
@@ -506,9 +505,9 @@
 @cindex targets, introduction to
 @cindex prerequisites, introduction to
-@cindex commands, introduction to
+@cindex recipes, introduction to
 @example
 @group
 @var{target} @dots{} : @var{prerequisites} @dots{}
-        @var{command}
+        @var{recipe}
         @dots{}
         @dots{}
@@ -525,12 +524,15 @@
 
 @cindex tabs in rules
-A @dfn{command} is an action that @code{make} carries out.
-A rule may have more than one command, each on its own line.
+A @dfn{recipe} is an action that @code{make} carries out.
+A recipe may have more than one command, each on its own line.
 @strong{Please note:} you need to put a tab character at the beginning of
-every command line!  This is an obscurity that catches the unwary.
-
-Usually a command is in a rule with prerequisites and serves to create a
+every command line!  This is an obscurity that catches the unwary.  If
+you prefer to prefix your recipes with a character other than tab,
+you can set the @code{.CMDPREFIX} variable to an alternate character
+(@pxref{Special Variables}).
+
+Usually a recipe is in a rule with prerequisites and serves to create a
 target file if any of the prerequisites change.  However, the rule that
-specifies commands for the target need not have prerequisites.  For
+specifies a recipe for the target need not have prerequisites.  For
 example, the rule containing the delete command associated with the
 target @samp{clean} does not have prerequisites.
@@ -538,5 +540,5 @@
 A @dfn{rule}, then, explains how and when to remake certain files
 which are the targets of the particular rule.  @code{make} carries out
-the commands on the prerequisites to create or update the target.  A
+the recipe on the prerequisites to create or update the target.  A
 rule can also explain how and when to carry out an action.
 @xref{Rules, , Writing Rules}.
@@ -615,5 +617,5 @@
 prerequisites are files such as @samp{main.c} and @samp{defs.h}.
 In fact, each @samp{.o} file is both a target and a prerequisite.
-Commands include @w{@samp{cc -c main.c}} and @w{@samp{cc -c kbd.c}}.
+Recipes include @w{@samp{cc -c main.c}} and @w{@samp{cc -c kbd.c}}.
 
 When a target is a file, it needs to be recompiled or relinked if any
@@ -624,26 +626,27 @@
 on the header file @file{defs.h}.
 
-A shell command follows each line that contains a target and
-prerequisites.  These shell commands say how to update the target file.
-A tab character must come at the beginning of every command line to
-distinguish command lines from other lines in the makefile.  (Bear in
-mind that @code{make} does not know anything about how the commands
-work.  It is up to you to supply commands that will update the target
-file properly.  All @code{make} does is execute the commands in the rule
-you have specified when the target file needs to be updated.)
-@cindex shell command
+A recipe may follow each line that contains a target and
+prerequisites.  These recipes say how to update the target file.  A
+tab character (or whatever character is specified by the
+@code{.CMDPREFIX} variable; @pxref{Special Variables}) must come at
+the beginning of every line in the recipe to distinguish recipes from
+other lines in the makefile.  (Bear in mind that @code{make} does not
+know anything about how the recipes work.  It is up to you to supply
+recipes that will update the target file properly.  All @code{make}
+does is execute the commands in the recipe you have specified when the
+target file needs to be updated.)@refill
+@cindex recipe
 
 The target @samp{clean} is not a file, but merely the name of an
-action.  Since you
-normally
-do not want to carry out the actions in this rule, @samp{clean} is not a prerequisite of any other rule.
+action.  Since you normally do not want to carry out the actions in
+this rule, @samp{clean} is not a prerequisite of any other rule.
 Consequently, @code{make} never does anything with it unless you tell
-it specifically.  Note that this rule not only is not a prerequisite, it
-also does not have any prerequisites, so the only purpose of the rule
-is to run the specified commands.  Targets that do not refer to files
-but are just actions are called @dfn{phony targets}.  @xref{Phony
-Targets}, for information about this kind of target.  @xref{Errors, ,
-Errors in Commands}, to see how to cause @code{make} to ignore errors
-from @code{rm} or any other command.
+it specifically.  Note that this rule not only is not a prerequisite,
+it also does not have any prerequisites, so the only purpose of the
+rule is to run the specified recipe.  Targets that do not refer to
+files but are just actions are called @dfn{phony targets}.
+@xref{Phony Targets}, for information about this kind of target.
+@xref{Errors, , Errors in Recipes}, to see how to cause @code{make}
+to ignore errors from @code{rm} or any other command.
 @cindex @code{clean} target
 @cindex @code{rm} (shell command)
@@ -793,20 +796,20 @@
 
 @node make Deduces, Combine By Prerequisite, Variables Simplify, Introduction
-@section Letting @code{make} Deduce the Commands
-@cindex deducing commands (implicit rules)
+@section Letting @code{make} Deduce the Recipes
+@cindex deducing recipes (implicit rules)
 @cindex implicit rule, introduction to
 @cindex rule, implicit, introduction to
 
-It is not necessary to spell out the commands for compiling the individual
+It is not necessary to spell out the recipes for compiling the individual
 C source files, because @code{make} can figure them out: it has an
 @dfn{implicit rule} for updating a @samp{.o} file from a correspondingly
 named @samp{.c} file using a @samp{cc -c} command.  For example, it will
-use the command @samp{cc -c main.c -o main.o} to compile @file{main.c} into
-@file{main.o}.  We can therefore omit the commands from the rules for the
+use the recipe @samp{cc -c main.c -o main.o} to compile @file{main.c} into
+@file{main.o}.  We can therefore omit the recipes from the rules for the
 object files.  @xref{Implicit Rules, ,Using Implicit Rules}.@refill
 
 When a @samp{.c} file is used automatically in this way, it is also
 automatically added to the list of prerequisites.  We can therefore omit
-the @samp{.c} files from the prerequisites, provided we omit the commands.
+the @samp{.c} files from the prerequisites, provided we omit the recipe.
 
 Here is the entire example, with both of these changes, and a variable
@@ -839,5 +842,5 @@
 This is how we would write the makefile in actual practice.  (The
 complications associated with @samp{clean} are described elsewhere.
-See @ref{Phony Targets}, and @ref{Errors, ,Errors in Commands}.)
+See @ref{Phony Targets}, and @ref{Errors, ,Errors in Recipes}.)
 
 Because implicit rules are so convenient, they are important.  You
@@ -912,5 +915,5 @@
 called @file{clean} and causes it to continue in spite of errors from
 @code{rm}.  (See @ref{Phony Targets}, and @ref{Errors, ,Errors in
-Commands}.)
+Recipes}.)
 
 @noindent
@@ -937,6 +940,4 @@
 * Include::                     How one makefile can use another makefile.
 * MAKEFILES Variable::          The environment can specify extra makefiles.
-* MAKEFILE_LIST Variable::      Discover which makefiles have been read.
-* Special Variables::           Other special variables.
 * Remaking Makefiles::          How makefiles get remade.
 * Overriding Makefiles::        How to override part of one makefile
@@ -961,5 +962,5 @@
 called the rule's @dfn{targets}.  It lists the other files that the
 targets depend on, called the @dfn{prerequisites} of the target, and
-may also give commands to use to create or update the targets.
+may also give a recipe to use to create or update the targets.
 @xref{Rules, ,Writing Rules}.
 
@@ -969,5 +970,5 @@
 An @dfn{implicit rule} says when and how to remake a class of files
 based on their names.  It describes how a target may depend on a file
-with a name similar to the target and gives commands to create or
+with a name similar to the target and gives a recipe to create or
 update such a target.  @xref{Implicit Rules, ,Using Implicit Rules}.
 
@@ -982,6 +983,6 @@
 @cindex directive
 @item
-A @dfn{directive} is a command for @code{make} to do something special while
-reading the makefile.  These include:
+A @dfn{directive} is an instruction for @code{make} to do something
+special while reading the makefile.  These include:
 
 @itemize @bullet
@@ -1014,14 +1015,13 @@
 start of a comment) inside a variable reference or function call.
 
-Within a command script (if the line begins with a TAB character) the
-entire line is passed to the shell, just as with any other line that
-begins with a TAB.  The shell decides how to interpret the text:
-whether or not this is a comment is up to the shell.
+Comments within a recipe are passed to the shell, just as with any
+other recipe text.  The shell decides how to interpret it: whether or
+not this is a comment is up to the shell.
 
 Within a @code{define} directive, comments are not ignored during the
 definition of the variable, but rather kept intact in the value of the
 variable.  When the variable is expanded they will either be treated
-as @code{make} comments or as command script text, depending on the
-context in which the variable is evaluated.
+as @code{make} comments or as recipe text, depending on the context in
+which the variable is evaluated.
 @end itemize
 
@@ -1096,6 +1096,7 @@
 
 Extra spaces are allowed and ignored at the beginning of the line, but
-a tab is not allowed.  (If the line begins with a tab, it will be
-considered a command line.)  Whitespace is required between
+the first character must not be a tab (or the value of
+@code{.CMDPREFIX})---if the line begins with a tab, it will be
+considered a recipe line.  Whitespace is required between
 @code{include} and the file names, and between file names; extra
 whitespace is ignored there and at the end of the directive.  A
@@ -1182,5 +1183,5 @@
 @code{sinclude} is another name for @w{@code{-include}}.
 
-@node MAKEFILES Variable, MAKEFILE_LIST Variable, Include, Makefiles
+@node MAKEFILES Variable, Remaking Makefiles, Include, Makefiles
 @section The Variable @code{MAKEFILES}
 @cindex makefile, and @code{MAKEFILES} variable
@@ -1212,185 +1213,5 @@
 in the makefiles.  @xref{Include, , Including Other Makefiles}.
 
-@node MAKEFILE_LIST Variable, Special Variables, MAKEFILES Variable, Makefiles
-@comment  node-name,  next,  previous,  up
-@section The Variable @code{MAKEFILE_LIST}
-@cindex makefiles, and @code{MAKEFILE_LIST} variable
-@cindex including (@code{MAKEFILE_LIST} variable)
-@vindex MAKEFILE_LIST
-
-As @code{make} reads various makefiles, including any obtained from the
-@code{MAKEFILES} variable, the command line, the default files, or
-from @code{include} directives, their names will be automatically
-appended to the @code{MAKEFILE_LIST} variable.  They are added right
-before @code{make} begins to parse them.
-
-This means that if the first thing a makefile does is examine the last
-word in this variable, it will be the name of the current makefile.
-Once the current makefile has used @code{include}, however, the last
-word will be the just-included makefile.
-
-If a makefile named @code{Makefile} has this content:
-
-@example
-@group
-name1 := $(lastword $(MAKEFILE_LIST))
-
-include inc.mk
-
-name2 := $(lastword $(MAKEFILE_LIST))
-
-all:
-        @@echo name1 = $(name1)
-        @@echo name2 = $(name2)
-@end group
-@end example
-
-@noindent
-then you would expect to see this output:
-
-@example
-@group
-name1 = Makefile
-name2 = inc.mk
-@end group
-@end example
-
-@xref{Text Functions}, for more information on the @code{lastword}
-function used above.  @xref{Flavors, The Two Flavors of Variables},
-for more information on simply-expanded (@code{:=}) variable
-definitions.
-
-@node Special Variables, Remaking Makefiles, MAKEFILE_LIST Variable, Makefiles
-@comment  node-name,  next,  previous,  up
-@section Other Special Variables
-@cindex makefiles, and special variables
-@cindex special variables
-
-GNU @code{make} also supports other special variables.  Unless
-otherwise documented here, these values lose their special properties
-if they are set by a makefile or on the command line.
-
-@table @code
-
-@vindex .DEFAULT_GOAL @r{(define default goal)}
-@item .DEFAULT_GOAL
-Sets the default goal to be used if no targets were specified on the
-command line (@pxref{Goals, , Arguments to Specify the Goals}).  The
-@code{.DEFAULT_GOAL} variable allows you to discover the current
-default goal, restart the default goal selection algorithm by clearing
-its value, or to explicitly set the default goal.  The following
-example illustrates these cases:
-
-@example
-@group
-# Query the default goal.
-ifeq ($(.DEFAULT_GOAL),)
-  $(warning no default goal is set)
-endif
-
-.PHONY: foo
-foo: ; @@echo $@@
-
-$(warning default goal is $(.DEFAULT_GOAL))
-
-# Reset the default goal.
-.DEFAULT_GOAL :=
-
-.PHONY: bar
-bar: ; @@echo $@@
-
-$(warning default goal is $(.DEFAULT_GOAL))
-
-# Set our own.
-.DEFAULT_GOAL := foo
-@end group
-@end example
-
-This makefile prints:
-
-@example
-@group
-no default goal is set
-default goal is foo
-default goal is bar
-foo
-@end group
-@end example
-
-Note that assigning more than one target name to @code{.DEFAULT_GOAL} is
-illegal and will result in an error.
-
-@vindex MAKE_RESTARTS @r{(number of times @code{make} has restarted)}
-@item MAKE_RESTARTS
-This variable is set only if this instance of @code{make} has
-restarted (@pxref{Remaking Makefiles, , How Makefiles Are Remade}): it
-will contain the number of times this instance has restarted.  Note
-this is not the same as recursion (counted by the @code{MAKELEVEL}
-variable).  You should not set, modify, or export this variable.
-
-@vindex .VARIABLES @r{(list of variables)}
-@item .VARIABLES
-Expands to a list of the @emph{names} of all global variables defined
-so far.  This includes variables which have empty values, as well as
-built-in variables (@pxref{Implicit Variables, , Variables Used by
-Implicit Rules}), but does not include any variables which are only
-defined in a target-specific context.  Note that any value you assign
-to this variable will be ignored; it will always return its special
-value.
-
-@c @vindex .TARGETS @r{(list of targets)}
-@c @item .TARGETS
-@c The second special variable is @code{.TARGETS}.  When expanded, the
-@c value consists of a list of all targets defined in all makefiles read
-@c up until that point.  Note it's not enough for a file to be simply
-@c mentioned in the makefile to be listed in this variable, even if it
-@c would match an implicit rule and become an ``implicit target''.  The
-@c file must appear as a target, on the left-hand side of a ``:'', to be
-@c considered a target for the purposes of this variable.
-
-@vindex .FEATURES @r{(list of supported features)}
-@item .FEATURES
-Expands to a list of special features supported by this version of
-@code{make}.  Possible values include:
-
-@table @samp
-
-@item archives
-Supports @code{ar} (archive) files using special filename syntax.
-@xref{Archives, ,Using @code{make} to Update Archive Files}.
-
-@item check-symlink
-Supports the @code{-L} (@code{--check-symlink-times}) flag.
-@xref{Options Summary, ,Summary of Options}.
-
-@item else-if
-Supports ``else if'' non-nested conditionals.  @xref{Conditional
-Syntax, ,Syntax of Conditionals}.
-
-@item jobserver
-Supports ``job server'' enhanced parallel builds.  @xref{Parallel,
-,Parallel Execution}.
-
-@item second-expansion
-Supports secondary expansion of prerequisite lists.
-
-@item order-only
-Supports order-only prerequisites.  @xref{Prerequisite Types, ,Types
-of Prerequisites}.
-
-@item target-specific
-Supports target-specific and pattern-specific variable assignments.
-@xref{Target-specific, ,Target-specific Variable Values}.
-
-@end table
-
-@vindex .INCLUDE_DIRS @r{(list of include directories)}
-@item .INCLUDE_DIRS
-Expands to a list of directories that @code{make} searches for
-included makefiles (@pxref{Include, , Including Other Makefiles}).
-
-@end table
-
-@node Remaking Makefiles, Overriding Makefiles, Special Variables, Makefiles
+@node Remaking Makefiles, Overriding Makefiles, MAKEFILES Variable, Makefiles
 @section How Makefiles Are Remade
 
@@ -1413,15 +1234,15 @@
 date.)@refill
 
-If you know that one or more of your makefiles cannot be remade and you
-want to keep @code{make} from performing an implicit rule search on
-them, perhaps for efficiency reasons, you can use any normal method of
-preventing implicit rule lookup to do so.  For example, you can write an
-explicit rule with the makefile as the target, and an empty command
-string (@pxref{Empty Commands, ,Using Empty Commands}).
+If you know that one or more of your makefiles cannot be remade and
+you want to keep @code{make} from performing an implicit rule search
+on them, perhaps for efficiency reasons, you can use any normal method
+of preventing implicit rule lookup to do so.  For example, you can
+write an explicit rule with the makefile as the target, and an empty
+recipe (@pxref{Empty Recipes, ,Using Empty Recipes}).
 
 If the makefiles specify a double-colon rule to remake a file with
-commands but no prerequisites, that file will always be remade
+a recipe but no prerequisites, that file will always be remade
 (@pxref{Double-Colon}).  In the case of makefiles, a makefile that has a
-double-colon rule with commands but no prerequisites will be remade every
+double-colon rule with a recipe but no prerequisites will be remade every
 time @code{make} is run, and then again after @code{make} starts over
 and reads the makefiles in again.  This would cause an infinite loop:
@@ -1429,5 +1250,5 @@
 else.  So, to avoid this, @code{make} will @strong{not} attempt to
 remake makefiles which are specified as targets of a double-colon rule
-with commands but no prerequisites.@refill
+with a recipe but no prerequisites.@refill
 
 If you do not specify any makefiles to be read with @samp{-f} or
@@ -1448,5 +1269,5 @@
 
 When you use the @samp{-t} or @samp{--touch} option
-(@pxref{Instead of Execution, ,Instead of Executing the Commands}),
+(@pxref{Instead of Execution, ,Instead of Executing the Recipe}),
 you would not want to use an out-of-date makefile to decide which
 targets to touch.  So the @samp{-t} option has no effect on updating
@@ -1456,6 +1277,6 @@
 out-of-date makefile would result in the wrong output for other targets.
 Thus, @samp{make -f mfile -n foo} will update @file{mfile}, read it in,
-and then print the commands to update @file{foo} and its prerequisites
-without running them.  The commands printed for @file{foo} will be those
+and then print the recipe to update @file{foo} and its prerequisites
+without running it.  The recipe printed for @file{foo} will be the one
 specified in the updated contents of @file{mfile}.
 
@@ -1467,7 +1288,7 @@
 
 Thus, @samp{make -f mfile -n mfile foo} would read the makefile
-@file{mfile}, print the commands needed to update it without actually
-running them, and then print the commands needed to update @file{foo}
-without running them.  The commands for @file{foo} will be those
+@file{mfile}, print the recipe needed to update it without actually
+running it, and then print the recipe needed to update @file{foo}
+without running that.  The recipe for @file{foo} will be the one
 specified by the existing contents of @file{mfile}.
 
@@ -1480,6 +1301,6 @@
 another makefile.  You can often use the @samp{include} directive to
 include one in the other, and add more targets or variable definitions.
-However, if the two makefiles give different commands for the same
-target, @code{make} will not let you just do this.  But there is another way.
+However, it is illegal for two makefiles to give different recipes for
+the same target.  But there is another way.
 
 @cindex match-anything rule, used to override
@@ -1504,8 +1325,8 @@
 
 If you say @samp{make foo}, @code{make} will find @file{GNUmakefile},
-read it, and see that to make @file{foo}, it needs to run the command
+read it, and see that to make @file{foo}, it needs to run the recipe
 @samp{frobnicate > foo}.  If you say @samp{make bar}, @code{make} will
 find no way to make @file{bar} in @file{GNUmakefile}, so it will use the
-commands from the pattern rule: @samp{make -f Makefile bar}.  If
+recipe from the pattern rule: @samp{make -f Makefile bar}.  If
 @file{Makefile} provides a rule for updating @file{bar}, @code{make}
 will apply the rule.  And likewise for any other target that
@@ -1514,7 +1335,7 @@
 The way this works is that the pattern rule has a pattern of just
 @samp{%}, so it matches any target whatever.  The rule specifies a
-prerequisite @file{force}, to guarantee that the commands will be run even
-if the target file already exists.  We give @file{force} target empty
-commands to prevent @code{make} from searching for an implicit rule to
+prerequisite @file{force}, to guarantee that the recipe will be run even
+if the target file already exists.  We give the @file{force} target an
+empty recipe to prevent @code{make} from searching for an implicit rule to
 build it---otherwise it would apply the same match-anything rule to
 @file{force} itself and create a prerequisite loop!
@@ -1542,5 +1363,5 @@
 construct as the makefile is parsed.  We say that expansion is
 @dfn{deferred} if expansion is not performed immediately.  Expansion of
-deferred construct is not performed until either the construct appears
+a deferred construct is not performed until either the construct appears
 later in an immediate context, or until the second phase.
 
@@ -1573,5 +1394,5 @@
 (@samp{:=}), and deferred otherwise.
 
-@subheading Conditional Statements
+@subheading Conditional Directives
 @cindex ifdef, expansion
 @cindex ifeq, expansion
@@ -1579,12 +1400,10 @@
 @cindex ifneq, expansion
 
-All instances of conditional syntax are parsed immediately, in their
-entirety; this includes the @code{ifdef}, @code{ifeq}, @code{ifndef},
-and @code{ifneq} forms.  Of course this means that automatic variables
-cannot be used in conditional statements, as automatic variables are
-not set until the command script for that rule is invoked.  If you
-need to use automatic variables in a conditional you @emph{must} use
-shell conditional syntax, in your command script proper, for these
-tests, not @code{make} conditionals.
+Conditional directives are parsed immediately.  This means, for
+example, that automatic variables cannot be used in conditional
+directives, as automatic variables are not set until the recipe for
+that rule is invoked.  If you need to use automatic variables in a
+conditional directive you @emph{must} move the condition into the
+recipe and use shell conditional syntax instead.
 
 @subheading Rule Definition
@@ -1603,5 +1422,5 @@
 
 That is, the target and prerequisite sections are expanded immediately,
-and the commands used to construct the target are always deferred.  This
+and the recipe used to construct the target is always deferred.  This
 general rule is true for explicit rules, pattern rules, suffix rules,
 static pattern rules, and simple prerequisite definitions.
@@ -1677,9 +1496,9 @@
 target.  This means that you can use variables such as @code{$@@},
 @code{$*}, etc. during the second expansion and they will have their
-expected values, just as in the command script.  All you have to do is
-defer the expansion by escaping the @code{$}.  Also, secondary
-expansion occurs for both explicit and implicit (pattern) rules.
-Knowing this, the possible uses for this feature increase
-dramatically.  For example:
+expected values, just as in the recipe.  All you have to do is defer
+the expansion by escaping the @code{$}.  Also, secondary expansion
+occurs for both explicit and implicit (pattern) rules.  Knowing this,
+the possible uses for this feature increase dramatically.  For
+example:
 
 @example
@@ -1699,5 +1518,5 @@
 @code{$(lib_OBJS)}, or @code{lib.o api.o}.
 
-You can also mix functions here, as long as they are properly escaped:
+You can also mix in functions here, as long as they are properly escaped:
 
 @example
@@ -1715,9 +1534,9 @@
 Evaluation of automatic variables during the secondary expansion
 phase, especially of the target name variable @code{$$@@}, behaves
-similarly to evaluation within command scripts.  However, there are
-some subtle differences and ``corner cases'' which come into play for
-the different types of rule definitions that @code{make} understands.
-The subtleties of using the different automatic variables are
-described below.
+similarly to evaluation within recipes.  However, there are some
+subtle differences and ``corner cases'' which come into play for the
+different types of rule definitions that @code{make} understands.  The
+subtleties of using the different automatic variables are described
+below.
 
 @subheading Secondary Expansion of Explicit Rules
@@ -1752,5 +1571,5 @@
 
 Rules undergo secondary expansion in makefile order, except that
-the rule with the command script is always evaluated last.
+the rule with the recipe is always evaluated last.
 
 The variables @code{$$?} and @code{$$*} are not available and expand
@@ -1809,5 +1628,5 @@
 @code{$$*} instead of @code{%} in the prerequisites list.
 
-@node Rules, Commands, Makefiles, Top
+@node Rules, Recipes, Makefiles, Top
 @chapter Writing Rules
 @cindex writing rules
@@ -1819,5 +1638,5 @@
 certain files, called the rule's @dfn{targets} (most often only one per rule).
 It lists the other files that are the @dfn{prerequisites} of the target, and
-@dfn{commands} to use to create or update the target.
+the @dfn{recipe} to use to create or update the target.
 
 @cindex default goal
@@ -1845,5 +1664,5 @@
 * Directory Search::            Searching other directories for source files.
 * Phony Targets::               Using a target that is not a real file's name.
-* Force Targets::               You can use a target without commands
+* Force Targets::               You can use a target without recipes
                                   or prerequisites to mark other targets
                                   as phony.
@@ -1874,6 +1693,6 @@
 
 Its target is @file{foo.o} and its prerequisites are @file{foo.c} and
-@file{defs.h}.  It has one command, which is @samp{cc -c -g foo.c}.
-The command line starts with a tab to identify it as a command.
+@file{defs.h}.  It has one command in the recipe: @samp{cc -c -g foo.c}.
+The recipe starts with a tab to identify it as a recipe.
 
 This rule says two things:
@@ -1887,5 +1706,5 @@
 @item
 How to update the file @file{foo.o}: by running @code{cc} as stated.
-The command does not explicitly mention @file{defs.h}, but we presume
+The recipe does not explicitly mention @file{defs.h}, but we presume
 that @file{foo.c} includes it, and that that is why @file{defs.h} was
 added to the prerequisites.
@@ -1902,5 +1721,5 @@
 @example
 @var{targets} : @var{prerequisites}
-        @var{command}
+        @var{recipe}
         @dots{}
 @end example
@@ -1910,6 +1729,6 @@
 
 @example
-@var{targets} : @var{prerequisites} ; @var{command}
-        @var{command}
+@var{targets} : @var{prerequisites} ; @var{recipe}
+        @var{recipe}
         @dots{}
 @end example
@@ -1926,11 +1745,13 @@
 (@pxref{Multiple Targets, , Multiple Targets in a Rule}).@refill
 
-@cindex commands
+@cindex recipes
 @cindex tab character (in commands)
-The @var{command} lines start with a tab character.  The first command may
-appear on the line after the prerequisites, with a tab character, or may
-appear on the same line, with a semicolon.  Either way, the effect is the
-same.  There are other differences in the syntax of command lines.
-@xref{Commands, ,Writing the Commands in Rules}.
+The @var{recipe} lines start with a tab character (or the first
+character in the value of the @code{.CMDPREFIX} variable;
+@pxref{Special Variables}).  The first recipe line may appear on the line
+after the prerequisites, with a tab character, or may appear on the
+same line, with a semicolon.  Either way, the effect is the same.
+There are other differences in the syntax of recipes.
+@xref{Recipes, ,Writing Recipes in Rules}.
 
 @cindex dollar sign (@code{$}), in rules
@@ -1964,7 +1785,7 @@
 valid.
 
-How to update is specified by @var{commands}.  These are lines to be
-executed by the shell (normally @samp{sh}), but with some extra features
-(@pxref{Commands, ,Writing the Commands in Rules}).
+How to update is specified by a @var{recipe}.  This is one or more
+lines to be executed by the shell (normally @samp{sh}), but with some
+extra features (@pxref{Recipes, ,Writing Recipes in Rules}).
 
 @node Prerequisite Types, Wildcards, Rule Syntax, Rules
@@ -1982,6 +1803,6 @@
 previous section, and @dfn{order-only} prerequisites.  A normal
 prerequisite makes two statements: first, it imposes an order of
-execution of build commands: any commands necessary to build any of a
-target's prerequisites will be fully executed before any commands
+execution of recipes: any recipes necessary to build any of a
+target's prerequisites will be fully executed before any recipe
 necessary to build the target.  Second, it imposes a dependency
 relationship: if any prerequisite is newer than the target, then the
@@ -2070,5 +1891,5 @@
 
 Wildcard expansion is performed by @code{make} automatically in
-targets and in prerequisites.  In commands the shell is responsible
+targets and in prerequisites.  In recipes, the shell is responsible
 for wildcard expansion.  In other contexts, wildcard expansion happens
 only if you request it explicitly with the @code{wildcard} function.
@@ -2089,5 +1910,5 @@
 @subsection Wildcard Examples
 
-Wildcards can be used in the commands of a rule, where they are expanded
+Wildcards can be used in the recipe of a rule, where they are expanded
 by the shell.  For example, here is a rule to delete all the object files:
 
@@ -2129,5 +1950,5 @@
 then the value of the variable @code{objects} is the actual string
 @samp{*.o}.  However, if you use the value of @code{objects} in a target,
-prerequisite or command, wildcard expansion will take place at that time.
+prerequisite, or recipe, wildcard expansion will take place at that time.
 To set @code{objects} to the expansion, instead use:
 
@@ -2276,5 +2097,5 @@
                                   for a specified class of names.
 * Search Algorithm::            When and how search paths are applied.
-* Commands/Search::             How to write shell commands that work together
+* Recipes/Search::             How to write recipes that work together
                                   with search paths.
 * Implicit/Search::             How search paths affect implicit rules.
@@ -2297,6 +2118,5 @@
 them, that file may become the prerequisite (see below).  Rules may then
 specify the names of files in the prerequisite list as if they all
-existed in the current directory.  @xref{Commands/Search, ,Writing Shell
-Commands with Directory Search}.
+existed in the current directory.  @xref{Recipes/Search, ,Writing Recipes with Directory Search}.
 
 In the @code{VPATH} variable, directory names are separated by colons or
@@ -2433,5 +2253,5 @@
 @file{bar}, then @file{blish}.
 
-@node Search Algorithm, Commands/Search, Selective Search, Directory Search
+@node Search Algorithm, Recipes/Search, Selective Search, Directory Search
 @subsection How Directory Searches are Performed
 @cindex algorithm for directory search
@@ -2500,12 +2320,12 @@
 rebuilt using the expanded path.
 
-@node Commands/Search, Implicit/Search, Search Algorithm, Directory Search
-@subsection Writing Shell Commands with Directory Search
-@cindex shell command, and directory search
-@cindex directory search (@code{VPATH}), and shell commands
+@node Recipes/Search, Implicit/Search, Search Algorithm, Directory Search
+@subsection Writing Recipes with Directory Search
+@cindex recipes, and directory search
+@cindex directory search (@code{VPATH}), and recipes
 
 When a prerequisite is found in another directory through directory search,
-this cannot change the commands of the rule; they will execute as written.
-Therefore, you must write the commands with care so that they will look for
+this cannot change the recipe of the rule; they will execute as written.
+Therefore, you must write the recipe with care so that it will look for
 the prerequisite in the directory where @code{make} finds it.
 
@@ -2529,5 +2349,5 @@
 
 Often the prerequisites include header files as well, which you do not
-want to mention in the commands.  The automatic variable @samp{$<} is
+want to mention in the recipe.  The automatic variable @samp{$<} is
 just the first prerequisite:
 
@@ -2538,5 +2358,5 @@
 @end example
 
-@node Implicit/Search, Libraries/Search, Commands/Search, Directory Search
+@node Implicit/Search, Libraries/Search, Recipes/Search, Directory Search
 @subsection Directory Search and Implicit Rules
 @cindex @code{VPATH}, and implicit rules
@@ -2559,5 +2379,5 @@
 directories, the implicit rule for C compilation is applied.
 
-The commands of implicit rules normally use automatic variables as a
+The recipes of implicit rules normally use automatic variables as a
 matter of necessity; consequently they will use the file names found by
 directory search with no extra effort.
@@ -2630,11 +2450,11 @@
 @cindex targets without a file
 
-A phony target is one that is not really the name of a file.  It is just a
-name for some commands to be executed when you make an explicit request.
-There are two reasons to use a phony target: to avoid a conflict with
-a file of the same name, and to improve performance.
-
-If you write a rule whose commands will not create the target file, the
-commands will be executed every time the target comes up for remaking.
+A phony target is one that is not really the name of a file; rather it
+is just a name for a recipe to be executed when you make an explicit
+request.  There are two reasons to use a phony target: to avoid a
+conflict with a file of the same name, and to improve performance.
+
+If you write a rule whose recipe will not create the target file, the
+recipe will be executed every time the target comes up for remaking.
 Here is an example:
 
@@ -2656,5 +2476,5 @@
 named @file{clean} in this directory.  Since it has no prerequisites, the
 file @file{clean} would inevitably be considered up to date, and its
-commands would not be executed.  To avoid this problem, you can explicitly
+recipe would not be executed.  To avoid this problem, you can explicitly
 declare the target to be phony, using the special target @code{.PHONY}
 (@pxref{Special Targets, ,Special Built-in Target Names}) as follows:
@@ -2665,5 +2485,5 @@
 
 @noindent
-Once this is done, @samp{make clean} will run the commands regardless of
+Once this is done, @samp{make clean} will run the recipe regardless of
 whether there is a file named @file{clean}.
 
@@ -2690,5 +2510,5 @@
 makefile will often contain a variable which lists a number of
 subdirectories to be built.  One way to handle this is with one rule
-whose command is a shell loop over the subdirectories, like this:
+whose recipe is a shell loop over the subdirectories, like this:
 
 @example
@@ -2703,12 +2523,13 @@
 @end example
 
-There are a few problems with this method, however.  First, any error
-detected in a submake is not noted by this rule, so it will continue to
-build the rest of the directories even when one fails.  This can be
+There are problems with this method, however.  First, any error
+detected in a submake is ignored by this rule, so it will continue
+to build the rest of the directories even when one fails.  This can be
 overcome by adding shell commands to note the error and exit, but then
-it will do so even if @code{make} is invoked with the @code{-k} option,
-which is unfortunate.  Second, and perhaps more importantly, you cannot
-take advantage of @code{make}'s ability to build targets in parallel
-(@pxref{Parallel, ,Parallel Execution}), since there is only one rule.
+it will do so even if @code{make} is invoked with the @code{-k}
+option, which is unfortunate.  Second, and perhaps more importantly,
+you cannot take advantage of @code{make}'s ability to build targets in
+parallel (@pxref{Parallel, ,Parallel Execution}), since there is only
+one rule.
 
 By declaring the subdirectories as phony targets (you must do this as
@@ -2737,7 +2558,7 @@
 
 A phony target should not be a prerequisite of a real target file; if it
-is, its commands are run every time @code{make} goes to update that
+is, its recipe will be run every time @code{make} goes to update that
 file.  As long as a phony target is never a prerequisite of a real
-target, the phony target commands will be executed only when the phony
+target, the phony target recipe will be executed only when the phony
 target is a specified goal (@pxref{Goals, ,Arguments to Specify the
 Goals}).
@@ -2788,14 +2609,14 @@
 
 @node Force Targets, Empty Targets, Phony Targets, Rules
-@section Rules without Commands or Prerequisites
+@section Rules without Recipes or Prerequisites
 @cindex force targets
 @cindex targets, force
 @cindex @code{FORCE}
-@cindex rule, no commands or prerequisites
-
-If a rule has no prerequisites or commands, and the target of the rule
+@cindex rule, no recipe or prerequisites
+
+If a rule has no prerequisites or recipe, and the target of the rule
 is a nonexistent file, then @code{make} imagines this target to have
 been updated whenever its rule is run.  This implies that all targets
-depending on this one will always have their commands run.
+depending on this one will always have their recipe run.
 
 An example will illustrate this:
@@ -2810,7 +2631,7 @@
 
 Here the target @samp{FORCE} satisfies the special conditions, so the
-target @file{clean} that depends on it is forced to run its commands.
-There is nothing special about the name @samp{FORCE}, but that is one name
-commonly used this way.
+target @file{clean} that depends on it is forced to run its recipe.
+There is nothing special about the name @samp{FORCE}, but that is one
+name commonly used this way.
 
 As you can see, using @samp{FORCE} this way has the same results as using
@@ -2828,16 +2649,16 @@
 
 The @dfn{empty target} is a variant of the phony target; it is used to hold
-commands for an action that you request explicitly from time to time.
+recipes for an action that you request explicitly from time to time.
 Unlike a phony target, this target file can really exist; but the file's
 contents do not matter, and usually are empty.
 
 The purpose of the empty target file is to record, with its
-last-modification time, when the rule's commands were last executed.  It
-does so because one of the commands is a @code{touch} command to update the
-target file.
+last-modification time, when the rule's recipe was last executed.  It
+does so because one of the commands in the recipe is a @code{touch}
+command to update the target file.
 
 The empty target file should have some prerequisites (otherwise it
 doesn't make sense).  When you ask to remake the empty target, the
-commands are executed if any prerequisite is more recent than the target;
+recipe is executed if any prerequisite is more recent than the target;
 in other words, if a prerequisite has changed since the last time you
 remade the target.  Here is an example:
@@ -2872,5 +2693,5 @@
 The prerequisites of the special target @code{.PHONY} are considered to
 be phony targets.  When it is time to consider such a target,
-@code{make} will run its commands unconditionally, regardless of
+@code{make} will run its recipe unconditionally, regardless of
 whether a file with that name exists or what its last-modification
 time is.  @xref{Phony Targets, ,Phony Targets}.
@@ -2886,9 +2707,9 @@
 @item .DEFAULT
 
-The commands specified for @code{.DEFAULT} are used for any target for
+The recipe specified for @code{.DEFAULT} is used for any target for
 which no rules are found (either explicit rules or implicit rules).
-@xref{Last Resort}.  If @code{.DEFAULT} commands are specified, every
+@xref{Last Resort}.  If a @code{.DEFAULT} recipe is specified, every
 file mentioned as a prerequisite, but not as a target in a rule, will have
-these commands executed on its behalf.  @xref{Implicit Rule Search,
+that recipe executed on its behalf.  @xref{Implicit Rule Search,
 ,Implicit Rule Search Algorithm}.
 
@@ -2900,5 +2721,5 @@
 The targets which @code{.PRECIOUS} depends on are given the following
 special treatment: if @code{make} is killed or interrupted during the
-execution of their commands, the target is not deleted.
+execution of their recipes, the target is not deleted.
 @xref{Interrupts, ,Interrupting or Killing @code{make}}.  Also, if the
 target is an intermediate file, it will not be deleted after it is no
@@ -2947,6 +2768,6 @@
 If @code{.DELETE_ON_ERROR} is mentioned as a target anywhere in the
 makefile, then @code{make} will delete the target of a rule if it has
-changed and its commands exit with a nonzero exit status, just as it
-does when it receives a signal.  @xref{Errors, ,Errors in Commands}.
+changed and its recipe exits with a nonzero exit status, just as it
+does when it receives a signal.  @xref{Errors, ,Errors in Recipes}.
 
 @findex .IGNORE
@@ -2954,13 +2775,13 @@
 
 If you specify prerequisites for @code{.IGNORE}, then @code{make} will
-ignore errors in execution of the commands run for those particular
-files.  The commands for @code{.IGNORE} are not meaningful.
+ignore errors in execution of the recipe for those particular files.
+The recipe for @code{.IGNORE} (if any) is ignored.
 
 If mentioned as a target with no prerequisites, @code{.IGNORE} says to
-ignore errors in execution of commands for all files.  This usage of
+ignore errors in execution of recipes for all files.  This usage of
 @samp{.IGNORE} is supported only for historical compatibility.  Since
-this affects every command in the makefile, it is not very useful; we
+this affects every recipe in the makefile, it is not very useful; we
 recommend you use the more selective ways to ignore errors in specific
-commands.  @xref{Errors, ,Errors in Commands}.
+recipes.  @xref{Errors, ,Errors in Recipes}.
 
 @findex .LOW_RESOLUTION_TIME
@@ -2969,15 +2790,16 @@
 If you specify prerequisites for @code{.LOW_RESOLUTION_TIME},
 @command{make} assumes that these files are created by commands that
-generate low resolution time stamps.  The commands for
-@code{.LOW_RESOLUTION_TIME} are not meaningful.
-
-The high resolution file time stamps of many modern hosts lessen the
-chance of @command{make} incorrectly concluding that a file is up to
-date.  Unfortunately, these hosts provide no way to set a high
-resolution file time stamp, so commands like @samp{cp -p} that
-explicitly set a file's time stamp must discard its subsecond part.  If
-a file is created by such a command, you should list it as a
-prerequisite of @code{.LOW_RESOLUTION_TIME} so that @command{make} does
-not mistakenly conclude that the file is out of date.  For example:
+generate low resolution time stamps.  The recipe for the
+@code{.LOW_RESOLUTION_TIME} target are ignored.
+
+The high resolution file time stamps of many modern file systems
+lessen the chance of @command{make} incorrectly concluding that a file
+is up to date.  Unfortunately, some hosts do not provide a way to set a
+high resolution file time stamp, so commands like @samp{cp -p} that
+explicitly set a file's time stamp must discard its subsecond part.
+If a file is created by such a command, you should list it as a
+prerequisite of @code{.LOW_RESOLUTION_TIME} so that @command{make}
+does not mistakenly conclude that the file is out of date.  For
+example:
 
 @example
@@ -3004,12 +2826,12 @@
 
 If you specify prerequisites for @code{.SILENT}, then @code{make} will
-not print the commands to remake those particular files before executing
-them.  The commands for @code{.SILENT} are not meaningful.
+not print the recipe used to remake those particular files before
+executing them.  The recipe for @code{.SILENT} is ignored.
 
 If mentioned as a target with no prerequisites, @code{.SILENT} says not
-to print any commands before executing them.  This usage of
+to print any recipes before executing them.  This usage of
 @samp{.SILENT} is supported only for historical compatibility.  We
-recommend you use the more selective ways to silence specific commands.
-@xref{Echoing, ,Command Echoing}.  If you want to silence all commands
+recommend you use the more selective ways to silence specific recipes.
+@xref{Echoing, ,Recipe Echoing}.  If you want to silence all recipes
 for a particular run of @code{make}, use the @samp{-s} or
 @w{@samp{--silent}} option (@pxref{Options Summary}).
@@ -3030,5 +2852,5 @@
 of @code{make} will be run serially, even if the @samp{-j} option is
 given.  Any recursively invoked @code{make} command will still run
-commands in parallel (unless its makefile also contains this target).
+recipes in parallel (unless its makefile also contains this target).
 Any prerequisites on this target are ignored.
 @end table
@@ -3051,7 +2873,7 @@
 
 A rule with multiple targets is equivalent to writing many rules, each with
-one target, and all identical aside from that.  The same commands apply to
-all the targets, but their effects may vary because you can substitute the
-actual target name into the command using @samp{$@@}.  The rule contributes
+one target, and all identical aside from that.  The same recipe applies to
+all the targets, but its effect may vary because you can substitute the
+actual target name into the recipe using @samp{$@@}.  The rule contributes
 the same prerequisites to all the targets also.
 
@@ -3060,5 +2882,5 @@
 @itemize @bullet
 @item
-You want just prerequisites, no commands.  For example:
+You want just prerequisites, no recipe.  For example:
 
 @example
@@ -3071,5 +2893,5 @@
 
 @item
-Similar commands work for all the targets.  The commands do not need
+Similar recipes work for all the targets.  The recipes do not need
 to be absolutely identical, since the automatic variable @samp{$@@}
 can be used to substitute the particular target to be remade into the
@@ -3102,9 +2924,9 @@
 @end itemize
 
-Suppose you would like to vary the prerequisites according to the target,
-much as the variable @samp{$@@} allows you to vary the commands.
-You cannot do this with multiple targets in an ordinary rule, but you can
-do it with a @dfn{static pattern rule}.
-@xref{Static Pattern, ,Static Pattern Rules}.
+Suppose you would like to vary the prerequisites according to the
+target, much as the variable @samp{$@@} allows you to vary the recipe.
+You cannot do this with multiple targets in an ordinary rule, but you
+can do it with a @dfn{static pattern rule}.  @xref{Static Pattern,
+,Static Pattern Rules}.
 
 @node Multiple Rules, Static Pattern, Multiple Targets, Rules
@@ -3118,13 +2940,13 @@
 mentioned in all the rules are merged into one list of prerequisites for
 the target.  If the target is older than any prerequisite from any rule,
-the commands are executed.
-
-There can only be one set of commands to be executed for a file.  If
-more than one rule gives commands for the same file, @code{make} uses
-the last set given and prints an error message.  (As a special case,
-if the file's name begins with a dot, no error message is printed.
-This odd behavior is only for compatibility with other implementations
-of @code{make}@dots{} you should avoid using it).  Occasionally it is
-useful to have the same target invoke multiple commands which are
+the recipe is executed.
+
+There can only be one recipe to be executed for a file.  If more than
+one rule gives a recipe for the same file, @code{make} uses the last
+one given and prints an error message.  (As a special case, if the
+file's name begins with a dot, no error message is printed.  This odd
+behavior is only for compatibility with other implementations of
+@code{make}@dots{} you should avoid using it).  Occasionally it is
+useful to have the same target invoke multiple recipes which are
 defined in different parts of your makefile; you can use
 @dfn{double-colon rules} (@pxref{Double-Colon}) for this.
@@ -3148,7 +2970,7 @@
 you wish to add the additional prerequisite intermittently.
 
-Another wrinkle is that the additional prerequisites could be specified with
-a variable that you set with a command argument to @code{make}
-(@pxref{Overriding, ,Overriding Variables}).  For example,
+Another wrinkle is that the additional prerequisites could be
+specified with a variable that you set with a command line argument to
+@code{make} (@pxref{Overriding, ,Overriding Variables}).  For example,
 
 @example
@@ -3164,6 +2986,6 @@
 will not.
 
-If none of the explicit rules for a target has commands, then @code{make}
-searches for an applicable implicit rule to find some commands
+If none of the explicit rules for a target has a recipe, then @code{make}
+searches for an applicable implicit rule to find one
 @pxref{Implicit Rules, ,Using Implicit Rules}).
 
@@ -3196,5 +3018,5 @@
 @example
 @var{targets} @dots{}: @var{target-pattern}: @var{prereq-patterns} @dots{}
-        @var{commands}
+        @var{recipe}
         @dots{}
 @end example
@@ -3311,5 +3133,5 @@
 
 An implicit rule @emph{can} apply to any target that matches its pattern,
-but it @emph{does} apply only when the target has no commands otherwise
+but it @emph{does} apply only when the target has no recipe otherwise
 specified, and only when the prerequisites can be found.  If more than one
 implicit rule appears applicable, only one applies; the choice depends on
@@ -3319,5 +3141,5 @@
 that you specify in the rule.  It cannot apply to any other target and it
 invariably does apply to each of the targets specified.  If two conflicting
-rules apply, and both have commands, that's an error.
+rules apply, and both have recipes, that's an error.
 
 The static pattern rule can be better than an implicit rule for these
@@ -3352,7 +3174,7 @@
 When a target appears in multiple rules, all the rules must be the same
 type: all ordinary, or all double-colon.  If they are double-colon, each
-of them is independent of the others.  Each double-colon rule's commands
-are executed if the target is older than any prerequisites of that rule.
-If there are no prerequisites for that rule, its commands are always
+of them is independent of the others.  Each double-colon rule's recipe
+is executed if the target is older than any prerequisites of that rule.
+If there are no prerequisites for that rule, its recipe is always
 executed (even if the target already exists).  This can result in
 executing none, any, or all of the double-colon rules.
@@ -3364,5 +3186,5 @@
 The double-colon rules for a target are executed in the order they appear
 in the makefile.  However, the cases where double-colon rules really make
-sense are those where the order of executing the commands would not matter.
+sense are those where the order of executing the recipes would not matter.
 
 Double-colon rules are somewhat obscure and not often very useful; they
@@ -3371,5 +3193,5 @@
 cases are rare.
 
-Each double-colon rule should specify commands; if it does not, an
+Each double-colon rule should specify a recipe; if it does not, an
 implicit rule will be used if one applies.
 @xref{Implicit Rules, ,Using Implicit Rules}.
@@ -3516,51 +3338,53 @@
 @xref{How Make Works}.
 
-@node Commands, Using Variables, Rules, Top
-@chapter Writing the Commands in Rules
-@cindex commands, how to write
-@cindex rule commands
-@cindex writing rule commands
-
-The commands of a rule consist of one or more shell command lines to
+@node Recipes, Using Variables, Rules, Top
+@chapter Writing Recipes in Rules
+@cindex recipes
+@cindex recipes, how to write
+@cindex writing recipes
+
+The recipe of a rule consists of one or more shell command lines to
 be executed, one at a time, in the order they appear.  Typically, the
 result of executing these commands is that the target of the rule is
 brought up to date.
 
-Users use many different shell programs, but commands in makefiles are
+Users use many different shell programs, but recipes in makefiles are
 always interpreted by @file{/bin/sh} unless the makefile specifies
 otherwise.  @xref{Execution, ,Command Execution}.
 
 @menu
-* Command Syntax::              Command syntax features and pitfalls.
-* Echoing::                     How to control when commands are echoed.
-* Execution::                   How commands are executed.
-* Parallel::                    How commands can be executed in parallel.
-* Errors::                      What happens after a command execution error.
-* Interrupts::                  What happens when a command is interrupted.
+* Recipe Syntax::               Recipe syntax features and pitfalls.
+* Echoing::                     How to control when recipes are echoed.
+* Execution::                   How recipes are executed.
+* Parallel::                    How recipes can be executed in parallel.
+* Errors::                      What happens after a recipe execution error.
+* Interrupts::                  What happens when a recipe is interrupted.
 * Recursion::                   Invoking @code{make} from makefiles.
-* Sequences::                   Defining canned sequences of commands.
-* Empty Commands::              Defining useful, do-nothing commands.
+* Sequences::                   Defining canned recipes.
+* Empty Recipes::               Defining useful, do-nothing recipes.
 @end menu
 
-@node Command Syntax, Echoing, Commands, Commands
-@section Command Syntax
-@cindex command syntax
-@cindex syntax of commands
+@node Recipe Syntax, Echoing, Recipes, Recipes
+@section Recipe Syntax
+@cindex recipe syntax
+@cindex syntax of recipe
 
 Makefiles have the unusual property that there are really two distinct
 syntaxes in one file.  Most of the makefile uses @code{make} syntax
-(@pxref{Makefiles, ,Writing Makefiles}).  However, commands are meant to be
-interpreted by the shell and so they are written using shell syntax.
-The @code{make} program does not try to understand shell syntax: it
-performs only a very few specific translations on the content of the
-command before handing it to the shell.
-
-Each command line must start with a tab, except that the first command
-line may be attached to the target-and-prerequisites line with a
-semicolon in between.  @emph{Any} line in the makefile that begins
-with a tab and appears in a ``rule context'' (that is, after a rule
-has been started until another rule or variable definition) will be
-considered a command line for that rule.  Blank lines and lines of
-just comments may appear among the command lines; they are ignored.
+(@pxref{Makefiles, ,Writing Makefiles}).  However, recipes are meant
+to be interpreted by the shell and so they are written using shell
+syntax.  The @code{make} program does not try to understand shell
+syntax: it performs only a very few specific translations on the
+content of the recipe before handing it to the shell.
+
+Each line in the recipe must start with a tab (or the first character
+in the value of the @code{.CMDPREFIX} variable; @pxref{Special
+Variables}), except that the first recipe line may be attached to the
+target-and-prerequisites line with a semicolon in between.  @emph{Any}
+line in the makefile that begins with a tab and appears in a ``rule
+context'' (that is, after a rule has been started until another rule
+or variable definition) will be considered part of a recipe for that
+rule.  Blank lines and lines of just comments may appear among the
+recipe lines; they are ignored.
 
 Some consequences of these rules include:
@@ -3569,11 +3393,11 @@
 @item
 A blank line that begins with a tab is not blank: it's an empty
-command (@pxref{Empty Commands}).
-
-@cindex comments, in commands
-@cindex commands, comments in
-@cindex @code{#} (comments), in commands
+recipe (@pxref{Empty Recipes}).
+
+@cindex comments, in recipes
+@cindex recipes, comments in
+@cindex @code{#} (comments), in recipes
 @item
-A comment in a command line is not a @code{make} comment; it will be
+A comment in a recipe is not a @code{make} comment; it will be
 passed to the shell as-is.  Whether the shell treats it as a comment
 or not depends on your shell.
@@ -3581,6 +3405,7 @@
 @item
 A variable definition in a ``rule context'' which is indented by a tab
-as the first character on the line, will be considered a command line,
-not a @code{make} variable definition, and passed to the shell.
+as the first character on the line, will be considered part of a
+recipe, not a @code{make} variable definition, and passed to the
+shell.
 
 @item
@@ -3588,40 +3413,41 @@
 etc. @pxref{Conditional Syntax, ,Syntax of Conditionals}) in a ``rule
 context'' which is indented by a tab as the first character on the
-line, will be considered a command line and be passed to the shell.
+line, will be considered part of a recipe and be passed to the shell.
 
 @end itemize
 
 @menu
-* Splitting Lines::             Breaking long command lines for readability.
-* Variables in Commands::       Using @code{make} variables in commands.
+* Splitting Lines::             Breaking long recipe lines for readability.
+* Variables in Recipes::        Using @code{make} variables in recipes.
 @end menu
 
-@node Splitting Lines, Variables in Commands, Command Syntax, Command Syntax
-@subsection Splitting Command Lines
-@cindex commands, splitting
-@cindex splitting commands
-@cindex commands, backslash (@code{\}) in
-@cindex commands, quoting newlines in
-@cindex backslash (@code{\}), in commands
-@cindex @code{\} (backslash), in commands
-@cindex quoting newline, in commands
-@cindex newline, quoting, in commands
-
-One of the few ways in which @code{make} does interpret command lines
-is checking for a backslash just before the newline.  As in normal
-makefile syntax, a single command can be split into multiple lines in
-the makefile by placing a backslash before each newline.  A sequence
-of lines like this is considered a single command, and one instance of
-the shell will be invoked to run it.
+@node Splitting Lines, Variables in Recipes, Recipe Syntax, Recipe Syntax
+@subsection Splitting Recipe Lines
+@cindex recipes, splitting
+@cindex splitting recipes
+@cindex recipes, backslash (@code{\}) in
+@cindex recipes, quoting newlines in
+@cindex backslash (@code{\}), in recipes
+@cindex @code{\} (backslash), in recipes
+@cindex quoting newline, in recipes
+@cindex newline, quoting, in recipes
+
+One of the few ways in which @code{make} does interpret recipes is
+checking for a backslash just before the newline.  As in normal
+makefile syntax, a single logical recipe line can be split into
+multiple physical lines in the makefile by placing a backslash before
+each newline.  A sequence of lines like this is considered a single
+recipe line, and one instance of the shell will be invoked to run it.
 
 However, in contrast to how they are treated in other places in a
 makefile, backslash-newline pairs are @emph{not} removed from the
-command.  Both the backslash and the newline characters are preserved
+recipe.  Both the backslash and the newline characters are preserved
 and passed to the shell.  How the backslash-newline is interpreted
-depends on your shell.  If the first character of the next line
-after the backslash-newline is a tab, then that tab (and only that
-tab) is removed.  Whitespace is never added to the command.
-
-For example, this makefile:
+depends on your shell.  If the first character of the next line after
+the backslash-newline is the recipe prefix character (a tab by
+default; @pxref{Special Variables}), then that character (and only
+that character) is removed.  Whitespace is never added to the recipe.
+
+For example, the recipe for the all target in this makefile:
 
 @example
@@ -3662,5 +3488,5 @@
 
 @noindent
-will run one shell with a command script of:
+will invoke one shell with a command of:
 
 @example
@@ -3697,5 +3523,5 @@
 or even be a syntax error.  One simple way of handling this is to
 place the quoted string, or even the entire command, into a
-@code{make} variable then use the variable in the command.  In this
+@code{make} variable then use the variable in the recipe.  In this
 situation the newline quoting rules for makefiles will be used, and
 the backslash-newline will be removed.  If we rewrite our example
@@ -3722,22 +3548,22 @@
 If you like, you can also use target-specific variables
 (@pxref{Target-specific, ,Target-specific Variable Values}) to obtain
-a tighter correspondence between the variable and the command that
+a tighter correspondence between the variable and the recipe that
 uses it.
 
-@node Variables in Commands,  , Splitting Lines, Command Syntax
-@subsection Using Variables in Commands
-@cindex variable references in commands
-@cindex commands, using variables in
-
-The other way in which @code{make} processes commands is by expanding
+@node Variables in Recipes,  , Splitting Lines, Recipe Syntax
+@subsection Using Variables in Recipes
+@cindex variable references in recipes
+@cindex recipes, using variables in
+
+The other way in which @code{make} processes recipes is by expanding
 any variable references in them (@pxref{Reference,Basics of Variable
 References}).  This occurs after make has finished reading all the
 makefiles and the target is determined to be out of date; so, the
-commands for targets which are not rebuilt are never expanded.
-
-Variable and function references in commands have identical syntax and
+recipes for targets which are not rebuilt are never expanded.
+
+Variable and function references in recipes have identical syntax and
 semantics to references elsewhere in the makefile.  They also have the
 same quoting rules: if you want a dollar sign to appear in your
-command, you must double it (@samp{$$}).  For shells like the default
+recipe, you must double it (@samp{$$}).  For shells like the default
 shell, that use dollar signs to introduce variables, it's important to
 keep clear in your mind whether the variable you want to reference is
@@ -3777,18 +3603,18 @@
 @end example
 
-@node Echoing, Execution, Command Syntax, Commands
-@section Command Echoing
-@cindex echoing of commands
+@node Echoing, Execution, Recipe Syntax, Recipes
+@section Recipe Echoing
+@cindex echoing of recipes
 @cindex silent operation
-@cindex @code{@@} (in commands)
-@cindex commands, echoing
-@cindex printing of commands
-
-Normally @code{make} prints each command line before it is executed.
-We call this @dfn{echoing} because it gives the appearance that you
-are typing the commands yourself.
+@cindex @code{@@} (in recipes)
+@cindex recipes, echoing
+@cindex printing of recipes
+
+Normally @code{make} prints each line of the recipe before it is
+executed.  We call this @dfn{echoing} because it gives the appearance
+that you are typing the lines yourself.
 
 When a line starts with @samp{@@}, the echoing of that line is suppressed.
-The @samp{@@} is discarded before the command is passed to the shell.
+The @samp{@@} is discarded before the line is passed to the shell.
 Typically you would use this for a command whose only effect is to print
 something, such as an @code{echo} command to indicate progress through
@@ -3804,8 +3630,8 @@
 @cindex @code{--recon}
 When @code{make} is given the flag @samp{-n} or @samp{--just-print}
-it only echoes commands, it won't execute them.  @xref{Options Summary,
+it only echoes recipes, it won't execute them.  @xref{Options Summary,
 ,Summary of Options}.  In this case and only this case, even the
-commands starting with @samp{@@} are printed.  This flag is useful for
-finding out which commands @code{make} thinks are necessary without
+recipe lines starting with @samp{@@} are printed.  This flag is useful for
+finding out which recipes @code{make} thinks are necessary without
 actually doing them.
 
@@ -3815,5 +3641,5 @@
 @findex .SILENT
 The @samp{-s} or @samp{--silent}
-flag to @code{make} prevents all echoing, as if all commands
+flag to @code{make} prevents all echoing, as if all recipes
 started with @samp{@@}.  A rule in the makefile for the special target
 @code{.SILENT} without prerequisites has the same effect
@@ -3821,26 +3647,25 @@
 @code{.SILENT} is essentially obsolete since @samp{@@} is more flexible.@refill
 
-@node Execution, Parallel, Echoing, Commands
-@section Command Execution
-@cindex commands, execution
-@cindex execution, of commands
-@cindex shell command, execution
-@vindex @code{SHELL} @r{(command execution)}
-
-When it is time to execute commands to update a target, they are
-executed by invoking a new subshell for each command line.  (In
+@node Execution, Parallel, Echoing, Recipes
+@section Recipe Execution
+@cindex recipe, execution
+@cindex execution, of recipes
+@vindex @code{SHELL} @r{(recipe execution)}
+
+When it is time to execute recipes to update a target, they are
+executed by invoking a new subshell for each line of the recipe.  (In
 practice, @code{make} may take shortcuts that do not affect the
 results.)
 
 @cindex @code{cd} (shell command)
-@cindex shell variables, setting in commands
-@cindex commands setting shell variables
+@cindex shell variables, setting in recipes
+@cindex recipes setting shell variables
 @strong{Please note:} this implies that setting shell variables and
 invoking shell commands such as @code{cd} that set a context local to
-each process will not affect the following command lines.@footnote{On
+each process will not affect the following lines in the recipe.@footnote{On
 MS-DOS, the value of current working directory is @strong{global}, so
-changing it @emph{will} affect the following command lines on those
+changing it @emph{will} affect the following recipe lines on those
 systems.}  If you want to use @code{cd} to affect the next statement,
-put both statements in a single command line.  Then @code{make} will
+put both statements in a single recipe line.  Then @code{make} will
 invoke one shell to run the entire line, and the shell will execute
 the statements in sequence.  For example:
@@ -3860,5 +3685,5 @@
 @menu
 * Choosing the Shell::          How @code{make} chooses the shell used
-                                  to run commands.
+                                  to run recipes.
 @end menu
 
@@ -3882,10 +3707,10 @@
 
 Furthermore, when you do set @code{SHELL} in your makefile that value
-is @emph{not} exported in the environment to commands that @code{make}
-invokes.  Instead, the value inherited from the user's environment, if
-any, is exported.  You can override this behavior by explicitly
-exporting @code{SHELL} (@pxref{Variables/Recursion, ,Communicating
-Variables to a Sub-@code{make}}), forcing it to be passed in the
-environment to commands.
+is @emph{not} exported in the environment to recipe lines that
+@code{make} invokes.  Instead, the value inherited from the user's
+environment, if any, is exported.  You can override this behavior by
+explicitly exporting @code{SHELL} (@pxref{Variables/Recursion,
+,Communicating Variables to a Sub-@code{make}}), forcing it to be
+passed in the environment to recipe lines.
 
 @vindex @code{MAKESHELL} @r{(MS-DOS alternative to @code{SHELL})}
@@ -3962,7 +3787,7 @@
 directory along your @code{PATH}.
 
-@node Parallel, Errors, Execution, Commands
+@node Parallel, Errors, Execution, Recipes
 @section Parallel Execution
-@cindex commands, execution in parallel
+@cindex recipes, execution in parallel
 @cindex parallel execution
 @cindex execution, in parallel
@@ -3971,8 +3796,8 @@
 @cindex @code{--jobs}
 
-GNU @code{make} knows how to execute several commands at once.
-Normally, @code{make} will execute only one command at a time, waiting
+GNU @code{make} knows how to execute several recipes at once.
+Normally, @code{make} will execute only one recipe at a time, waiting
 for it to finish before executing the next.  However, the @samp{-j} or
-@samp{--jobs} option tells @code{make} to execute many commands
+@samp{--jobs} option tells @code{make} to execute many recipes
 simultaneously.  You can inhibit parallelism in a particular makefile
 with the @code{.NOTPARALLEL} pseudo-target (@pxref{Special
@@ -3983,17 +3808,17 @@
 
 If the @samp{-j} option is followed by an integer, this is the number of
-commands to execute at once; this is called the number of @dfn{job slots}.
+recipes to execute at once; this is called the number of @dfn{job slots}.
 If there is nothing looking like an integer after the @samp{-j} option,
 there is no limit on the number of job slots.  The default number of job
 slots is one, which means serial execution (one thing at a time).
 
-One unpleasant consequence of running several commands simultaneously is
-that output generated by the commands appears whenever each command
-sends it, so messages from different commands may be interspersed.
+One unpleasant consequence of running several recipes simultaneously is
+that output generated by the recipes appears whenever each recipe
+sends it, so messages from different recipes may be interspersed.
 
 Another problem is that two processes cannot both take input from the
-same device; so to make sure that only one command tries to take input
+same device; so to make sure that only one recipe tries to take input
 from the terminal at once, @code{make} will invalidate the standard
-input streams of all but one running command.  This means that
+input streams of all but one running recipe.  This means that
 attempting to read from standard input will usually be a fatal error (a
 @samp{Broken pipe} signal) for most child processes if there are
@@ -4002,15 +3827,15 @@
 @cindex standard input
 
-It is unpredictable which command will have a valid standard input stream
+It is unpredictable which recipe will have a valid standard input stream
 (which will come from the terminal, or wherever you redirect the standard
-input of @code{make}).  The first command run will always get it first, and
-the first command started after that one finishes will get it next, and so
+input of @code{make}).  The first recipe run will always get it first, and
+the first recipe started after that one finishes will get it next, and so
 on.
 
 We will change how this aspect of @code{make} works if we find a better
-alternative.  In the mean time, you should not rely on any command using
+alternative.  In the mean time, you should not rely on any recipe using
 standard input at all if you are using the parallel execution feature; but
 if you are not using this feature, then standard input works normally in
-all commands.
+all recipes.
 
 Finally, handling recursive @code{make} invocations raises issues.  For
@@ -4018,9 +3843,9 @@
 @ref{Options/Recursion, ,Communicating Options to a Sub-@code{make}}.
 
-If a command fails (is killed by a signal or exits with a nonzero
-status), and errors are not ignored for that command
-(@pxref{Errors, ,Errors in Commands}),
-the remaining command lines to remake the same target will not be run.
-If a command fails and the @samp{-k} or @samp{--keep-going}
+If a recipe fails (is killed by a signal or exits with a nonzero
+status), and errors are not ignored for that recipe
+(@pxref{Errors, ,Errors in Recipes}),
+the remaining recipe lines to remake the same target will not be run.
+If a recipe fails and the @samp{-k} or @samp{--keep-going}
 option was not given
 (@pxref{Options Summary, ,Summary of Options}),
@@ -4058,27 +3883,27 @@
 By default, there is no load limit.
 
-@node Errors, Interrupts, Parallel, Commands
-@section Errors in Commands
-@cindex errors (in commands)
-@cindex commands, errors in
+@node Errors, Interrupts, Parallel, Recipes
+@section Errors in Recipes
+@cindex errors (in recipes)
+@cindex recipes, errors in
 @cindex exit status (errors)
 
-After each shell command returns, @code{make} looks at its exit status.
-If the command completed successfully, the next command line is executed
-in a new shell; after the last command line is finished, the rule is
-finished.
+After each shell invocation returns, @code{make} looks at its exit
+status.  If the shell completed successfully (the exit status is
+zero), the next line in the recipe is executed in a new shell; after
+the last line is finished, the rule is finished.
 
 If there is an error (the exit status is nonzero), @code{make} gives up on
 the current rule, and perhaps on all rules.
 
-Sometimes the failure of a certain command does not indicate a problem.
+Sometimes the failure of a certain recipe line does not indicate a problem.
 For example, you may use the @code{mkdir} command to ensure that a
 directory exists.  If the directory already exists, @code{mkdir} will
 report an error, but you probably want @code{make} to continue regardless.
 
-@cindex @code{-} (in commands)
-To ignore errors in a command line, write a @samp{-} at the beginning of
-the line's text (after the initial tab).  The @samp{-} is discarded before
-the command is passed to the shell for execution.
+@cindex @code{-} (in recipes)
+To ignore errors in a recipe line, write a @samp{-} at the beginning
+of the line's text (after the initial tab).  The @samp{-} is discarded
+before the line is passed to the shell for execution.
 
 For example,
@@ -4093,5 +3918,6 @@
 
 @noindent
-This causes @code{rm} to continue even if it is unable to remove a file.
+This causes @code{make} to continue even if @code{rm} is unable to
+remove a file.
 
 @cindex @code{-i}
@@ -4099,5 +3925,5 @@
 @findex .IGNORE
 When you run @code{make} with the @samp{-i} or @samp{--ignore-errors}
-flag, errors are ignored in all commands of all rules.  A rule in the
+flag, errors are ignored in all recipes of all rules.  A rule in the
 makefile for the special target @code{.IGNORE} has the same effect, if
 there are no prerequisites.  These ways of ignoring errors are obsolete
@@ -4107,10 +3933,10 @@
 @samp{-i} flag, @code{make} treats an error return just like success,
 except that it prints out a message that tells you the status code
-the command exited with, and says that the error has been ignored.
+the shell exited with, and says that the error has been ignored.
 
 When an error happens that @code{make} has not been told to ignore,
 it implies that the current target cannot be correctly remade, and neither
 can any other that depends on it either directly or indirectly.  No further
-commands will be executed for these targets, since their preconditions
+recipes will be executed for these targets, since their preconditions
 have not been achieved.
 
@@ -4141,11 +3967,11 @@
 @cindex removal of target files
 @cindex target, deleting on error
-Usually when a command fails, if it has changed the target file at all,
+Usually when a recipe line fails, if it has changed the target file at all,
 the file is corrupted and cannot be used---or at least it is not
 completely updated.  Yet the file's time stamp says that it is now up to
 date, so the next time @code{make} runs, it will not try to update that
-file.  The situation is just the same as when the command is killed by a
+file.  The situation is just the same as when the shell is killed by a
 signal; @pxref{Interrupts}.  So generally the right thing to do is to
-delete the target file if the command fails after beginning to change
+delete the target file if the recipe fails after beginning to change
 the file.  @code{make} will do this if @code{.DELETE_ON_ERROR} appears
 as a target.  This is almost always what you want @code{make} to do, but
@@ -4153,5 +3979,5 @@
 request it.
 
-@node Interrupts, Recursion, Errors, Commands
+@node Interrupts, Recursion, Errors, Recipes
 @section Interrupting or Killing @code{make}
 @cindex interrupt
@@ -4162,6 +3988,6 @@
 @cindex killing (interruption)
 
-If @code{make} gets a fatal signal while a command is executing, it may
-delete the target file that the command was supposed to update.  This is
+If @code{make} gets a fatal signal while a shell is executing, it may
+delete the target file that the recipe was supposed to update.  This is
 done if the target file's last-modification time has changed since
 @code{make} first checked it.
@@ -4188,5 +4014,5 @@
 times to prevent other sorts of trouble.
 
-@node Recursion, Sequences, Interrupts, Commands
+@node Recursion, Sequences, Interrupts, Recipes
 @section Recursive Use of @code{make}
 @cindex recursion
@@ -4258,5 +4084,5 @@
 
 The value of this variable is the file name with which @code{make} was
-invoked.  If this file name was @file{/bin/make}, then the command executed
+invoked.  If this file name was @file{/bin/make}, then the recipe executed
 is @samp{cd subdir && /bin/make}.  If you use a special version of
 @code{make} to run the top-level makefile, the same special version will be
@@ -4264,37 +4090,37 @@
 @cindex @code{cd} (shell command)
 
-@cindex +, and commands
-As a special feature, using the variable @code{MAKE} in the commands of
+@cindex +, and recipes
+As a special feature, using the variable @code{MAKE} in the recipe of
 a rule alters the effects of the @samp{-t} (@samp{--touch}), @samp{-n}
 (@samp{--just-print}), or @samp{-q} (@w{@samp{--question}}) option.
 Using the @code{MAKE} variable has the same effect as using a @samp{+}
-character at the beginning of the command line.  @xref{Instead of
-Execution, ,Instead of Executing the Commands}.  This special feature
+character at the beginning of the recipe line.  @xref{Instead of
+Execution, ,Instead of Executing the Recipes}.  This special feature
 is only enabled if the @code{MAKE} variable appears directly in the
-command script: it does not apply if the @code{MAKE} variable is
-referenced through expansion of another variable.  In the latter case
-you must use the @samp{+} token to get these special effects.@refill
+recipe: it does not apply if the @code{MAKE} variable is referenced
+through expansion of another variable.  In the latter case you must
+use the @samp{+} token to get these special effects.@refill
 
 Consider the command @samp{make -t} in the above example.  (The
 @samp{-t} option marks targets as up to date without actually running
-any commands; see @ref{Instead of Execution}.)  Following the usual
+any recipes; see @ref{Instead of Execution}.)  Following the usual
 definition of @samp{-t}, a @samp{make -t} command in the example would
 create a file named @file{subsystem} and do nothing else.  What you
-really want it to do is run @samp{@w{cd subdir &&} @w{make -t}}; but that would
-require executing the command, and @samp{-t} says not to execute
-commands.@refill
+really want it to do is run @samp{@w{cd subdir &&} @w{make -t}}; but
+that would require executing the recipe, and @samp{-t} says not to
+execute recipes.@refill
 @cindex @code{-t}, and recursion
 @cindex recursion, and @code{-t}
 @cindex @code{--touch}, and recursion
 
-The special feature makes this do what you want: whenever a command
+The special feature makes this do what you want: whenever a recipe
 line of a rule contains the variable @code{MAKE}, the flags @samp{-t},
-@samp{-n} and @samp{-q} do not apply to that line.  Command lines
+@samp{-n} and @samp{-q} do not apply to that line.  Recipe lines
 containing @code{MAKE} are executed normally despite the presence of a
-flag that causes most commands not to be run.  The usual
+flag that causes most recipes not to be run.  The usual
 @code{MAKEFLAGS} mechanism passes the flags to the sub-@code{make}
 (@pxref{Options/Recursion, ,Communicating Options to a
 Sub-@code{make}}), so your request to touch the files, or print the
-commands, is propagated to the subsystem.@refill
+recipes, is propagated to the subsystem.@refill
 
 @node Variables/Recursion, Options/Recursion, MAKE Variable, Recursion
@@ -4315,9 +4141,9 @@
 ,Summary of Options}).@refill
 
-To pass down, or @dfn{export}, a variable, @code{make} adds the variable
-and its value to the environment for running each command.  The
-sub-@code{make}, in turn, uses the environment to initialize its table
-of variable values.  @xref{Environment, ,Variables from the
-Environment}.
+To pass down, or @dfn{export}, a variable, @code{make} adds the
+variable and its value to the environment for running each line of the
+recipe.  The sub-@code{make}, in turn, uses the environment to
+initialize its table of variable values.  @xref{Environment,
+,Variables from the Environment}.
 
 Except by explicit request, @code{make} exports a variable only if it
@@ -4454,5 +4280,5 @@
 by itself earlier (in an included makefile, perhaps).  You
 @strong{cannot} use @code{export} and @code{unexport} by themselves to
-have variables exported for some commands and not for others.  The last
+have variables exported for some recipes and not for others.  The last
 @code{export} or @code{unexport} directive that appears by itself
 determines the behavior for the entire run of @code{make}.@refill
@@ -4465,5 +4291,5 @@
 @samp{0} for the top-level @code{make}; @samp{1} for a sub-@code{make},
 @samp{2} for a sub-sub-@code{make}, and so on.  The incrementation
-happens when @code{make} sets up the environment for a command.@refill
+happens when @code{make} sets up the environment for a recipe.@refill
 
 The main use of @code{MAKELEVEL} is to test it in a conditional
@@ -4534,5 +4360,5 @@
 ensure that there are only @samp{N} jobs running at the same time
 between them all.  Note that any job that is marked recursive
-(@pxref{Instead of Execution, ,Instead of Executing the Commands})
+(@pxref{Instead of Execution, ,Instead of Executing the Recipes})
 doesn't count against the total jobs (otherwise we could get @samp{N}
 sub-@code{make}s running and have no slots left over for any real work!)
@@ -4670,16 +4496,18 @@
 disable it.
 
-@node Sequences, Empty Commands, Recursion, Commands
-@section Defining Canned Command Sequences
+@node Sequences, Empty Recipes, Recursion, Recipes
+@section Defining Canned Recipes
+@cindex canned recipes
+@cindex recipes, canned
 @cindex sequences of commands
 @cindex commands, sequences of
 
-When the same sequence of commands is useful in making various targets, you
-can define it as a canned sequence with the @code{define} directive, and
-refer to the canned sequence from the rules for those targets.  The canned
-sequence is actually a variable, so the name must not conflict with other
-variable names.
-
-Here is an example of defining a canned sequence of commands:
+When the same sequence of commands is useful in making various
+targets, you can define it as a canned sequence with the @code{define}
+directive, and refer to the canned sequence from the recipes for those
+targets.  The canned sequence is actually a variable, so the name must
+not conflict with other variable names.
+
+Here is an example of defining a canned recipes:
 
 @example
@@ -4706,5 +4534,5 @@
 rule's target file name.
 
-To use the canned sequence, substitute the variable into the commands of a
+To use the canned sequence, substitute the variable into the recipe of a
 rule.  You can substitute it like any other variable
 (@pxref{Reference, ,Basics of Variable References}).
@@ -4730,10 +4558,10 @@
 @cindex -, and @code{define}
 @cindex +, and @code{define}
-In command execution, each line of a canned sequence is treated just as
+In recipe execution, each line of a canned sequence is treated just as
 if the line appeared on its own in the rule, preceded by a tab.  In
 particular, @code{make} invokes a separate subshell for each line.  You
 can use the special prefix characters that affect command lines
 (@samp{@@}, @samp{-}, and @samp{+}) on each line of a canned sequence.
-@xref{Commands, ,Writing the Commands in Rules}.
+@xref{Recipes, ,Writing Recipes in Rules}.
 For example, using this canned sequence:
 
@@ -4748,7 +4576,7 @@
 @noindent
 @code{make} will not echo the first line, the @code{echo} command.
-But it @emph{will} echo the following two command lines.
-
-On the other hand, prefix characters on the command line that refers to
+But it @emph{will} echo the following two recipe lines.
+
+On the other hand, prefix characters on the recipe line that refers to
 a canned sequence apply to every line in the sequence.  So the rule:
 
@@ -4759,14 +4587,14 @@
 
 @noindent
-does not echo @emph{any} commands.
-(@xref{Echoing, ,Command Echoing}, for a full explanation of @samp{@@}.)
-
-@node Empty Commands,  , Sequences, Commands
-@section Using Empty Commands
-@cindex empty commands
-@cindex commands, empty
-
-It is sometimes useful to define commands which do nothing.  This is done
-simply by giving a command that consists of nothing but whitespace.  For
+does not echo @emph{any} recipe lines.
+(@xref{Echoing, ,Recipe Echoing}, for a full explanation of @samp{@@}.)
+
+@node Empty Recipes,  , Sequences, Recipes
+@section Using Empty Recipes
+@cindex empty recipes
+@cindex recipes, empty
+
+It is sometimes useful to define recipes which do nothing.  This is done
+simply by giving a recipe that consists of nothing but whitespace.  For
 example:
 
@@ -4776,12 +4604,12 @@
 
 @noindent
-defines an empty command string for @file{target}.  You could also use a
-line beginning with a tab character to define an empty command string,
+defines an empty recipe for @file{target}.  You could also use a line
+beginning with a recipe prefix character to define an empty recipe,
 but this would be confusing because such a line looks empty.
 
-@findex .DEFAULT@r{, and empty commands}
-You may be wondering why you would want to define a command string that
+@findex .DEFAULT@r{, and empty recipes}
+You may be wondering why you would want to define a recipe that
 does nothing.  The only reason this is useful is to prevent a target
-from getting implicit commands (from implicit rules or the
+from getting implicit recipes (from implicit rules or the
 @code{.DEFAULT} special target; @pxref{Implicit Rules} and
 @pxref{Last Resort, ,Defining Last-Resort Default Rules}).@refill
@@ -4797,5 +4625,5 @@
 @end ignore
 
-You may be inclined to define empty command strings for targets that are
+You may be inclined to define empty recipes for targets that are
 not actual files, but only exist so that their prerequisites can be
 remade.  However, this is not the best way to do that, because the
@@ -4803,5 +4631,5 @@
 @xref{Phony Targets, ,Phony Targets}, for a better way to do this.
 
-@node Using Variables, Conditionals, Commands, Top
+@node Using Variables, Conditionals, Recipes, Top
 @chapter How to Use Variables
 @cindex variable
@@ -4812,5 +4640,5 @@
 A @dfn{variable} is a name defined in a makefile to represent a string
 of text, called the variable's @dfn{value}.  These values are
-substituted by explicit request into targets, prerequisites, commands,
+substituted by explicit request into targets, prerequisites, recipes,
 and other parts of the makefile.  (In some other versions of @code{make},
 variables are called @dfn{macros}.)
@@ -4818,7 +4646,7 @@
 
 Variables and functions in all parts of a makefile are expanded when
-read, except for the shell commands in rules, the right-hand sides of
-variable definitions using @samp{=}, and the bodies of variable
-definitions using the @code{define} directive.@refill
+read, except for in recipes, the right-hand sides of variable
+definitions using @samp{=}, and the bodies of variable definitions
+using the @code{define} directive.@refill
 
 Variables can represent lists of file names, options to pass to compilers,
@@ -4864,4 +4692,5 @@
 * Pattern-specific::            Target-specific variable values can be applied
                                   to a group of targets that match a pattern.
+* Special Variables::           Variables with special meaning or behavior.
 @end menu
 
@@ -4877,8 +4706,8 @@
 @samp{$@{foo@}} is a valid reference to the variable @code{foo}.  This
 special significance of @samp{$} is why you must write @samp{$$} to have
-the effect of a single dollar sign in a file name or command.
+the effect of a single dollar sign in a file name or recipe.
 
 Variable references can be used in any context: targets, prerequisites,
-commands, most directives, and new variable values.  Here is an
+recipes, most directives, and new variable values.  Here is an
 example of a common case, where a variable holds the names of all the
 object files in a program:
@@ -4962,5 +4791,5 @@
 
 @noindent
-will do what was intended: when @samp{CFLAGS} is expanded in a command,
+will do what was intended: when @samp{CFLAGS} is expanded in a recipe,
 it will expand to @samp{-Ifoo -Ibar -O}.  A major disadvantage is that you
 cannot append something on the end of a variable, as in
@@ -5038,5 +4867,5 @@
 @noindent
 An advantage of this use of @samp{:=} is that a typical
-`descend into a directory' command then looks like this:
+`descend into a directory' recipe then looks like this:
 
 @example
@@ -5686,8 +5515,8 @@
 You may nest @code{define} directives: @code{make} will keep track of
 nested directives and report an error if they are not all properly
-closed with @code{endef}.  Note that lines beginning with tab
-characters are considered part of a command script, so any
-@code{define} or @code{endef} strings appearing on such a line will
-not be considered @code{make} operators.
+closed with @code{endef}.  Note that lines beginning with the recipe
+prefix character are considered part of a recipe, so any @code{define}
+or @code{endef} strings appearing on such a line will not be
+considered @code{make} operators.
 
 @example
@@ -5704,6 +5533,6 @@
 
 @need 800
-When used in a command script, the previous example is functionally
-equivalent to this:
+When used in a recipe, the previous example is functionally equivalent
+to this:
 
 @example
@@ -5715,5 +5544,5 @@
 shell commands.  However, note that using two separate lines means
 @code{make} will invoke the shell twice, running an independent subshell
-for each line.  @xref{Execution, ,Command Execution}.
+for each line.  @xref{Execution, ,Recipe Execution}.
 
 If you want variable definitions made with @code{define} to take
@@ -5752,6 +5581,6 @@
 and therefore are not affected by the value in the environment.)
 
-When @code{make} runs a command script, variables defined in the
-makefile are placed into the environment of that command.  This allows
+When @code{make} runs a recipe, variables defined in the
+makefile are placed into the environment of each shell.  This allows
 you to pass values to sub-@code{make} invocations (@pxref{Recursion,
 ,Recursive Use of @code{make}}).  By default, only variables that came
@@ -5789,5 +5618,5 @@
 based on the target that @code{make} is currently building.  As with
 automatic variables, these values are only available within the context
-of a target's command script (and in other target-specific assignments).
+of a target's recipe (and in other target-specific assignments).
 
 Set a target-specific variable value like this:
@@ -5824,5 +5653,5 @@
 
 Target-specific variables have the same priority as any other makefile
-variable.  Variables provided on the command-line (and in the
+variable.  Variables provided on the command line (and in the
 environment if the @samp{-e} option is in force) will take precedence.
 Specifying the @code{override} directive will allow the target-specific
@@ -5842,9 +5671,8 @@
 
 @noindent
-will set @code{CFLAGS} to @samp{-g} in the command script for
-@file{prog}, but it will also set @code{CFLAGS} to @samp{-g} in the
-command scripts that create @file{prog.o}, @file{foo.o}, and
-@file{bar.o}, and any command scripts which create their
-prerequisites.
+will set @code{CFLAGS} to @samp{-g} in the recipe for @file{prog}, but
+it will also set @code{CFLAGS} to @samp{-g} in the recipes that create
+@file{prog.o}, @file{foo.o}, and @file{bar.o}, and any recipes which
+create their prerequisites.
 
 Be aware that a given prerequisite will only be built once per
@@ -5856,5 +5684,5 @@
 ignore the target-specific values from any other targets.
 
-@node Pattern-specific,  , Target-specific, Using Variables
+@node Pattern-specific, Special Variables, Target-specific, Using Variables
 @section Pattern-specific Variable Values
 @cindex pattern-specific variables
@@ -5889,5 +5717,5 @@
 values, multiple @var{pattern} values create a pattern-specific variable
 value for each pattern individually.  The @var{variable-assignment} can
-be any valid form of assignment.  Any command-line variable setting will
+be any valid form of assignment.  Any command line variable setting will
 take precedence, unless @code{override} is specified.
 
@@ -5902,14 +5730,199 @@
 matching the pattern @code{%.o}.
 
+@node Special Variables,  , Pattern-specific, Using Variables
+@comment  node-name,  next,  previous,  up
+@section Other Special Variables
+@cindex makefiles, and special variables
+@cindex special variables
+
+GNU @code{make} supports some variables that have special properties.
+
+@table @code
+
+@vindex MAKEFILE_LIST @r{(list of parsed makefiles)}
+@cindex makefiles, and @code{MAKEFILE_LIST} variable
+@cindex including (@code{MAKEFILE_LIST} variable)
+@item MAKEFILE_LIST
+Contains the name of each makefile that is parsed by @code{make}, in
+the order in which it was parsed.  The name is appended just
+before @code{make} begins to parse the makefile.  Thus, if the first
+thing a makefile does is examine the last word in this variable, it
+will be the name of the current makefile.  Once the current makefile
+has used @code{include}, however, the last word will be the
+just-included makefile.
+
+If a makefile named @code{Makefile} has this content:
+
+@example
+@group
+name1 := $(lastword $(MAKEFILE_LIST))
+
+include inc.mk
+
+name2 := $(lastword $(MAKEFILE_LIST))
+
+all:
+        @@echo name1 = $(name1)
+        @@echo name2 = $(name2)
+@end group
+@end example
+
+@noindent
+then you would expect to see this output:
+
+@example
+@group
+name1 = Makefile
+name2 = inc.mk
+@end group
+@end example
+
+@vindex .DEFAULT_GOAL @r{(define default goal)}
+@item .DEFAULT_GOAL
+Sets the default goal to be used if no targets were specified on the
+command line (@pxref{Goals, , Arguments to Specify the Goals}).  The
+@code{.DEFAULT_GOAL} variable allows you to discover the current
+default goal, restart the default goal selection algorithm by clearing
+its value, or to explicitly set the default goal.  The following
+example illustrates these cases:
+
+@example
+@group
+# Query the default goal.
+ifeq ($(.DEFAULT_GOAL),)
+  $(warning no default goal is set)
+endif
+
+.PHONY: foo
+foo: ; @@echo $@@
+
+$(warning default goal is $(.DEFAULT_GOAL))
+
+# Reset the default goal.
+.DEFAULT_GOAL :=
+
+.PHONY: bar
+bar: ; @@echo $@@
+
+$(warning default goal is $(.DEFAULT_GOAL))
+
+# Set our own.
+.DEFAULT_GOAL := foo
+@end group
+@end example
+
+This makefile prints:
+
+@example
+@group
+no default goal is set
+default goal is foo
+default goal is bar
+foo
+@end group
+@end example
+
+Note that assigning more than one target name to @code{.DEFAULT_GOAL} is
+illegal and will result in an error.
+
+@vindex MAKE_RESTARTS @r{(number of times @code{make} has restarted)}
+@item MAKE_RESTARTS
+This variable is set only if this instance of @code{make} has
+restarted (@pxref{Remaking Makefiles, , How Makefiles Are Remade}): it
+will contain the number of times this instance has restarted.  Note
+this is not the same as recursion (counted by the @code{MAKELEVEL}
+variable).  You should not set, modify, or export this variable.
+
+@vindex .CMDPREFIX @r{(change the recipe prefix character)}
+@item .CMDPREFIX
+The first character of the value of this variable is used as the
+character make assumes is introducing a recipe line.  If the variable
+is empty (as it is by default) that character is the standard tab
+character.  For example, this is a valid makefile:
+
+@example
+@group
+.CMDPREFIX = >
+all:
+> @@echo Hello, world
+@end group
+@end example
+
+The value of @code{.CMDPREFIX} can be changed multiple times; once set
+it stays in effect for all rules parsed until it is modified.
+
+@vindex .VARIABLES @r{(list of variables)}
+@item .VARIABLES
+Expands to a list of the @emph{names} of all global variables defined
+so far.  This includes variables which have empty values, as well as
+built-in variables (@pxref{Implicit Variables, , Variables Used by
+Implicit Rules}), but does not include any variables which are only
+defined in a target-specific context.  Note that any value you assign
+to this variable will be ignored; it will always return its special
+value.
+
+@c @vindex .TARGETS @r{(list of targets)}
+@c @item .TARGETS
+@c The second special variable is @code{.TARGETS}.  When expanded, the
+@c value consists of a list of all targets defined in all makefiles read
+@c up until that point.  Note it's not enough for a file to be simply
+@c mentioned in the makefile to be listed in this variable, even if it
+@c would match an implicit rule and become an ``implicit target''.  The
+@c file must appear as a target, on the left-hand side of a ``:'', to be
+@c considered a target for the purposes of this variable.
+
+@vindex .FEATURES @r{(list of supported features)}
+@item .FEATURES
+Expands to a list of special features supported by this version of
+@code{make}.  Possible values include:
+
+@table @samp
+
+@item archives
+Supports @code{ar} (archive) files using special filename syntax.
+@xref{Archives, ,Using @code{make} to Update Archive Files}.
+
+@item check-symlink
+Supports the @code{-L} (@code{--check-symlink-times}) flag.
+@xref{Options Summary, ,Summary of Options}.
+
+@item else-if
+Supports ``else if'' non-nested conditionals.  @xref{Conditional
+Syntax, ,Syntax of Conditionals}.
+
+@item jobserver
+Supports ``job server'' enhanced parallel builds.  @xref{Parallel,
+,Parallel Execution}.
+
+@item second-expansion
+Supports secondary expansion of prerequisite lists.
+
+@item order-only
+Supports order-only prerequisites.  @xref{Prerequisite Types, ,Types
+of Prerequisites}.
+
+@item target-specific
+Supports target-specific and pattern-specific variable assignments.
+@xref{Target-specific, ,Target-specific Variable Values}.
+
+@end table
+
+@vindex .INCLUDE_DIRS @r{(list of include directories)}
+@item .INCLUDE_DIRS
+Expands to a list of directories that @code{make} searches for
+included makefiles (@pxref{Include, , Including Other Makefiles}).
+
+@end table
+
 @node Conditionals, Functions, Using Variables, Top
 @chapter Conditional Parts of Makefiles
 
 @cindex conditionals
-A @dfn{conditional} causes part of a makefile to be obeyed or ignored
-depending on the values of variables.  Conditionals can compare the
-value of one variable to another, or the value of a variable to
-a constant string.  Conditionals control what @code{make} actually
-``sees'' in the makefile, so they @emph{cannot} be used to control shell
-commands at the time of execution.@refill
+A @dfn{conditional} directive causes part of a makefile to be obeyed
+or ignored depending on the values of variables.  Conditionals can
+compare the value of one variable to another, or the value of a
+variable to a constant string.  Conditionals control what @code{make}
+actually ``sees'' in the makefile, so they @emph{cannot} be used to
+control recipes at the time of execution.@refill
 
 @menu
@@ -5922,9 +5935,9 @@
 @section Example of a Conditional
 
-The following example of a conditional tells @code{make} to use one set
-of libraries if the @code{CC} variable is @samp{gcc}, and a different
-set of libraries otherwise.  It works by controlling which of two
-command lines will be used as the command for a rule.  The result is
-that @samp{CC=gcc} as an argument to @code{make} changes not only which
+The following example of a conditional tells @code{make} to use one
+set of libraries if the @code{CC} variable is @samp{gcc}, and a
+different set of libraries otherwise.  It works by controlling which
+of two recipe lines will be used for the rule.  The result is that
+@samp{CC=gcc} as an argument to @code{make} changes not only which
 compiler is used but also which libraries are linked.
 
@@ -6153,10 +6166,10 @@
 @end table
 
-Extra spaces are allowed and ignored at the beginning of the conditional
-directive line, but a tab is not allowed.  (If the line begins with a tab,
-it will be considered a command for a rule.)  Aside from this, extra spaces
-or tabs may be inserted with no effect anywhere except within the directive
-name or within an argument.  A comment starting with @samp{#} may appear at
-the end of the line.
+Extra spaces are allowed and ignored at the beginning of the
+conditional directive line, but a tab is not allowed.  (If the line
+begins with a tab, it will be considered part of a recipe for a rule.)
+Aside from this, extra spaces or tabs may be inserted with no effect
+anywhere except within the directive name or within an argument.  A
+comment starting with @samp{#} may appear at the end of the line.
 
 The other two directives that play a part in a conditional are @code{else}
@@ -6175,5 +6188,5 @@
 @code{make} evaluates conditionals when it reads a makefile.
 Consequently, you cannot use automatic variables in the tests of
-conditionals because they are not defined until commands are run
+conditionals because they are not defined until recipes are run
 (@pxref{Automatic Variables}).
 
@@ -6212,6 +6225,6 @@
 
 @noindent
-The @samp{+} prefix marks those command lines as ``recursive'' so
-that they will be executed despite use of the @samp{-t} flag.
+The @samp{+} prefix marks those recipe lines as ``recursive'' so that
+they will be executed despite use of the @samp{-t} flag.
 @xref{Recursion, ,Recursive Use of @code{make}}.
 
@@ -6220,10 +6233,11 @@
 @cindex functions
 
-@dfn{Functions} allow you to do text processing in the makefile to compute
-the files to operate on or the commands to use.  You use a function in a
-@dfn{function call}, where you give the name of the function and some text
-(the @dfn{arguments}) for the function to operate on.  The result of the
-function's processing is substituted into the makefile at the point of the
-call, just as a variable might be substituted.
+@dfn{Functions} allow you to do text processing in the makefile to
+compute the files to operate on or the commands to use in recipes.
+You use a function in a @dfn{function call}, where you give the name
+of the function and some text (the @dfn{arguments}) for the function
+to operate on.  The result of the function's processing is substituted
+into the makefile at the point of the call, just as a variable might
+be substituted.
 
 @menu
@@ -7238,7 +7252,6 @@
 @item automatic
 
-if @var{variable} is an automatic variable defined for the
-execution of the commands for each rule
-(@pxref{Automatic Variables}).
+if @var{variable} is an automatic variable defined for the execution
+of the recipe for each rule (@pxref{Automatic Variables}).
 @end table
 
@@ -7330,5 +7343,5 @@
 @section The @code{shell} Function
 @findex shell
-@cindex commands, expansion
+@cindex command expansion
 @cindex backquotes
 @cindex shell command, function for
@@ -7389,9 +7402,9 @@
 @cindex error, stopping on
 @cindex stopping make
-Generates a fatal error where the message is @var{text}.  Note that the
-error is generated whenever this function is evaluated.  So, if you put
-it inside a command script or on the right side of a recursive variable
-assignment, it won't be evaluated until later.  The @var{text} will be
-expanded before the error is generated.
+Generates a fatal error where the message is @var{text}.  Note that
+the error is generated whenever this function is evaluated.  So, if
+you put it inside a recipe or on the right side of a recursive
+variable assignment, it won't be evaluated until later.  The
+@var{text} will be expanded before the error is generated.
 
 For example,
@@ -7463,5 +7476,5 @@
 The exit status is one if you use the @samp{-q} flag and @code{make}
 determines that some target is not already up to date.
-@xref{Instead of Execution, ,Instead of Executing the Commands}.
+@xref{Instead of Execution, ,Instead of Executing the Recipes}.
 @end table
 
@@ -7471,5 +7484,5 @@
                                   parts of the makefile to use.
 * Instead of Execution::        How to use mode flags to specify what
-                                  kind of thing to do with the commands
+                                  kind of thing to do with the recipes
                                   in the makefile other than simply
                                   execute them.
@@ -7518,5 +7531,5 @@
 (@pxref{Special Variables, , Other Special Variables}).
 
-You can also specify a different goal or goals with command-line
+You can also specify a different goal or goals with command line
 arguments to @code{make}.  Use the name of the goal as an argument.
 If you specify several goals, @code{make} processes each of them in
@@ -7568,5 +7581,5 @@
 a rule in the makefile but is not a prerequisite of the default goal.
 
-Another use of specifying a goal is to run the commands associated with
+Another use of specifying a goal is to run the recipe associated with
 a phony target (@pxref{Phony Targets}) or empty target (@pxref{Empty
 Targets, ,Empty Target Files to Record Events}).  Many makefiles contain
@@ -7640,7 +7653,7 @@
 
 @node Instead of Execution, Avoiding Compilation, Goals, Running
-@section Instead of Executing the Commands
+@section Instead of Executing the Recipes
 @cindex execution, instead of
-@cindex commands, instead of executing
+@cindex recipes, instead of executing
 
 The makefile tells @code{make} how to tell whether a target is up to date,
@@ -7659,6 +7672,6 @@
 @cindex @code{-n}
 
-``No-op''.  The activity is to print what commands would be used to make
-the targets up to date, but not actually execute them.
+``No-op''.  The activity is to print what recipe would be used to make
+the targets up to date, but not actually execute it.
 
 @item -t
@@ -7680,5 +7693,5 @@
 
 ``Question''.  The activity is to find out silently whether the targets
-are up to date already; but execute no commands in either case.  In other
+are up to date already; but execute no recipe in either case.  In other
 words, neither compilation nor output will occur.
 
@@ -7701,8 +7714,8 @@
 @end table
 
-With the @samp{-n} flag, @code{make} prints the commands that it would
-normally execute but does not execute them.
-
-With the @samp{-t} flag, @code{make} ignores the commands in the rules
+With the @samp{-n} flag, @code{make} prints the recipe that it would
+normally execute but does not execute it.
+
+With the @samp{-t} flag, @code{make} ignores the recipes in the rules
 and uses (in effect) the command @code{touch} for each target that needs to
 be remade.  The @code{touch} command is also printed, unless @samp{-s} or
@@ -7711,5 +7724,5 @@
 
 With the @samp{-q} flag, @code{make} prints nothing and executes no
-commands, but the exit status code it returns is zero if and only if the
+recipes, but the exit status code it returns is zero if and only if the
 targets to be considered are already up to date.  If the exit status is
 one, then some updating needs to be done.  If @code{make} encounters an
@@ -7720,6 +7733,6 @@
 invocation of @code{make}.
 
-@cindex +, and command execution
-The @samp{-n}, @samp{-t}, and @samp{-q} options do not affect command
+@cindex +, and recipe execution
+The @samp{-n}, @samp{-t}, and @samp{-q} options do not affect recipe
 lines that begin with @samp{+} characters or contain the strings
 @samp{$(MAKE)} or @samp{$@{MAKE@}}.  Note that only the line containing
@@ -7738,7 +7751,7 @@
 @item
 Without the @samp{-n} or @samp{-q} flag, when @code{make} is actually
-executing commands, the @samp{-W} flag can direct @code{make} to act
-as if some files had been modified, without actually modifying the
-files.@refill
+executing recipes, the @samp{-W} flag can direct @code{make} to act as
+if some files had been modified, without actually running the recipes
+for those files.@refill
 @end itemize
 
@@ -7766,5 +7779,5 @@
 If you anticipate the problem before changing the header file, you can
 use the @samp{-t} flag.  This flag tells @code{make} not to run the
-commands in the rules, but rather to mark the target up to date by
+recipes in the rules, but rather to mark the target up to date by
 changing its last-modification date.  You would follow this procedure:
 
@@ -7817,5 +7830,5 @@
 The most common way to use this facility is to pass extra flags to
 compilers.  For example, in a properly written makefile, the variable
-@code{CFLAGS} is included in each command that runs the C compiler, so a
+@code{CFLAGS} is included in each recipe that runs the C compiler, so a
 file @file{foo.c} would be compiled something like this:
 
@@ -7847,11 +7860,11 @@
 makefile works by changing the variables.
 
-When you override a variable with a command argument, you can define either
-a recursively-expanded variable or a simply-expanded variable.  The
-examples shown above make a recursively-expanded variable; to make a
-simply-expanded variable, write @samp{:=} instead of @samp{=}.  But, unless
-you want to include a variable reference or function call in the
-@emph{value} that you specify, it makes no difference which kind of
-variable you create.
+When you override a variable with a command line argument, you can
+define either a recursively-expanded variable or a simply-expanded
+variable.  The examples shown above make a recursively-expanded
+variable; to make a simply-expanded variable, write @samp{:=} instead
+of @samp{=}.  But, unless you want to include a variable reference or
+function call in the @emph{value} that you specify, it makes no
+difference which kind of variable you create.
 
 There is one way that the makefile can change a variable that you have
@@ -7866,5 +7879,5 @@
 
 Normally, when an error happens in executing a shell command, @code{make}
-gives up immediately, returning a nonzero status.  No further commands are
+gives up immediately, returning a nonzero status.  No further recipes are
 executed for any target.  The error implies that the goal cannot be
 correctly remade, and @code{make} reports this as soon as it knows.
@@ -8015,6 +8028,6 @@
 @itemx --ignore-errors
 @cindex @code{--ignore-errors}
-Ignore all errors in commands executed to remake files.
-@xref{Errors, ,Errors in Commands}.
+Ignore all errors in recipes executed to remake files.
+@xref{Errors, ,Errors in Recipes}.
 
 @item -I @var{dir}
@@ -8031,10 +8044,9 @@
 @itemx --jobs[=@var{jobs}]
 @cindex @code{--jobs}
-Specifies the number of jobs (commands) to run simultaneously.  With no
-argument, @code{make} runs as many jobs simultaneously as possible.  If
-there is more than one @samp{-j} option, the last one is effective.
-@xref{Parallel, ,Parallel Execution},
-for more information on how commands are run.
-Note that this option is ignored on MS-DOS.
+Specifies the number of recipes (jobs) to run simultaneously.  With no
+argument, @code{make} runs as many recipes simultaneously as possible.
+If there is more than one @samp{-j} option, the last one is effective.
+@xref{Parallel, ,Parallel Execution}, for more information on how
+recipes are run.  Note that this option is ignored on MS-DOS.
 
 @item -k
@@ -8053,6 +8065,6 @@
 @itemx --max-load[=@var{load}]
 @cindex @code{--max-load}
-Specifies that no new jobs (commands) should be started if there are
-other jobs running and the load average is at least @var{load} (a
+Specifies that no new recipes should be started if there are other
+recipes running and the load average is at least @var{load} (a
 floating-point number).  With no argument, removes a previous load
 limit.  @xref{Parallel, ,Parallel Execution}.
@@ -8078,6 +8090,6 @@
 @c Extra blank line here makes the table look better.
 
-Print the commands that would be executed, but do not execute them.
-@xref{Instead of Execution, ,Instead of Executing the Commands}.
+Print the recipe that would be executed, but do not execute it.
+@xref{Instead of Execution, ,Instead of Executing the Recipes}.
 
 @item -o @var{file}
@@ -8100,11 +8112,12 @@
 @cindex predefined rules and variables, printing
 Print the data base (rules and variable values) that results from
-reading the makefiles; then execute as usual or as otherwise specified.
-This also prints the version information given by the @samp{-v} switch
-(see below).  To print the data base without trying to remake any files,
-use @w{@samp{make -qp}}.  To print the data base of predefined rules and
-variables, use @w{@samp{make -p -f /dev/null}}.  The data base output
-contains filename and linenumber information for command and variable
-definitions, so it can be a useful debugging tool in complex environments.
+reading the makefiles; then execute as usual or as otherwise
+specified.  This also prints the version information given by the
+@samp{-v} switch (see below).  To print the data base without trying
+to remake any files, use @w{@samp{make -qp}}.  To print the data base
+of predefined rules and variables, use @w{@samp{make -p -f /dev/null}}.
+The data base output contains filename and linenumber information for
+recipe and variable definitions, so it can be a useful debugging tool
+in complex environments.
 
 @item -q
@@ -8112,9 +8125,9 @@
 @itemx --question
 @cindex @code{--question}
-``Question mode''.  Do not run any commands, or print anything; just
+``Question mode''.  Do not run any recipes, or print anything; just
 return an exit status that is zero if the specified targets are already
 up to date, one if any remaking is required, or two if an error is
 encountered.  @xref{Instead of Execution, ,Instead of Executing the
-Commands}.@refill
+Recipes}.@refill
 
 @item -r
@@ -8151,6 +8164,6 @@
 @c Extra blank line here makes the table look better.
 
-Silent operation; do not print the commands as they are executed.
-@xref{Echoing, ,Command Echoing}.
+Silent operation; do not print the recipes as they are executed.
+@xref{Echoing, ,Recipe Echoing}.
 
 @item -S
@@ -8175,7 +8188,7 @@
 
 Touch files (mark them up to date without really changing them)
-instead of running their commands.  This is used to pretend that the
-commands were done, in order to fool future invocations of
-@code{make}.  @xref{Instead of Execution, ,Instead of Executing the Commands}.
+instead of running their recipes.  This is used to pretend that the
+recipes were done, in order to fool future invocations of
+@code{make}.  @xref{Instead of Execution, ,Instead of Executing the Recipes}.
 
 @item -v
@@ -8218,5 +8231,5 @@
 @code{make}, except that the modification time is changed only in the
 imagination of @code{make}.
-@xref{Instead of Execution, ,Instead of Executing the Commands}.
+@xref{Instead of Execution, ,Instead of Executing the Recipes}.
 
 @item --warn-undefined-variables
@@ -8252,5 +8265,5 @@
 @end iftex
 
-The built-in implicit rules use several variables in their commands so
+The built-in implicit rules use several variables in their recipes so
 that, by changing the values of the variables, you can change the way the
 implicit rule works.  For example, the variable @code{CFLAGS} controls the
@@ -8274,10 +8287,10 @@
 @menu
 * Using Implicit::              How to use an existing implicit rule
-                                  to get the commands for updating a file.
+                                  to get the recipes for updating a file.
 * Catalogue of Rules::          A list of built-in implicit rules.
 * Implicit Variables::          How to change what predefined rules do.
 * Chained Rules::               How to use a chain of implicit rules.
 * Pattern Rules::               How to define new implicit rules.
-* Last Resort::                 How to define commands for rules which
+* Last Resort::                 How to define recipes for rules which
                                   cannot find any.
 * Suffix Rules::                The old-fashioned style of implicit rule.
@@ -8291,9 +8304,9 @@
 @cindex rule, implicit, how to use
 
-To allow @code{make} to find a customary method for updating a target file,
-all you have to do is refrain from specifying commands yourself.  Either
-write a rule with no command lines, or don't write a rule at all.  Then
-@code{make} will figure out which implicit rule to use based on which
-kind of source file exists or can be made.
+To allow @code{make} to find a customary method for updating a target
+file, all you have to do is refrain from specifying recipes yourself.
+Either write a rule with no recipe, or don't write a rule at all.
+Then @code{make} will figure out which implicit rule to use based on
+which kind of source file exists or can be made.
 
 For example, suppose the makefile looks like this:
@@ -8309,7 +8322,7 @@
 This happens whether or not the file @file{foo.o} currently exists.
 
-If an implicit rule is found, it can supply both commands and one or
+If an implicit rule is found, it can supply both a recipe and one or
 more prerequisites (the source files).  You would want to write a rule
-for @file{foo.o} with no command lines if you need to specify additional
+for @file{foo.o} with no recipe if you need to specify additional
 prerequisites, such as header files, that the implicit rule cannot
 supply.
@@ -8338,5 +8351,5 @@
 
 In general, @code{make} searches for an implicit rule for each target, and
-for each double-colon rule, that has no commands.  A file that is mentioned
+for each double-colon rule, that has no recipe.  A file that is mentioned
 only as a prerequisite is considered a target whose rule specifies nothing,
 so implicit rule search happens for it.  @xref{Implicit Rule Search, ,Implicit Rule Search Algorithm}, for the
@@ -8361,6 +8374,6 @@
 
 If you do not want an implicit rule to be used for a target that has no
-commands, you can give that target empty commands by writing a semicolon
-(@pxref{Empty Commands, ,Defining Empty Commands}).
+recipe, you can give that target an empty recipe by writing a semicolon
+(@pxref{Empty Recipes, ,Defining Empty Recipes}).
 
 @node Catalogue of Rules, Implicit Variables, Using Implicit, Implicit Rules
@@ -8408,5 +8421,5 @@
 @pindex .c
 @file{@var{n}.o} is made automatically from @file{@var{n}.c} with
-a command of the form @samp{$(CC) -c $(CPPFLAGS) $(CFLAGS)}.@refill
+a recipe of the form @samp{$(CC) -c $(CPPFLAGS) $(CFLAGS)}.@refill
 
 @item Compiling C++ programs
@@ -8417,5 +8430,5 @@
 @pindex .C
 @file{@var{n}.o} is made automatically from @file{@var{n}.cc},
-@file{@var{n}.cpp}, or @file{@var{n}.C} with a command of the form
+@file{@var{n}.cpp}, or @file{@var{n}.C} with a recipe of the form
 @samp{$(CXX) -c $(CPPFLAGS) $(CXXFLAGS)}.  We encourage you to use the
 suffix @samp{.cc} for C++ source files instead of @samp{.C}.@refill
@@ -8426,5 +8439,5 @@
 @pindex .p
 @file{@var{n}.o} is made automatically from @file{@var{n}.p}
-with the command @samp{$(PC) -c $(PFLAGS)}.@refill
+with the recipe @samp{$(PC) -c $(PFLAGS)}.@refill
 
 @item Compiling Fortran and Ratfor programs
@@ -8437,5 +8450,5 @@
 @file{@var{n}.o} is made automatically from @file{@var{n}.r},
 @file{@var{n}.F} or @file{@var{n}.f} by running the
-Fortran compiler.  The precise command used is as follows:@refill
+Fortran compiler.  The precise recipe used is as follows:@refill
 
 @table @samp
@@ -8452,5 +8465,5 @@
 @file{@var{n}.F}.  This rule runs just the preprocessor to convert a
 Ratfor or preprocessable Fortran program into a strict Fortran
-program.  The precise command used is as follows:@refill
+program.  The precise recipe used is as follows:@refill
 
 @table @samp
@@ -8467,5 +8480,5 @@
 @pindex .def
 @pindex .mod
-@file{@var{n}.sym} is made from @file{@var{n}.def} with a command
+@file{@var{n}.sym} is made from @file{@var{n}.def} with a recipe
 of the form @samp{$(M2C) $(M2FLAGS) $(DEFFLAGS)}.  @file{@var{n}.o}
 is made from @file{@var{n}.mod}; the form is:
@@ -8478,10 +8491,10 @@
 @pindex .s
 @file{@var{n}.o} is made automatically from @file{@var{n}.s} by
-running the assembler, @code{as}.  The precise command is
+running the assembler, @code{as}.  The precise recipe is
 @samp{$(AS) $(ASFLAGS)}.@refill
 
 @pindex .S
 @file{@var{n}.s} is made automatically from @file{@var{n}.S} by
-running the C preprocessor, @code{cpp}.  The precise command is
+running the C preprocessor, @code{cpp}.  The precise recipe is
 @w{@samp{$(CPP) $(CPPFLAGS)}}.
 
@@ -8492,5 +8505,5 @@
 @file{@var{n}} is made automatically from @file{@var{n}.o} by running
 the linker (usually called @code{ld}) via the C compiler.  The precise
-command used is @w{@samp{$(CC) $(LDFLAGS) @var{n}.o $(LOADLIBES) $(LDLIBS)}}.
+recipe used is @w{@samp{$(CC) $(LDFLAGS) @var{n}.o $(LOADLIBES) $(LDLIBS)}}.
 
 This rule does the right thing for a simple program with only one
@@ -8521,5 +8534,5 @@
 In more complicated cases, such as when there is no object file whose
 name derives from the executable file name, you must write an explicit
-command for linking.
+recipe for linking.
 
 Each kind of file automatically made into @samp{.o} object files will
@@ -8536,5 +8549,5 @@
 @pindex .y
 @file{@var{n}.c} is made automatically from @file{@var{n}.y} by
-running Yacc with the command @samp{$(YACC) $(YFLAGS)}.
+running Yacc with the recipe @samp{$(YACC) $(YFLAGS)}.
 
 @item Lex for C programs
@@ -8543,9 +8556,9 @@
 @pindex .l
 @file{@var{n}.c} is made automatically from @file{@var{n}.l} by
-running Lex.  The actual command is @samp{$(LEX) $(LFLAGS)}.
+running Lex.  The actual recipe is @samp{$(LEX) $(LFLAGS)}.
 
 @item Lex for Ratfor programs
 @file{@var{n}.r} is made automatically from @file{@var{n}.l} by
-running Lex.  The actual command is @samp{$(LEX) $(LFLAGS)}.
+running Lex.  The actual recipe is @samp{$(LEX) $(LFLAGS)}.
 
 The convention of using the same suffix @samp{.l} for all Lex files
@@ -8572,6 +8585,6 @@
 @pindex .ln
 @file{@var{n}.ln} is made from @file{@var{n}.c} by running @code{lint}.
-The precise command is @w{@samp{$(LINT) $(LINTFLAGS) $(CPPFLAGS) -i}}.
-The same command is used on the C code produced from
+The precise recipe is @w{@samp{$(LINT) $(LINTFLAGS) $(CPPFLAGS) -i}}.
+The same recipe is used on the C code produced from
 @file{@var{n}.y} or @file{@var{n}.l}.@refill
 
@@ -8589,5 +8602,5 @@
 @pindex .w
 @pindex .ch
-@file{@var{n}.dvi} is made from @file{@var{n}.tex} with the command
+@file{@var{n}.dvi} is made from @file{@var{n}.tex} with the recipe
 @samp{$(TEX)}.  @file{@var{n}.tex} is made from @file{@var{n}.web} with
 @samp{$(WEAVE)}, or from @file{@var{n}.w} (and from @file{@var{n}.ch} if
@@ -8607,8 +8620,8 @@
 @pindex .txinfo
 @file{@var{n}.dvi} is made from @file{@var{n}.texinfo},
-@file{@var{n}.texi}, or @file{@var{n}.txinfo}, with the command
+@file{@var{n}.texi}, or @file{@var{n}.txinfo}, with the recipe
 @w{@samp{$(TEXI2DVI) $(TEXI2DVI_FLAGS)}}.  @file{@var{n}.info} is made from
 @file{@var{n}.texinfo}, @file{@var{n}.texi}, or @file{@var{n}.txinfo}, with
-the command @w{@samp{$(MAKEINFO) $(MAKEINFO_FLAGS)}}.
+the recipe @w{@samp{$(MAKEINFO) $(MAKEINFO_FLAGS)}}.
 
 @item RCS
@@ -8618,5 +8631,5 @@
 Any file @file{@var{n}} is extracted if necessary from an RCS file
 named either @file{@var{n},v} or @file{RCS/@var{n},v}.  The precise
-command used is @w{@samp{$(CO) $(COFLAGS)}}.  @file{@var{n}} will not be
+recipe used is @w{@samp{$(CO) $(COFLAGS)}}.  @file{@var{n}} will not be
 extracted from RCS if it already exists, even if the RCS file is
 newer.  The rules for RCS are terminal
@@ -8631,5 +8644,5 @@
 Any file @file{@var{n}} is extracted if necessary from an SCCS file
 named either @file{s.@var{n}} or @file{SCCS/s.@var{n}}.  The precise
-command used is @w{@samp{$(GET) $(GFLAGS)}}.  The rules for SCCS are
+recipe used is @w{@samp{$(GET) $(GFLAGS)}}.  The rules for SCCS are
 terminal (@pxref{Match-Anything Rules, ,Match-Anything Pattern Rules}),
 so SCCS files cannot be generated from another source; they must
@@ -8652,7 +8665,7 @@
 above, which are documented in the following section.
 
-However, the commands in built-in implicit rules actually use
+However, the recipes in built-in implicit rules actually use
 variables such as @code{COMPILE.c}, @code{LINK.p}, and
-@code{PREPROCESS.S}, whose values contain the commands listed above.
+@code{PREPROCESS.S}, whose values contain the recipes listed above.
 
 @code{make} follows the convention that the rule to compile a
@@ -8679,5 +8692,5 @@
 @cindex flags for compilers
 
-The commands in built-in implicit rules make liberal use of certain
+The recipes in built-in implicit rules make liberal use of certain
 predefined variables.  You can alter the values of these variables in
 the makefile, with arguments to @code{make}, or in the environment to
@@ -8686,5 +8699,5 @@
 the @samp{-R} or @samp{--no-builtin-variables} option.
 
-For example, the command used to compile a C source file actually says
+For example, the recipe used to compile a C source file actually says
 @samp{$(CC) -c $(CFLAGS) $(CPPFLAGS)}.  The default values of the variables
 used are @samp{cc} and nothing, resulting in the command @samp{cc -c}.  By
@@ -8705,5 +8718,5 @@
 The following tables describe of some of the more commonly-used predefined
 variables.  This list is not exhaustive, and the default values shown here may
-not be what are selected by @code{make} for your environment.  To see the
+not be what @code{make} selects for your environment.  To see the
 complete list of predefined variables for your instance of GNU @code{make} you
 can run @samp{make -p} in a directory with no makefiles.
@@ -8999,5 +9012,5 @@
 * Pattern Examples::            Examples of pattern rules.
 * Automatic Variables::         How to use automatic variables in the
-                                  commands of implicit rules.
+                                  recipes of implicit rules.
 * Pattern Match::               How patterns match.
 * Match-Anything Rules::        Precautions you should take prior to
@@ -9036,5 +9049,5 @@
 
 @example
-%.o : %.c ; @var{command}@dots{}
+%.o : %.c ; @var{recipe}@dots{}
 @end example
 
@@ -9054,14 +9067,15 @@
 
 @c !!! The end of of this paragraph should be rewritten.  --bob
-Pattern rules may have more than one target.  Unlike normal rules, this
-does not act as many different rules with the same prerequisites and
-commands.  If a pattern rule has multiple targets, @code{make} knows that
-the rule's commands are responsible for making all of the targets.  The
-commands are executed only once to make all the targets.  When searching
-for a pattern rule to match a target, the target patterns of a rule other
-than the one that matches the target in need of a rule are incidental:
-@code{make} worries only about giving commands and prerequisites to the file
-presently in question.  However, when this file's commands are run, the
-other targets are marked as having been updated themselves.
+Pattern rules may have more than one target.  Unlike normal rules,
+this does not act as many different rules with the same prerequisites
+and recipe.  If a pattern rule has multiple targets, @code{make} knows
+that the rule's recipe is responsible for making all of the targets.
+The recipe is executed only once to make all the targets.  When
+searching for a pattern rule to match a target, the target patterns of
+a rule other than the one that matches the target in need of a rule
+are incidental: @code{make} worries only about giving a recipe and
+prerequisites to the file presently in question.  However, when this
+file's recipe is run, the other targets are marked as having been
+updated themselves.
 @cindex multiple targets, in pattern rule
 @cindex target, multiple in pattern rule
@@ -9091,5 +9105,5 @@
 @noindent
 defines a rule that can make any file @file{@var{x}.o} from
-@file{@var{x}.c}.  The command uses the automatic variables @samp{$@@} and
+@file{@var{x}.c}.  The recipe uses the automatic variables @samp{$@@} and
 @samp{$<} to substitute the names of the target file and the source file
 in each case where the rule applies (@pxref{Automatic Variables}).@refill
@@ -9122,9 +9136,9 @@
 @noindent
 @c The following paragraph is rewritten to avoid overfull hboxes
-This tells @code{make} that the command @samp{bison -d @var{x}.y} will
+This tells @code{make} that the recipe @samp{bison -d @var{x}.y} will
 make both @file{@var{x}.tab.c} and @file{@var{x}.tab.h}.  If the file
 @file{foo} depends on the files @file{parse.tab.o} and @file{scan.o}
 and the file @file{scan.o} depends on the file @file{parse.tab.h},
-when @file{parse.y} is changed, the command @samp{bison -d parse.y}
+when @file{parse.y} is changed, the recipe @samp{bison -d parse.y}
 will be executed only once, and the prerequisites of both
 @file{parse.tab.o} and @file{scan.o} will be satisfied.  (Presumably
@@ -9142,5 +9156,5 @@
 Suppose you are writing a pattern rule to compile a @samp{.c} file into a
 @samp{.o} file: how do you write the @samp{cc} command so that it operates
-on the right source file name?  You cannot write the name in the command,
+on the right source file name?  You cannot write the name in the recipe,
 because the name is different each time the implicit rule is applied.
 
@@ -9155,5 +9169,5 @@
 It's very important that you recognize the limited scope in which
 automatic variable values are available: they only have values within
-the command script.  In particular, you cannot use them anywhere
+the recipe.  In particular, you cannot use them anywhere
 within the target list of a rule; they have no value there and will
 expand to the empty string.  Also, they cannot be accessed directly
@@ -9174,5 +9188,5 @@
 rule that has multiple targets (@pxref{Pattern Intro, ,Introduction to
 Pattern Rules}), @samp{$@@} is the name of whichever target caused the
-rule's commands to be run.
+rule's recipe to be run.
 
 @vindex $%
@@ -9187,5 +9201,5 @@
 @vindex < @r{(automatic variable)}
 @item $<
-The name of the first prerequisite.  If the target got its commands from
+The name of the first prerequisite.  If the target got its recipe from
 an implicit rule, this will be the first prerequisite added by the
 implicit rule (@pxref{Implicit Rules}).
@@ -9196,5 +9210,5 @@
 The names of all the prerequisites that are newer than the target, with
 spaces between them.  For prerequisites which are archive members, only
-the member named is used (@pxref{Archives}).
+the named member is used (@pxref{Archives}).
 @cindex prerequisites, list of changed
 @cindex list of changed prerequisites
@@ -9204,5 +9218,5 @@
 @item $^
 The names of all the prerequisites, with spaces between them.  For
-prerequisites which are archive members, only the member named is used
+prerequisites which are archive members, only the named member is used
 (@pxref{Archives}).  A target has only one prerequisite on each other file
 it depends on, no matter how many times each file is listed as a
@@ -9453,5 +9467,5 @@
 Special built-in dummy pattern rules are provided solely to recognize
 certain file names so that nonterminal match-anything rules will not be
-considered.  These dummy rules have no prerequisites and no commands, and
+considered.  These dummy rules have no prerequisites and no recipes, and
 they are ignored for all other purposes.  For example, the built-in
 implicit rule
@@ -9474,10 +9488,10 @@
 You can override a built-in implicit rule (or one you have defined
 yourself) by defining a new pattern rule with the same target and
-prerequisites, but different commands.  When the new rule is defined, the
+prerequisites, but a different recipe.  When the new rule is defined, the
 built-in one is replaced.  The new rule's position in the sequence of
 implicit rules is determined by where you write the new rule.
 
 You can cancel a built-in implicit rule by defining a pattern rule with the
-same target and prerequisites, but no commands.  For example, the following
+same target and prerequisites, but no recipe.  For example, the following
 would cancel the rule that runs the assembler:
 
@@ -9495,5 +9509,5 @@
 Rules}).  This is just like any other pattern rule; the only thing
 special about it is that it will match any target.  So such a rule's
-commands are used for all targets and prerequisites that have no commands
+recipe is used for all targets and prerequisites that have no recipe
 of their own and for which no other implicit rule applies.
 
@@ -9511,12 +9525,12 @@
 
 @findex .DEFAULT
-You can instead define commands to be used for targets for which there
-are no rules at all, even ones which don't specify commands.  You do
+You can instead define a recipe to be used for targets for which there
+are no rules at all, even ones which don't specify recipes.  You do
 this by writing a rule for the target @code{.DEFAULT}.  Such a rule's
-commands are used for all prerequisites which do not appear as targets in
+recipe is used for all prerequisites which do not appear as targets in
 any explicit rule, and for which no implicit rule applies.  Naturally,
 there is no @code{.DEFAULT} rule unless you write one.
 
-If you use @code{.DEFAULT} with no commands or prerequisites:
+If you use @code{.DEFAULT} with no recipe or prerequisites:
 
 @example
@@ -9525,11 +9539,11 @@
 
 @noindent
-the commands previously stored for @code{.DEFAULT} are cleared.
-Then @code{make} acts as if you had never defined @code{.DEFAULT} at all.
-
-If you do not want a target to get the commands from a match-anything
-pattern rule or @code{.DEFAULT}, but you also do not want any commands
-to be run for the target, you can give it empty commands (@pxref{Empty
-Commands, ,Defining Empty Commands}).@refill
+the recipe previously stored for @code{.DEFAULT} is cleared.  Then
+@code{make} acts as if you had never defined @code{.DEFAULT} at all.
+
+If you do not want a target to get the recipe from a match-anything
+pattern rule or @code{.DEFAULT}, but you also do not want any recipe
+to be run for the target, you can give it an empty recipe
+(@pxref{Empty Recipes, ,Defining Empty Recipes}).@refill
 
 You can use a last-resort rule to override part of another makefile.
@@ -9599,8 +9613,8 @@
 @samp{.o} files using this pattern rule also depend on @file{foo.h}.
 
-Suffix rules with no commands are also meaningless.  They do not remove
-previous rules as do pattern rules with no commands (@pxref{Canceling
-Rules, , Canceling Implicit Rules}).  They simply enter the suffix or pair of suffixes concatenated as
-a target in the data base.@refill
+Suffix rules with no recipe are also meaningless.  They do not remove
+previous rules as do pattern rules with no recipe (@pxref{Canceling
+Rules, , Canceling Implicit Rules}).  They simply enter the suffix or
+pair of suffixes concatenated as a target in the data base.@refill
 
 @findex .SUFFIXES
@@ -9645,6 +9659,6 @@
 Here is the procedure @code{make} uses for searching for an implicit rule
 for a target @var{t}.  This procedure is followed for each double-colon
-rule with no commands, for each target of ordinary rules none of which have
-commands, and for each prerequisite that is not the target of any rule.  It
+rule with no recipe, for each target of ordinary rules none of which have
+a recipe, and for each prerequisite that is not the target of any rule.  It
 is also followed recursively for prerequisites that come from implicit
 rules, in the search for a chain of rules.
@@ -9675,5 +9689,5 @@
 
 @item
-Remove from the list all rules with no commands.
+Remove from the list all rules with no recipe.
 
 @item
@@ -9725,19 +9739,19 @@
 @item
 If no implicit rule applies, the rule for @code{.DEFAULT}, if any,
-applies.  In that case, give @var{t} the same commands that
-@code{.DEFAULT} has.  Otherwise, there are no commands for @var{t}.
+applies.  In that case, give @var{t} the same recipe that
+@code{.DEFAULT} has.  Otherwise, there is no recipe for @var{t}.
 @end enumerate
 
-Once a rule that applies has been found, for each target pattern of the
-rule other than the one that matched @var{t} or @var{n}, the @samp{%} in
-the pattern is replaced with @var{s} and the resultant file name is stored
-until the commands to remake the target file @var{t} are executed.  After
-these commands are executed, each of these stored file names are entered
-into the data base and marked as having been updated and having the same
-update status as the file @var{t}.
-
-When the commands of a pattern rule are executed for @var{t}, the automatic
-variables are set corresponding to the target and prerequisites.
-@xref{Automatic Variables}.
+Once a rule that applies has been found, for each target pattern of
+the rule other than the one that matched @var{t} or @var{n}, the
+@samp{%} in the pattern is replaced with @var{s} and the resultant
+file name is stored until the recipe to remake the target file @var{t}
+is executed.  After the recipe is executed, each of these stored file
+names are entered into the data base and marked as having been updated
+and having the same update status as the file @var{t}.
+
+When the recipe of a pattern rule is executed for @var{t}, the
+automatic variables are set corresponding to the target and
+prerequisites.  @xref{Automatic Variables}.
 
 @node Archives, Features, Implicit Rules, Top
@@ -9771,10 +9785,11 @@
 @noindent
 This construct is available only in targets and prerequisites, not in
-commands!  Most programs that you might use in commands do not support this
-syntax and cannot act directly on archive members.  Only @code{ar} and
-other programs specifically designed to operate on archives can do so.
-Therefore, valid commands to update an archive member target probably must
-use @code{ar}.  For example, this rule says to create a member
-@file{hack.o} in archive @file{foolib} by copying the file @file{hack.o}:
+recipes!  Most programs that you might use in recipes do not support
+this syntax and cannot act directly on archive members.  Only
+@code{ar} and other programs specifically designed to operate on
+archives can do so.  Therefore, valid recipes to update an archive
+member target probably must use @code{ar}.  For example, this rule
+says to create a member @file{hack.o} in archive @file{foolib} by
+copying the file @file{hack.o}:
 
 @example
@@ -9829,5 +9844,5 @@
 @samp{(} and @samp{)} from being interpreted specially by the shell) in
 the presence of a file @file{bar.c} is enough to cause the following
-commands to be run, even without a makefile:
+recipe to be run, even without a makefile:
 
 @example
@@ -9847,5 +9862,5 @@
 it may be useful in a makefile to pretend that it does.  If you write an
 archive member target @file{foo.a(dir/file.o)}, @code{make} will perform
-automatic updating with this command:
+automatic updating with this recipe:
 
 @example
@@ -9912,5 +9927,5 @@
 
 Possibly a future version of @code{make} will provide a mechanism to
-circumvent this problem by serializing all commands that operate on the
+circumvent this problem by serializing all recipes that operate on the
 same archive file.  But for the time being, you must either write your
 makefiles to avoid this problem in some other way, or not use @code{-j}.
@@ -10018,5 +10033,5 @@
 
 @item
-The command-line options @samp{-b} and @samp{-m}, accepted and
+The command line options @samp{-b} and @samp{-m}, accepted and
 ignored.  In System V @code{make}, these options actually do something.
 
@@ -10035,5 +10050,5 @@
 @item
 The arrangement of lines and backslash-newline combinations in
-commands is retained when the commands are printed, so they appear as
+recipes is retained when the recipes are printed, so they appear as
 they do in the makefile, except for the stripping of initial
 whitespace.
@@ -10069,10 +10084,10 @@
 The ``what if'' flag (@samp{-W} in GNU @code{make}) was (as far as we know)
 invented by Andrew Hume in @code{mk}.
-@xref{Instead of Execution, ,Instead of Executing the Commands}.
+@xref{Instead of Execution, ,Instead of Executing the Recipes}.
 
 @item
 The concept of doing several things at once (parallelism) exists in
 many incarnations of @code{make} and similar programs, though not in the
-System V or BSD implementations.  @xref{Execution, ,Command Execution}.
+System V or BSD implementations.  @xref{Execution, ,Recipe Execution}.
 
 @item
@@ -10086,8 +10101,7 @@
 
 @item
-The special significance of @samp{+} characters preceding command lines
-(@pxref{Instead of Execution, ,Instead of Executing the Commands}) is
-mandated by
-@cite{IEEE Standard 1003.2-1992} (POSIX.2).
+The special significance of @samp{+} characters preceding recipe lines
+(@pxref{Instead of Execution, ,Instead of Executing the Recipes}) is
+mandated by @cite{IEEE Standard 1003.2-1992} (POSIX.2).
 
 @item
@@ -10123,5 +10137,5 @@
 
 @item
-Pass command-line variable assignments automatically through the
+Pass command line variable assignments automatically through the
 variable @code{MAKE} to recursive @code{make} invocations.
 @xref{Recursion, ,Recursive Use of @code{make}}.
@@ -10255,8 +10269,9 @@
 
 @item
-In System V and 4.3 BSD @code{make}, files found by @code{VPATH} search
-(@pxref{Directory Search, ,Searching Directories for Prerequisites}) have their names changed inside command
-strings.  We feel it is much cleaner to always use automatic variables
-and thus make this feature obsolete.@refill
+In System V and 4.3 BSD @code{make}, files found by @code{VPATH}
+search (@pxref{Directory Search, ,Searching Directories for
+Prerequisites}) have their names changed inside recipes.  We feel it
+is much cleaner to always use automatic variables and thus make this
+feature obsolete.@refill
 
 @item
@@ -10269,7 +10284,7 @@
 
 @item
-In some Unix @code{make}s, implicit rule search
-(@pxref{Implicit Rules, ,Using Implicit Rules}) is apparently done for
-@emph{all} targets, not just those without commands.  This means you can
+In some Unix @code{make}s, implicit rule search (@pxref{Implicit
+Rules, ,Using Implicit Rules}) is apparently done for @emph{all}
+targets, not just those without recipes.  This means you can
 do:@refill
 
@@ -10295,7 +10310,7 @@
 
 @item
-It appears that in SVR4 @code{make}, a suffix rule can be specified with
-no commands, and it is treated as if it had empty commands
-(@pxref{Empty Commands}).  For example:
+It appears that in SVR4 @code{make}, a suffix rule can be specified
+with no recipe, and it is treated as if it had an empty recipe
+(@pxref{Empty Recipes}).  For example:
 
 @example
@@ -10306,5 +10321,5 @@
 will override the built-in @file{.c.a} suffix rule.
 
-We feel that it is cleaner for a rule without commands to always simply
+We feel that it is cleaner for a rule without a recipe to always simply
 add to the prerequisite list for the target.  The above example can be
 easily rewritten to get the desired behavior in GNU @code{make}:
@@ -10319,5 +10334,5 @@
 Program}).  The @samp{-e} flag tells the shell to exit as soon as any
 program it runs returns a nonzero status.  We feel it is cleaner to
-write each shell command line to stand on its own and not require this
+write each line of the recipe to stand on its own and not require this
 special treatment.
 @end itemize
@@ -10571,10 +10586,10 @@
 newer than the target, with spaces between them.
 For prerequisites which are archive members, only
-the member named is used (@pxref{Archives}).
+the named member is used (@pxref{Archives}).
 
 @item $^
 @itemx $+
 The names of all the prerequisites, with spaces between them.  For
-prerequisites which are archive members, only the member named is used
+prerequisites which are archive members, only the named member is used
 (@pxref{Archives}).  The value of @code{$^} omits duplicate
 prerequisites, while @code{$+} retains them and preserves their order.
@@ -10630,5 +10645,5 @@
 The name of the system default command interpreter, usually @file{/bin/sh}.
 You can set @code{SHELL} in the makefile to change the shell used to run
-commands.  @xref{Execution, ,Command Execution}.  The @code{SHELL}
+recipes.  @xref{Execution, ,Recipe Execution}.  The @code{SHELL}
 variable is handled specially when importing from and exporting to the
 environment.  @xref{Choosing the Shell}.
@@ -10642,7 +10657,7 @@
 @item MAKE
 
-The name with which @code{make} was invoked.
-Using this variable in commands has special meaning.
-@xref{MAKE Variable, ,How the @code{MAKE} Variable Works}.
+The name with which @code{make} was invoked.  Using this variable in
+recipes has special meaning.  @xref{MAKE Variable, ,How the
+@code{MAKE} Variable Works}.
 
 @item MAKELEVEL
@@ -10657,6 +10672,6 @@
 @xref{Options/Recursion, ,Communicating Options to a Sub-@code{make}}.
 
-It is @emph{never} appropriate to use @code{MAKEFLAGS} directly on a
-command line: its contents may not be quoted correctly for use in the
+It is @emph{never} appropriate to use @code{MAKEFLAGS} directly in a
+recipe line: its contents may not be quoted correctly for use in the
 shell.  Always allow recursive @code{make}'s to obtain these values
 through the environment from its parent.
@@ -10694,6 +10709,6 @@
 
 Sometimes @code{make} errors are not fatal, especially in the presence
-of a @code{-} prefix on a command script line, or the @code{-k} command
-line option.  Errors that are fatal are prefixed with the string
+of a @code{-} prefix on a recipe line, or the @code{-k} command line
+option.  Errors that are fatal are prefixed with the string
 @code{***}.
 
@@ -10709,8 +10724,8 @@
 @itemx [@var{foo}] @var{signal description}
 These errors are not really @code{make} errors at all.  They mean that a
-program that @code{make} invoked as part of a command script returned a
+program that @code{make} invoked as part of a recipe returned a
 non-0 error code (@samp{Error @var{NN}}), which @code{make} interprets
 as failure, or it exited in some other abnormal fashion (with a
-signal of some type).  @xref{Errors, ,Errors in Commands}.
+signal of some type).  @xref{Errors, ,Errors in Recipes}.
 
 If no @code{***} is attached to the message, then the subprocess failed
@@ -10720,24 +10735,25 @@
 @item missing separator.  Stop.
 @itemx missing separator (did you mean TAB instead of 8 spaces?).  Stop.
-This means that @code{make} could not understand much of anything about
-the command line it just read.  GNU @code{make} looks for various kinds
-of separators (@code{:}, @code{=}, TAB characters, etc.) to help it
-decide what kind of commandline it's seeing.  This means it couldn't
-find a valid one.
-
-One of the most common reasons for this message is that you (or perhaps
-your oh-so-helpful editor, as is the case with many MS-Windows editors)
-have attempted to indent your command scripts with spaces instead of a
-TAB character.  In this case, @code{make} will use the second form of
-the error above.  Remember that every line in the command script must
-begin with a TAB character.  Eight spaces do not count.  @xref{Rule
-Syntax}.
-
-@item commands commence before first target.  Stop.
-@itemx missing rule before commands.  Stop.
-This means the first thing in the makefile seems to be part of a command
-script: it begins with a TAB character and doesn't appear to be a legal
-@code{make} command (such as a variable assignment).  Command scripts
-must always be associated with a target.
+This means that @code{make} could not understand much of anything
+about the makefile line it just read.  GNU @code{make} looks for
+various separators (@code{:}, @code{=}, recipe prefix characters,
+etc.) to indicate what kind of line it's parsing.  This message means
+it couldn't find a valid one.
+
+One of the most common reasons for this message is that you (or
+perhaps your oh-so-helpful editor, as is the case with many MS-Windows
+editors) have attempted to indent your recipe lines with spaces
+instead of a tab character.  In this case, @code{make} will use the
+second form of the error above.  Remember that every line in the
+recipe must begin with a tab character (unless you set
+@code{.CMDPREFIX}; @pxref{Special Variables}).  Eight spaces do not
+count.  @xref{Rule Syntax}.
+
+@item recipe commences before first target.  Stop.
+@itemx missing rule before recipe.  Stop.
+This means the first thing in the makefile seems to be part of a
+recipe: it begins with a recipe prefix character and doesn't appear to
+be a legal @code{make} directive (such as a variable assignment).
+Recipes must always be associated with a target.
 
 The second form is generated if the line has a semicolon as the first
@@ -10771,11 +10787,11 @@
 (second form) was not found.
 
-@item warning: overriding commands for target `@var{xxx}'
-@itemx warning: ignoring old commands for target `@var{xxx}'
-GNU @code{make} allows commands to be specified only once per target
-(except for double-colon rules).  If you give commands for a target
-which already has been defined to have commands, this warning is issued
-and the second set of commands will overwrite the first set.
-@xref{Multiple Rules, ,Multiple Rules for One Target}.
+@item warning: overriding recipe for target `@var{xxx}'
+@itemx warning: ignoring old recipe for target `@var{xxx}'
+GNU @code{make} allows only one recipe to be specified per target
+(except for double-colon rules).  If you give a recipe for a target
+which already has been defined to have one, this warning is issued and
+the second recipe will overwrite the first.  @xref{Multiple Rules,
+,Multiple Rules for One Target}.
 
 @item Circular @var{xxx} <- @var{yyy} dependency dropped.
@@ -11017,5 +11033,4 @@
 
 @group
-.PHONY: tar
 tar:    $(OBJS)
         $(CC) $(LDFLAGS) -o $@@ $(OBJS) $(LIBS)
@@ -11118,7 +11133,8 @@
 @end example
 
-@raisesections
+@node GNU Free Documentation License, Concept Index, Complex Makefile, Top
+@appendixsec GNU Free Documentation License
+@cindex FDL, GNU Free Documentation License
 @include fdl.texi
-@lowersections
 
 @node Concept Index, Name Index, GNU Free Documentation License, Top
Index: vendor/gnumake/current/dosbuild.bat
===================================================================
--- vendor/gnumake/current/dosbuild.bat	(revision 901)
+++ vendor/gnumake/current/dosbuild.bat	(revision 1989)
@@ -1,18 +1,19 @@
 @echo off
-rem Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free
-rem Software Foundation, Inc.
+rem Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+rem Free Software Foundation, Inc.
 rem This file is part of GNU Make.
-
-rem GNU Make is free software; you can redistribute it and/or modify it under the
-rem terms of the GNU General Public License as published by the Free Software
-rem Foundation; either version 2, or (at your option) any later version.
-
-rem GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
-rem WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-rem A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
-
-rem You should have received a copy of the GNU General Public License along with
-rem GNU Make; see the file COPYING.  If not, write to the Free Software
-rem Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+rem
+rem GNU Make is free software; you can redistribute it and/or modify it under
+rem the terms of the GNU General Public License as published by the Free
+rem Software Foundation; either version 3 of the License, or (at your option)
+rem any later version.
+rem
+rem GNU Make is distributed in the hope that it will be useful, but WITHOUT
+rem ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+rem FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for.
+rem more details.
+rem
+rem You should have received a copy of the GNU General Public License along
+rem with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 echo Building Make for MSDOS
Index: vendor/gnumake/current/expand.c
===================================================================
--- vendor/gnumake/current/expand.c	(revision 901)
+++ vendor/gnumake/current/expand.c	(revision 1989)
@@ -1,5 +1,5 @@
 /* Variable expansion functions for GNU Make.
 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
 Foundation, Inc.
 This file is part of GNU Make.
@@ -7,5 +7,6 @@
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -14,6 +15,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "make.h"
@@ -466,18 +466,23 @@
 {
   char *result;
-  struct variable_set_list *save;
+  struct variable_set_list *savev;
+  const struct floc *savef;
 
   if (file == 0)
     return variable_expand (line);
 
-  save = current_variable_set_list;
+  savev = current_variable_set_list;
   current_variable_set_list = file->variables;
+
+  savef = reading_file;
   if (file->cmds && file->cmds->fileinfo.filenm)
     reading_file = &file->cmds->fileinfo;
   else
     reading_file = 0;
+
   result = variable_expand (line);
-  current_variable_set_list = save;
-  reading_file = 0;
+
+  current_variable_set_list = savev;
+  reading_file = savef;
 
   return result;
Index: vendor/gnumake/current/file.c
===================================================================
--- vendor/gnumake/current/file.c	(revision 901)
+++ vendor/gnumake/current/file.c	(revision 1989)
@@ -1,5 +1,5 @@
 /* Target file management for GNU Make.
 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
 Foundation, Inc.
 This file is part of GNU Make.
@@ -7,5 +7,6 @@
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -14,6 +15,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "make.h"
@@ -257,10 +257,10 @@
           if (to_file->cmds->fileinfo.filenm != 0)
             error (&from_file->cmds->fileinfo,
-                   _("Commands were specified for file `%s' at %s:%lu,"),
+                   _("Recipe was specified for file `%s' at %s:%lu,"),
                    from_file->name, to_file->cmds->fileinfo.filenm,
                    to_file->cmds->fileinfo.lineno);
           else
             error (&from_file->cmds->fileinfo,
-                   _("Commands for file `%s' were found by implicit rule search,"),
+                   _("Recipe for file `%s' was found by implicit rule search,"),
                    from_file->name);
           error (&from_file->cmds->fileinfo,
@@ -268,5 +268,5 @@
                  from_file->name, to_hname);
           error (&from_file->cmds->fileinfo,
-                 _("Commands for `%s' will be ignored in favor of those for `%s'."),
+                 _("Recipe for `%s' will be ignored in favor of the one for `%s'."),
                  to_hname, from_file->name);
         }
@@ -362,5 +362,5 @@
         /* Is this file eligible for automatic deletion?
            Yes, IFF: it's marked intermediate, it's not secondary, it wasn't
-           given on the command-line, and it's either a -include makefile or
+           given on the command line, and it's either a -include makefile or
            it's not precious.  */
 	if (f->intermediate && (f->dontcare || !f->precious)
@@ -487,4 +487,5 @@
           p = variable_expand ("");
           variable_buffer_output (p, d->name, strlen (d->name) + 1);
+          p = variable_buffer;
         }
       else
@@ -499,5 +500,6 @@
               o = subst_expand (buffer, d->name, "%", "$*", 1, 2, 0);
 
-              d->name = strcache_add_len (buffer, o - buffer);
+              d->name = strcache_add_len (variable_buffer,
+                                          o - variable_buffer);
               d->staticpattern = 0; /* Clear staticpattern so that we don't
                                        re-expand %s below. */
@@ -901,5 +903,5 @@
     puts (_("#  Phony target (prerequisite of .PHONY)."));
   if (f->cmd_target)
-    puts (_("#  Command-line target."));
+    puts (_("#  Command line target."));
   if (f->dontcare)
     puts (_("#  A default, MAKEFILES, or -include/sinclude makefile."));
@@ -935,8 +937,8 @@
     {
     case cs_running:
-      puts (_("#  Commands currently running (THIS IS A BUG)."));
+      puts (_("#  Recipe currently running (THIS IS A BUG)."));
       break;
     case cs_deps_running:
-      puts (_("#  Dependencies commands running (THIS IS A BUG)."));
+      puts (_("#  Dependencies recipe running (THIS IS A BUG)."));
       break;
     case cs_not_started:
Index: vendor/gnumake/current/filedef.h
===================================================================
--- vendor/gnumake/current/filedef.h	(revision 901)
+++ vendor/gnumake/current/filedef.h	(revision 1989)
@@ -1,5 +1,5 @@
 /* Definition of target file data structures for GNU Make.
 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
 Foundation, Inc.
 This file is part of GNU Make.
@@ -7,5 +7,6 @@
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -14,6 +15,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 
Index: vendor/gnumake/current/function.c
===================================================================
--- vendor/gnumake/current/function.c	(revision 901)
+++ vendor/gnumake/current/function.c	(revision 1989)
@@ -1,5 +1,5 @@
 /* Builtin function expansion for GNU Make.
 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
 Foundation, Inc.
 This file is part of GNU Make.
@@ -7,5 +7,6 @@
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -14,6 +15,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "make.h"
@@ -1609,5 +1609,6 @@
 #ifndef __MSDOS__
   /* Construct the argument list.  */
-  command_argv = construct_command_argv (argv[0], NULL, NULL, &batch_filename);
+  command_argv = construct_command_argv (argv[0], NULL, NULL, 0,
+                                         &batch_filename);
   if (command_argv == 0)
     return o;
@@ -1793,6 +1794,6 @@
 
   /* Construct the argument list.  */
-  command_argv = construct_command_argv (argv[0], (char **) NULL,
-                                         (struct file *) 0, &batch_filename);
+  command_argv = construct_command_argv (argv[0], NULL, NULL, 0,
+                                         &batch_filename);
   if (command_argv == 0)
     return o;
Index: vendor/gnumake/current/getloadavg.c
===================================================================
--- vendor/gnumake/current/getloadavg.c	(revision 901)
+++ vendor/gnumake/current/getloadavg.c	(revision 1989)
@@ -1,20 +1,18 @@
 /* Get the system load averages.
 Copyright (C) 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
-1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free
-Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
+1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+Free Software Foundation, Inc.
+
+GNU Make is free software; you can redistribute it and/or modify it under the
+terms of the GNU General Public License as published by the Free Software
+Foundation; either version 3 of the License, or (at your option) any later
+version.
+
+GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
-this program; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* Compile-time symbols that this file uses:
Index: vendor/gnumake/current/getopt.c
===================================================================
--- vendor/gnumake/current/getopt.c	(revision 901)
+++ vendor/gnumake/current/getopt.c	(revision 1989)
@@ -5,5 +5,5 @@
 
 Copyright (C) 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
-1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
 Foundation, Inc.
 
@@ -11,17 +11,15 @@
 Bugs can be reported to bug-glibc@gnu.org.
 
-This program is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option) any
-later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
+GNU Make is free software; you can redistribute it and/or modify it under the
+terms of the GNU General Public License as published by the Free Software
+Foundation; either version 3 of the License, or (at your option) any later
+version.
+
+GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
-this program; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* This tells Alpha OSF/1 not to define a getopt prototype in <stdio.h>.
Index: vendor/gnumake/current/getopt.h
===================================================================
--- vendor/gnumake/current/getopt.h	(revision 901)
+++ vendor/gnumake/current/getopt.h	(revision 1989)
@@ -1,22 +1,21 @@
 /* Declarations for getopt.
 Copyright (C) 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation,
+Inc.
 
 NOTE: The canonical source of this file is maintained with the GNU C Library.
 Bugs can be reported to bug-glibc@gnu.org.
 
-This program is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option) any
-later version.
+GNU Make is free software; you can redistribute it and/or modify it under the
+terms of the GNU General Public License as published by the Free Software
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
+GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
-this program; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef _GETOPT_H
Index: vendor/gnumake/current/getopt1.c
===================================================================
--- vendor/gnumake/current/getopt1.c	(revision 901)
+++ vendor/gnumake/current/getopt1.c	(revision 1989)
@@ -1,5 +1,5 @@
 /* getopt_long and getopt_long_only entry points for GNU getopt.
 Copyright (C) 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
 Foundation, Inc.
 
@@ -7,17 +7,15 @@
 Bugs can be reported to bug-glibc@gnu.org.
 
-This program is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option) any
-later version.
+GNU Make is free software; you can redistribute it and/or modify it under the
+terms of the GNU General Public License as published by the Free Software
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
+GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
-this program; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 
Index: vendor/gnumake/current/gettext.h
===================================================================
--- vendor/gnumake/current/gettext.h	(revision 901)
+++ vendor/gnumake/current/gettext.h	(revision 1989)
@@ -1,10 +1,11 @@
 /* Convenience header for conditional use of GNU <libintl.h>.
 Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005,
-2006 Free Software Foundation, Inc.
+2006, 2007 Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -13,6 +14,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef _LIBGETTEXT_H
Index: vendor/gnumake/current/glob/ChangeLog
===================================================================
--- vendor/gnumake/current/glob/ChangeLog	(revision 901)
+++ vendor/gnumake/current/glob/ChangeLog	(revision 1989)
@@ -1,6 +1,11 @@
+2007-12-22  Juan Manuel Guerrero  <juan.guerrero@gmx.de>  (tiny change)
+
+	* glob/glob.c [__GNU_LIBRARY__ && __DJGPP__]: Add a realloc
+	declaration that matches the one in the DJGPP libc.
+
 2006-02-24  Eli Zaretskii  <eliz@gnu.org>
 
 	* glob.c (my_malloc) [WINDOWS32]: Provide a full ISO C prototype,
-        to avoid compiler warnings.
+	to avoid compiler warnings.
 
 2005-06-25  Paul D. Smith  <psmith@gnu.org>
@@ -154,10 +159,10 @@
 
 	* posix/fnmatch.c (fnmatch): Fix \*[*?]+ case to increment name ptr
- 	only for ?s, not for *s.  Fix from Chet Ramey.
+	only for ?s, not for *s.  Fix from Chet Ramey.
 
 
 
 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
 Foundation, Inc.
 This file is part of GNU Make.
@@ -165,5 +170,6 @@
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -172,4 +178,3 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+this program.  If not, see <http://www.gnu.org/licenses/>.
Index: vendor/gnumake/current/glob/Makefile.am
===================================================================
--- vendor/gnumake/current/glob/Makefile.am	(revision 901)
+++ vendor/gnumake/current/glob/Makefile.am	(revision 1989)
@@ -1,18 +1,19 @@
 # -*-Makefile-*-, or close enough
 # Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 # This file is part of GNU Make.
 #
-# GNU Make is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2, or (at your option) any later version.
+# GNU Make is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 3 of the License, or (at your option) any later
+# version.
 #
 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+# details.
 #
 # You should have received a copy of the GNU General Public License along with
-# GNU Make; see the file COPYING.  If not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+# this program.  If not, see <http://www.gnu.org/licenses/>.
 
 AUTOMAKE_OPTIONS =	foreign
Index: vendor/gnumake/current/glob/Makefile.ami
===================================================================
--- vendor/gnumake/current/glob/Makefile.ami	(revision 901)
+++ vendor/gnumake/current/glob/Makefile.ami	(revision 1989)
@@ -1,18 +1,19 @@
 # Makefile for standalone libglob.a (fnmatch, glob).             -*-Makefile-*-
 # Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006 Free Software Foundation, Inc.
+# 2005, 2006, 2007 Free Software Foundation, Inc.
 # This file is part of GNU Make.
 #
-# GNU Make is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2, or (at your option) any later version.
+# GNU Make is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 3 of the License, or (at your option) any later
+# version.
 #
 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+# details.
 #
 # You should have received a copy of the GNU General Public License along with
-# GNU Make; see the file COPYING.  If not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+# this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Ultrix 2.2 make doesn't expand the value of VPATH.
Index: vendor/gnumake/current/glob/SMakefile
===================================================================
--- vendor/gnumake/current/glob/SMakefile	(revision 901)
+++ vendor/gnumake/current/glob/SMakefile	(revision 1989)
@@ -1,18 +1,19 @@
 # Makefile for standalone distribution of libglob.a (fnmatch, glob).
 # Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006 Free Software Foundation, Inc.
+# 2005, 2006, 2007 Free Software Foundation, Inc.
 # This file is part of GNU Make.
 #
-# GNU Make is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2, or (at your option) any later version.
+# GNU Make is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 3 of the License, or (at your option) any later
+# version.
 #
 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+# details.
 #
 # You should have received a copy of the GNU General Public License along with
-# GNU Make; see the file COPYING.  If not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+# this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Ultrix 2.2 make doesn't expand the value of VPATH.
Index: vendor/gnumake/current/glob/configure.bat
===================================================================
--- vendor/gnumake/current/glob/configure.bat	(revision 901)
+++ vendor/gnumake/current/glob/configure.bat	(revision 1989)
@@ -1,20 +1,19 @@
 @echo off
 rem Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
-rem 2004, 2005, 2006 Free Software Foundation, Inc.
+rem 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 rem This file is part of GNU Make.
-
+rem
 rem GNU Make is free software; you can redistribute it and/or modify it under
 rem the terms of the GNU General Public License as published by the Free
-rem Software Foundation; either version 2, or (at your option) any later
-rem version.
-
+rem Software Foundation; either version 3 of the License, or (at your option)
+rem any later version.
+rem
 rem GNU Make is distributed in the hope that it will be useful, but WITHOUT
 rem ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-rem FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+rem FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for.
 rem more details.
-
+rem
 rem You should have received a copy of the GNU General Public License along
-rem with GNU Make; see the file COPYING.  If not, write to the Free Software
-rem Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+rem with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 echo Configuring glob for DJGPP
Index: vendor/gnumake/current/glob/fnmatch.c
===================================================================
--- vendor/gnumake/current/glob/fnmatch.c	(revision 901)
+++ vendor/gnumake/current/glob/fnmatch.c	(revision 1989)
@@ -1,3 +1,4 @@
-/* Copyright (C) 1991, 92, 93, 96, 97, 98, 99 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1993, 1996, 1997, 1998, 1999 Free Software
+Foundation, Inc.
 This file is part of the GNU C Library.
 
Index: vendor/gnumake/current/glob/fnmatch.h
===================================================================
--- vendor/gnumake/current/glob/fnmatch.h	(revision 901)
+++ vendor/gnumake/current/glob/fnmatch.h	(revision 1989)
@@ -1,3 +1,4 @@
-/* Copyright (C) 1991, 92, 93, 96, 97, 98, 99 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1993, 1996, 1997, 1998, 1999 Free Software
+Foundation, Inc.
 This file is part of the GNU C Library.
 
Index: vendor/gnumake/current/glob/glob.c
===================================================================
--- vendor/gnumake/current/glob/glob.c	(revision 901)
+++ vendor/gnumake/current/glob/glob.c	(revision 1989)
@@ -1,3 +1,4 @@
-/* Copyright (C) 1991,92,93,94,95,96,97,98,99 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999 Free
+Software Foundation, Inc.
 
 This library is free software; you can redistribute it and/or
@@ -190,4 +191,7 @@
 static void *
 my_realloc (void *p, unsigned int n)
+#  elif defined(__DJGPP__)
+static void *
+my_realloc (void *p, size_t n)
 #  else
 static char *
@@ -195,5 +199,5 @@
      char *p;
      unsigned int n;
-# endif
+#  endif
 {
   /* These casts are the for sake of the broken Ultrix compiler,
Index: vendor/gnumake/current/glob/glob.h
===================================================================
--- vendor/gnumake/current/glob/glob.h	(revision 901)
+++ vendor/gnumake/current/glob/glob.h	(revision 1989)
@@ -1,3 +1,4 @@
-/* Copyright (C) 1991, 92, 95, 96, 97, 98 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1995, 1996, 1997, 1998 Free Software Foundation,
+Inc.
 
 The GNU C Library is free software; you can redistribute it and/or
Index: vendor/gnumake/current/hash.c
===================================================================
--- vendor/gnumake/current/hash.c	(revision 901)
+++ vendor/gnumake/current/hash.c	(revision 1989)
@@ -1,19 +1,17 @@
 /* hash.c -- hash table maintenance
-   Copyright (C) 1995, 1999, 2002 Free Software Foundation, Inc.
-   Written by Greg McGary <gkm@gnu.org> <greg@mcgary.org>
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
+Copyright (C) 1995, 1999, 2002 Free Software Foundation, Inc.
+Written by Greg McGary <gkm@gnu.org> <greg@mcgary.org>
+
+GNU Make is free software; you can redistribute it and/or modify it under the
+terms of the GNU General Public License as published by the Free Software
+Foundation; either version 3 of the License, or (at your option) any later
+version.
+
+GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
-this program; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "make.h"
Index: vendor/gnumake/current/hash.h
===================================================================
--- vendor/gnumake/current/hash.h	(revision 901)
+++ vendor/gnumake/current/hash.h	(revision 1989)
@@ -3,17 +3,15 @@
 Written by Greg McGary <gkm@gnu.org> <greg@mcgary.org>
 
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
+GNU Make is free software; you can redistribute it and/or modify it under the
+terms of the GNU General Public License as published by the Free Software
+Foundation; either version 3 of the License, or (at your option) any later
+version.
+
+GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License along with
-this program; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef _hash_h_
Index: vendor/gnumake/current/implicit.c
===================================================================
--- vendor/gnumake/current/implicit.c	(revision 901)
+++ vendor/gnumake/current/implicit.c	(revision 1989)
@@ -1,5 +1,5 @@
 /* Implicit rule searching for GNU Make.
 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
 Foundation, Inc.
 This file is part of GNU Make.
@@ -7,5 +7,6 @@
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -14,6 +15,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "make.h"
Index: vendor/gnumake/current/job.c
===================================================================
--- vendor/gnumake/current/job.c	(revision 901)
+++ vendor/gnumake/current/job.c	(revision 1989)
@@ -1,5 +1,5 @@
 /* Job execution and handling for GNU Make.
 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
 Foundation, Inc.
 This file is part of GNU Make.
@@ -7,5 +7,6 @@
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -14,6 +15,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "make.h"
@@ -1023,5 +1023,7 @@
     argv = p;
 #else
-    argv = construct_command_argv (p, &end, child->file, &child->sh_batch_file);
+    argv = construct_command_argv (p, &end, child->file,
+				   child->file->cmds->lines_flags[child->command_line - 1],
+				   &child->sh_batch_file);
 #endif
     if (end == NULL)
@@ -1729,11 +1731,11 @@
 
   /* The job is now primed.  Start it running.
-     (This will notice if there are in fact no commands.)  */
+     (This will notice if there is in fact no recipe.)  */
   if (cmds->fileinfo.filenm)
-    DB (DB_BASIC, (_("Invoking commands from %s:%lu to update target `%s'.\n"),
+    DB (DB_BASIC, (_("Invoking recipe from %s:%lu to update target `%s'.\n"),
                    cmds->fileinfo.filenm, cmds->fileinfo.lineno,
                    c->file->name));
   else
-    DB (DB_BASIC, (_("Invoking builtin commands to update target `%s'.\n"),
+    DB (DB_BASIC, (_("Invoking builtin recipe to update target `%s'.\n"),
                    c->file->name));
 
@@ -1908,5 +1910,5 @@
 
 /* EMX: Start a child process. This function returns the new pid.  */
-# if defined __MSDOS__ || defined __EMX__
+# if defined __EMX__
 int
 child_execute_job (int stdin_fd, int stdout_fd, char **argv, char **envp)
@@ -2211,9 +2213,15 @@
 
    SHELL is the shell to use, or nil to use the default shell.
-   IFS is the value of $IFS, or nil (meaning the default).  */
+   IFS is the value of $IFS, or nil (meaning the default).
+
+   FLAGS is the value of lines_flags for this command line.  It is
+   used in the WINDOWS32 port to check whether + or $(MAKE) were found
+   in this command line, in which case the effect of just_print_flag
+   is overridden.  */
 
 static char **
 construct_command_argv_internal (char *line, char **restp, char *shell,
-                                 char *ifs, char **batch_filename_ptr)
+                                 char *ifs, int flags,
+				 char **batch_filename_ptr)
 {
 #ifdef __MSDOS__
@@ -2464,7 +2472,4 @@
                   *(ap++) = *p;
                 }
-              /* If there's a command prefix char here, skip it.  */
-              if (p[1] == cmd_prefix)
-                ++p;
             }
 	  else if (*p == '\n' && restp != NULL)
@@ -2514,9 +2519,4 @@
                 ++p;
 
-		/* If there is a command prefix after a backslash-newline,
-		   remove it.  */
-		if (p[1] == cmd_prefix)
-                  ++p;
-
                 /* If there's nothing in this argument yet, skip any
                    whitespace before the start of the next word.  */
@@ -2746,7 +2746,6 @@
 	else if (*p == '\\' && p[1] == '\n')
 	  {
-	    /* POSIX says we keep the backslash-newline, but throw out
-               the next char if it's a TAB.  If we don't have a POSIX
-               shell on DOS/Windows/OS2, mimic the pre-POSIX behavior
+	    /* POSIX says we keep the backslash-newline.  If we don't have a
+               POSIX shell on DOS/Windows/OS2, mimic the pre-POSIX behavior
                and remove the backslash/newline.  */
 #if defined (__MSDOS__) || defined (__EMX__) || defined (WINDOWS32)
@@ -2758,12 +2757,12 @@
 	      {
 		*(ap++) = '\\';
-		*(ap++) = '\\';
+		/* Only non-batch execution needs another backslash,
+		   because it will be passed through a recursive
+		   invocation of this function.  */
+		if (!batch_mode_shell)
+		  *(ap++) = '\\';
 		*(ap++) = '\n';
 	      }
-
 	    ++p;
-	    if (p[1] == cmd_prefix)
-	      ++p;
-
 	    continue;
 	  }
@@ -2795,5 +2794,5 @@
        command line (e.g. Cygnus GNUWIN32 sh.exe on WIN32 systems).  In these
        cases, run commands via a script file.  */
-    if (just_print_flag) {
+    if (just_print_flag && !(flags & COMMANDS_RECURSE)) {
       /* Need to allocate new_argv, although it's unused, because
         start_job_command will want to free it and its 0'th element.  */
@@ -2823,4 +2822,6 @@
       fputc ('\n', batch);
       fclose (batch);
+      DB (DB_JOBS, (_("Batch file contents:%s\n\t%s\n"),
+		    !unixy_shell ? "\n\t@echo off" : "", command_ptr));
 
       /* create argv */
@@ -2837,5 +2838,5 @@
 #endif /* WINDOWS32 */
     if (unixy_shell)
-      new_argv = construct_command_argv_internal (new_line, 0, 0, 0, 0);
+      new_argv = construct_command_argv_internal (new_line, 0, 0, 0, flags, 0);
 #ifdef __EMX__
     else if (!unixy_shell)
@@ -2852,10 +2853,5 @@
           {
             if (q[0] == '\\' && q[1] == '\n')
-              {
-                q += 2; /* remove '\\' and '\n' */
-		/* Remove any command prefix in the next line */
-                if (q[0] == cmd_prefix)
-                  q++;
-              }
+              q += 2; /* remove '\\' and '\n' */
             else
               *p++ = *q++;
@@ -2948,5 +2944,5 @@
 char **
 construct_command_argv (char *line, char **restp, struct file *file,
-                        char **batch_filename_ptr)
+                        int cmd_flags, char **batch_filename_ptr)
 {
   char *shell, *ifs;
@@ -3060,5 +3056,6 @@
   }
 
-  argv = construct_command_argv_internal (line, restp, shell, ifs, batch_filename_ptr);
+  argv = construct_command_argv_internal (line, restp, shell, ifs,
+                                          cmd_flags, batch_filename_ptr);
 
   free (shell);
Index: vendor/gnumake/current/job.h
===================================================================
--- vendor/gnumake/current/job.h	(revision 901)
+++ vendor/gnumake/current/job.h	(revision 1989)
@@ -1,10 +1,11 @@
 /* Definitions for managing subprocesses in GNU Make.
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -13,6 +14,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef SEEN_JOB_H
@@ -71,5 +71,6 @@
 void start_waiting_jobs (void);
 
-char **construct_command_argv (char *line, char **restp, struct file *file, char** batch_file);
+char **construct_command_argv (char *line, char **restp, struct file *file,
+                               int cmd_flags, char** batch_file);
 #ifdef VMS
 int child_execute_job (char *argv, struct child *child);
Index: vendor/gnumake/current/main.c
===================================================================
--- vendor/gnumake/current/main.c	(revision 901)
+++ vendor/gnumake/current/main.c	(revision 1989)
@@ -7,5 +7,6 @@
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -14,6 +15,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "make.h"
@@ -323,5 +323,5 @@
   -h, --help                  Print this message and exit.\n"),
     N_("\
-  -i, --ignore-errors         Ignore errors from commands.\n"),
+  -i, --ignore-errors         Ignore errors from recipes.\n"),
     N_("\
   -I DIRECTORY, --include-dir=DIRECTORY\n\
@@ -338,5 +338,5 @@
     N_("\
   -n, --just-print, --dry-run, --recon\n\
-                              Don't actually run any commands; just print them.\n"),
+                              Don't actually run any recipe; just print them.\n"),
     N_("\
   -o FILE, --old-file=FILE, --assume-old=FILE\n\
@@ -345,5 +345,5 @@
   -p, --print-data-base       Print make's internal database.\n"),
     N_("\
-  -q, --question              Run no commands; exit status says if up to date.\n"),
+  -q, --question              Run no recipe; exit status says if up to date.\n"),
     N_("\
   -r, --no-builtin-rules      Disable the built-in implicit rules.\n"),
@@ -351,5 +351,5 @@
   -R, --no-builtin-variables  Disable the built-in variable settings.\n"),
     N_("\
-  -s, --silent, --quiet       Don't echo commands.\n"),
+  -s, --silent, --quiet       Don't echo recipes.\n"),
     N_("\
   -S, --no-keep-going, --stop\n\
@@ -1122,4 +1122,5 @@
   define_variable (".VARIABLES", 10, "", o_default, 0)->special = 1;
   /* define_variable (".TARGETS", 8, "", o_default, 0)->special = 1; */
+  define_variable (".RECIPEPREFIX", 13, "", o_default, 0)->special = 1;
 
   /* Set up .FEATURES */
@@ -2964,4 +2965,12 @@
     return;
 
+  printf ("%sGNU Make %s\n", precede, version_string);
+
+  if (!remote_description || *remote_description == '\0')
+    printf (_("%sBuilt for %s\n"), precede, make_host);
+  else
+    printf (_("%sBuilt for %s (%s)\n"),
+            precede, make_host, remote_description);
+
   /* Print this untranslated.  The coding standards recommend translating the
      (C) to the copyright symbol, but this string is going to change every
@@ -2969,18 +2978,10 @@
      word "Copyright", so it hardly seems worth it.  */
 
-  printf ("%sGNU Make %s\n\
-%sCopyright (C) 2006  Free Software Foundation, Inc.\n",
-          precede, version_string, precede);
-
-  printf (_("%sThis is free software; see the source for copying conditions.\n\
-%sThere is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n\
-%sPARTICULAR PURPOSE.\n"),
+  printf ("%sCopyright (C) 2007  Free Software Foundation, Inc.\n", precede);
+
+  printf (_("%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n\
+%sThis is free software: you are free to change and redistribute it.\n\
+%sThere is NO WARRANTY, to the extent permitted by law.\n"),
             precede, precede, precede);
-
-  if (!remote_description || *remote_description == '\0')
-    printf (_("\n%sThis program built for %s\n"), precede, make_host);
-  else
-    printf (_("\n%sThis program built for %s (%s)\n"),
-            precede, make_host, remote_description);
 
   printed_version = 1;
Index: vendor/gnumake/current/maintMakefile
===================================================================
--- vendor/gnumake/current/maintMakefile	(revision 901)
+++ vendor/gnumake/current/maintMakefile	(revision 1989)
@@ -136,5 +136,5 @@
 #   ftp://tiger.informatik.hu-berlin.de/pub/po/maint/
 
-po_repo = http://www.iro.umontreal.ca/translation/maint/$(PACKAGE)
+po_repo = http://translationproject.org/latest/$(PACKAGE)
 .PHONY: do-po-update po-update
 do-po-update:
@@ -270,13 +270,14 @@
 # This file is part of GNU Make.
 #
-# GNU Make is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2, or (at your option) any later version.
+# GNU Make is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 3 of the License, or (at your option) any later
+# version.
 #
 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+# details.
 #
 # You should have received a copy of the GNU General Public License along with
-# GNU Make; see the file COPYING.  If not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+# this program.  If not, see <http://www.gnu.org/licenses/>.
Index: vendor/gnumake/current/make.1
===================================================================
--- vendor/gnumake/current/make.1	(revision 901)
+++ vendor/gnumake/current/make.1	(revision 1989)
@@ -341,25 +341,18 @@
 Mike Frysinger.
 .SH "COPYRIGHT"
-Copyright (C) 1992, 1993, 1996, 1999 Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1996, 1999, 2007 Free Software Foundation, Inc.
 This file is part of GNU
 .IR make .
 .LP
-GNU
-.I make
-is free software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the Free
-Software Foundation; either version 2, or (at your option) any later
+GNU Make is free software; you can redistribute it and/or modify it under the
+terms of the GNU General Public License as published by the Free Software
+Foundation; either version 3 of the License, or (at your option) any later
 version.
 .LP
-GNU
-.I make
-is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-.LP
-You should have received a copy of the GNU General Public License
-along with GNU
-.IR make ;
-see the file COPYING.  If not, write to the Free Software Foundation,
-Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+.LP
+You should have received a copy of the GNU General Public License along with
+this program.  If not, see
+.IR http://www.gnu.org/licenses/ .
Index: vendor/gnumake/current/make.h
===================================================================
--- vendor/gnumake/current/make.h	(revision 901)
+++ vendor/gnumake/current/make.h	(revision 1989)
@@ -1,5 +1,5 @@
 /* Miscellaneous global declarations and portability cruft for GNU Make.
 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
 Foundation, Inc.
 This file is part of GNU Make.
@@ -7,5 +7,6 @@
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -14,6 +15,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* We use <config.h> instead of "config.h" so that a compilation
@@ -330,5 +330,5 @@
 
 void sync_Path_environment (void);
-int kill (int pid, int sig);
+int w32_kill (int pid, int sig);
 char *end_of_token_w32 (const char *s, char stopchar);
 int find_and_set_default_shell (const char *token);
@@ -498,4 +498,7 @@
 extern int batch_mode_shell;
 
+/* Resetting the command script introduction prefix character.  */
+#define RECIPEPREFIX_NAME          ".RECIPEPREFIX"
+#define RECIPEPREFIX_DEFAULT       '\t'
 extern char cmd_prefix;
 
Index: vendor/gnumake/current/makefile.com
===================================================================
--- vendor/gnumake/current/makefile.com	(revision 901)
+++ vendor/gnumake/current/makefile.com	(revision 1989)
@@ -140,16 +140,17 @@
 $!-----------------------------------------------------------------------------
 $!Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-$!2006 Free Software Foundation, Inc.
+$!2006, 2007 Free Software Foundation, Inc.
 $!This file is part of GNU Make.
 $!
-$!GNU Make is free software; you can redistribute it and/or modify it under the
-$!terms of the GNU General Public License as published by the Free Software
-$!Foundation; either version 2, or (at your option) any later version.
+$!GNU Make is free software; you can redistribute it and/or modify it under
+$!the terms of the GNU General Public License as published by the Free Software
+$!Foundation; either version 3 of the License, or (at your option) any later
+$!version.
 $!
 $!GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
-$!WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-$!A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+$!WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+$!FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+$!details.
 $!
 $!You should have received a copy of the GNU General Public License along with
-$!GNU Make; see the file COPYING.  If not, write to the Free Software
-$!Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+$!this program.  If not, see <http://www.gnu.org/licenses/>.
Index: vendor/gnumake/current/makefile.vms
===================================================================
--- vendor/gnumake/current/makefile.vms	(revision 901)
+++ vendor/gnumake/current/makefile.vms	(revision 1989)
@@ -2,18 +2,19 @@
 #
 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-# 2006 Free Software Foundation, Inc.
+# 2006, 2007 Free Software Foundation, Inc.
 # This file is part of GNU Make.
 #
-# GNU Make is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2, or (at your option) any later version.
+# GNU Make is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 3 of the License, or (at your option) any later
+# version.
 #
 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+# details.
 #
 # You should have received a copy of the GNU General Public License along with
-# GNU Make; see the file COPYING.  If not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+# this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # VMS extensions from GNU Make 3.60 imported by
Index: vendor/gnumake/current/misc.c
===================================================================
--- vendor/gnumake/current/misc.c	(revision 901)
+++ vendor/gnumake/current/misc.c	(revision 1989)
@@ -1,5 +1,5 @@
 /* Miscellaneous generic support functions for GNU Make.
 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
 Foundation, Inc.
 This file is part of GNU Make.
@@ -7,5 +7,6 @@
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -14,6 +15,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "make.h"
Index: vendor/gnumake/current/po/ChangeLog
===================================================================
--- vendor/gnumake/current/po/ChangeLog	(revision 901)
+++ vendor/gnumake/current/po/ChangeLog	(revision 1989)
@@ -1,2 +1,11 @@
+2008-05-17  Paul Smith  <psmith@gnu.org>
+
+	* LINGUAS: Added new translation for Lithuanian (lt).
+
+2007-08-15  Paul Smith  <psmith@gnu.org>
+
+	* LINGUAS: The Kinyarwanda (rw) translation has disappeared from
+	the translation site, so remove it.
+
 2006-01-28  Paul D. Smith  <psmith@gnu.org>
 
@@ -54,10 +63,11 @@
 
 
-Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -66,4 +76,3 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+this program.  If not, see <http://www.gnu.org/licenses/>.
Index: vendor/gnumake/current/po/LINGUAS
===================================================================
--- vendor/gnumake/current/po/LINGUAS	(revision 901)
+++ vendor/gnumake/current/po/LINGUAS	(revision 1989)
@@ -1,5 +1,5 @@
 # Set of available languages: 23 languages
 
-be da de es fi fr ga gl he hr id ja ko nl pl pt_BR ru rw sv tr uk vi zh_CN
+be da de es fi fr ga gl he hr id ja ko lt nl pl pt_BR ru sv tr uk vi zh_CN
 
 # Can't seem to get en@quot and en@boldquot to build properly?
Index: vendor/gnumake/current/po/Makevars
===================================================================
--- vendor/gnumake/current/po/Makevars	(revision 901)
+++ vendor/gnumake/current/po/Makevars	(revision 1989)
@@ -1,17 +1,19 @@
 # This is a -*-Makefile-*-
-# Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation,
+# Inc.
 # This file is part of GNU Make.
 #
-# GNU Make is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2, or (at your option) any later version.
+# GNU Make is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free
+# Software Foundation; either version 3 of the License, or (at your option)
+# any later version.
 #
 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+# details.
 #
 # You should have received a copy of the GNU General Public License along with
-# GNU Make; see the file COPYING.  If not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+# this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
Index: vendor/gnumake/current/po/POTFILES.in
===================================================================
--- vendor/gnumake/current/po/POTFILES.in	(revision 901)
+++ vendor/gnumake/current/po/POTFILES.in	(revision 1989)
@@ -1,18 +1,19 @@
 # List of source files containing translatable strings.
-# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
 # Foundation, Inc.
 # This file is part of GNU Make.
 #
-# GNU Make is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2, or (at your option) any later version.
+# GNU Make is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 3 of the License, or (at your option) any later
+# version.
 #
 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+# details.
 #
 # You should have received a copy of the GNU General Public License along with
-# GNU Make; see the file COPYING.  If not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+# this program.  If not, see <http://www.gnu.org/licenses/>.
 
 ar.c
Index: vendor/gnumake/current/read.c
===================================================================
--- vendor/gnumake/current/read.c	(revision 901)
+++ vendor/gnumake/current/read.c	(revision 1989)
@@ -1,5 +1,5 @@
 /* Reading and parsing of makefiles for GNU Make.
 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
 Foundation, Inc.
 This file is part of GNU Make.
@@ -7,5 +7,6 @@
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -14,6 +15,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "make.h"
@@ -468,5 +468,5 @@
 #define record_waiting_files()						      \
   do									      \
-    { 									      \
+    {									      \
       if (filenames != 0)						      \
         {                                                                     \
@@ -541,16 +541,29 @@
 		continue;
 
-	      /* Append this command line to the line being accumulated.  */
+	      /* Append this command line to the line being accumulated.
+                 Strip command prefix chars that appear after newlines.  */
 	      if (commands_idx == 0)
 		cmds_started = ebuf->floc.lineno;
 
-	      if (linelen + 1 + commands_idx > commands_len)
+	      if (linelen + commands_idx > commands_len)
 		{
-		  commands_len = (linelen + 1 + commands_idx) * 2;
+		  commands_len = (linelen + commands_idx) * 2;
 		  commands = xrealloc (commands, commands_len);
 		}
-	      memcpy (&commands[commands_idx], line, linelen);
-	      commands_idx += linelen;
-	      commands[commands_idx++] = '\n';
+              p = &commands[commands_idx];
+              p2 = line + 1;
+              while (--linelen)
+                {
+                  ++commands_idx;
+                  *(p++) = *p2;
+                  if (p2[0] == '\n' && p2[1] == cmd_prefix)
+                    {
+                      ++p2;
+                      --linelen;
+                    }
+                  ++p2;
+                }
+              *p = '\n';
+              ++commands_idx;
 
 	      continue;
@@ -575,5 +588,5 @@
 
       /* Compare a word, both length and contents. */
-#define	word1eq(s) 	(wlen == sizeof(s)-1 && strneq (s, p, sizeof(s)-1))
+#define	word1eq(s)	(wlen == sizeof(s)-1 && strneq (s, p, sizeof(s)-1))
       p = collapsed;
       while (isspace ((unsigned char)*p))
@@ -613,5 +626,5 @@
       if (!in_ignored_define)
 	{
- 	  int i = conditional_line (p, wlen, fstart);
+	  int i = conditional_line (p, wlen, fstart);
           if (i != -2)
             {
@@ -849,5 +862,5 @@
          variable definition.  But now we know it is definitely lossage.  */
       if (line[0] == cmd_prefix)
-        fatal(fstart, _("commands commence before first target"));
+        fatal(fstart, _("recipe commences before first target"));
 
       /* This line describes some target files.  This is complicated by
@@ -900,5 +913,5 @@
           case w_eol:
             if (cmdleft != 0)
-              fatal(fstart, _("missing rule before commands"));
+              fatal(fstart, _("missing rule before recipe"));
             /* This line contained something but turned out to be nothing
                but whitespace (a comment?).  */
@@ -988,6 +1001,6 @@
                  one of the most common bugs found in makefiles...  */
               fatal (fstart, _("missing separator%s"),
-                     !strneq(line, "        ", 8) ? ""
-                     : _(" (did you mean TAB instead of 8 spaces?)"));
+                     (cmd_prefix == '\t' && !strneq(line, "        ", 8))
+                     ? "" : _(" (did you mean TAB instead of 8 spaces?)"));
             continue;
           }
@@ -1881,5 +1894,5 @@
      See Savannah bug # 12124.  */
   if (snapped_deps)
-    fatal (flocp, _("prerequisites cannot be defined in command scripts"));
+    fatal (flocp, _("prerequisites cannot be defined in recipes"));
 
   if (commands_idx > 0)
@@ -1981,8 +1994,8 @@
 	    {
 	      error (&cmds->fileinfo,
-                     _("warning: overriding commands for target `%s'"),
+                     _("warning: overriding recipe for target `%s'"),
                      f->name);
 	      error (&f->cmds->fileinfo,
-                     _("warning: ignoring old commands for target `%s'"),
+                     _("warning: ignoring old recipe for target `%s'"),
                      f->name);
 	    }
@@ -2425,4 +2438,5 @@
       /* Add it to the front of the chain.  */
       new1 = xmalloc (size);
+      memset (new1, '\0', size);
       new1->name = name;
       new1->next = new;
@@ -2977,5 +2991,5 @@
           if (len > max_incl_len)
             max_incl_len = len;
-          dirs[idx++] = strcache_add_len (*cpp, len - 1);
+          dirs[idx++] = strcache_add_len (*cpp, len);
         }
     }
Index: vendor/gnumake/current/readme.vms
===================================================================
--- vendor/gnumake/current/readme.vms	(revision 901)
+++ vendor/gnumake/current/readme.vms	(revision 1989)
@@ -300,10 +300,11 @@
 -------------------------------------------------------------------------------
 Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006 Free Software Foundation, Inc.
+2006, 2007 Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -312,4 +313,3 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+this program.  If not, see <http://www.gnu.org/licenses/>.
Index: vendor/gnumake/current/remake.c
===================================================================
--- vendor/gnumake/current/remake.c	(revision 901)
+++ vendor/gnumake/current/remake.c	(revision 1989)
@@ -1,5 +1,5 @@
 /* Basic dependency engine for GNU Make.
 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
 Foundation, Inc.
 This file is part of GNU Make.
@@ -7,5 +7,6 @@
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -14,6 +15,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "make.h"
@@ -464,5 +464,5 @@
       && default_file != 0 && default_file->cmds != 0)
     {
-      DBF (DB_IMPLICIT, _("Using default commands for `%s'.\n"));
+      DBF (DB_IMPLICIT, _("Using default recipe for `%s'.\n"));
       file->cmds = default_file->cmds;
     }
@@ -715,5 +715,5 @@
       must_make = 0;
       DBF (DB_VERBOSE,
-           _("No commands for `%s' and no prerequisites actually changed.\n"));
+           _("No recipe for `%s' and no prerequisites actually changed.\n"));
     }
   else if (!must_make && file->cmds != 0 && always_make_flag)
@@ -765,5 +765,5 @@
   if (file->command_state != cs_finished)
     {
-      DBF (DB_VERBOSE, _("Commands of `%s' are being run.\n"));
+      DBF (DB_VERBOSE, _("Recipe of `%s' is being run.\n"));
       return 0;
     }
@@ -988,4 +988,10 @@
              file on whose behalf we are checking.  */
 	  struct dep *lastd;
+          int deps_running = 0;
+
+          /* Reset this target's state so that we check it fresh.  It could be
+             that it's already been checked as part of an order-only
+             prerequisite and so wasn't rebuilt then, but should be now.  */
+          set_command_state (file, cs_not_started);
 
 	  lastd = 0;
@@ -1026,12 +1032,15 @@
 	      if (d->file->command_state == cs_running
 		  || d->file->command_state == cs_deps_running)
-		/* Record that some of FILE's deps are still being made.
-		   This tells the upper levels to wait on processing it until
-		   the commands are finished.  */
-		set_command_state (file, cs_deps_running);
+		deps_running = 1;
 
 	      lastd = d;
 	      d = d->next;
 	    }
+
+          if (deps_running)
+            /* Record that some of FILE's deps are still being made.
+               This tells the upper levels to wait on processing it until the
+               commands are finished.  */
+            set_command_state (file, cs_deps_running);
 	}
     }
@@ -1302,6 +1311,12 @@
                  + ((FILE_TIMESTAMP_NS (mtime) - FILE_TIMESTAMP_NS (now))
                     / 1e9));
-              error (NILF, _("Warning: File `%s' has modification time %.2g s in the future"),
-                     file->name, from_now);
+              char from_now_string[100];
+
+              if (from_now >= 99 && from_now <= ULONG_MAX)
+                sprintf (from_now_string, "%lu", (unsigned long) from_now);
+              else
+                sprintf (from_now_string, "%.2g", from_now);
+              error (NILF, _("Warning: File `%s' has modification time %s s in the future"),
+                     file->name, from_now_string);
 #endif
               clock_skew_detected = 1;
Index: vendor/gnumake/current/remote-cstms.c
===================================================================
--- vendor/gnumake/current/remote-cstms.c	(revision 901)
+++ vendor/gnumake/current/remote-cstms.c	(revision 1989)
@@ -5,5 +5,5 @@
 
 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
 Foundation, Inc.
 This file is part of GNU Make.
@@ -11,5 +11,6 @@
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -18,6 +19,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "make.h"
Index: vendor/gnumake/current/remote-stub.c
===================================================================
--- vendor/gnumake/current/remote-stub.c	(revision 901)
+++ vendor/gnumake/current/remote-stub.c	(revision 1989)
@@ -1,5 +1,5 @@
 /* Template for the remote job exportation interface to GNU Make.
 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
 Foundation, Inc.
 This file is part of GNU Make.
@@ -7,5 +7,6 @@
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -14,6 +15,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "make.h"
Index: vendor/gnumake/current/rule.c
===================================================================
--- vendor/gnumake/current/rule.c	(revision 901)
+++ vendor/gnumake/current/rule.c	(revision 1989)
@@ -1,5 +1,5 @@
 /* Pattern and suffix rule internals for GNU Make.
 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
 Foundation, Inc.
 This file is part of GNU Make.
@@ -7,5 +7,6 @@
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -14,6 +15,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "make.h"
Index: vendor/gnumake/current/rule.h
===================================================================
--- vendor/gnumake/current/rule.h	(revision 901)
+++ vendor/gnumake/current/rule.h	(revision 1989)
@@ -1,5 +1,5 @@
 /* Definitions for using pattern rules in GNU Make.
 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
 Foundation, Inc.
 This file is part of GNU Make.
@@ -7,5 +7,6 @@
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -14,6 +15,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 
Index: vendor/gnumake/current/signame.c
===================================================================
--- vendor/gnumake/current/signame.c	(revision 901)
+++ vendor/gnumake/current/signame.c	(revision 1989)
@@ -1,10 +1,11 @@
 /* Convert between signal names and numbers.
 Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -13,6 +14,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "make.h"
Index: vendor/gnumake/current/strcache.c
===================================================================
--- vendor/gnumake/current/strcache.c	(revision 901)
+++ vendor/gnumake/current/strcache.c	(revision 1989)
@@ -1,9 +1,10 @@
 /* Constant string caching for GNU Make.
-Copyright (C) 2006 Free Software Foundation, Inc.
+Copyright (C) 2006, 2007 Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -12,6 +13,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "make.h"
Index: vendor/gnumake/current/subproc.bat
===================================================================
--- vendor/gnumake/current/subproc.bat	(revision 901)
+++ vendor/gnumake/current/subproc.bat	(revision 1989)
@@ -1,20 +1,19 @@
 @echo off
 rem Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-rem 2005, 2006 Free Software Foundation, Inc.
+rem 2005, 2006, 2007 Free Software Foundation, Inc.
 rem This file is part of GNU Make.
-
+rem
 rem GNU Make is free software; you can redistribute it and/or modify it under
 rem the terms of the GNU General Public License as published by the Free
-rem Software Foundation; either version 2, or (at your option) any later
-rem version.
-
+rem Software Foundation; either version 3 of the License, or (at your option)
+rem any later version.
+rem
 rem GNU Make is distributed in the hope that it will be useful, but WITHOUT
 rem ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-rem FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+rem FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for.
 rem more details.
-
+rem
 rem You should have received a copy of the GNU General Public License along
-rem with GNU Make; see the file COPYING.  If not, write to the Free Software
-rem Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+rem with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 cd w32\subproc
Index: vendor/gnumake/current/tests/COPYING
===================================================================
--- vendor/gnumake/current/tests/COPYING	(revision 901)
+++ vendor/gnumake/current/tests/COPYING	(revision 1989)
@@ -1,20 +1,21 @@
-		    GNU GENERAL PUBLIC LICENSE
-		       Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-                          675 Mass Ave, Cambridge, MA 02139, USA
+                    GNU GENERAL PUBLIC LICENSE
+                       Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
-			    Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
+                            Preamble
+
+  The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+  The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works.  By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users.  We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors.  You can apply it to
 your programs, too.
 
@@ -22,268 +23,603 @@
 price.  Our General Public Licenses are designed to make sure that you
 have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+  To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights.  Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
 
   For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received.  You must make sure that they, too, receive
+or can get the source code.  And you must show them these terms so they
+know their rights.
+
+  Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+  For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software.  For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+  Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so.  This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software.  The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable.  Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products.  If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+  Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary.  To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
 
   The precise terms and conditions for copying, distribution and
 modification follow.
 
-
-		    GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
+                       TERMS AND CONDITIONS
+
+  0. Definitions.
+
+  "This License" refers to version 3 of the GNU General Public License.
+
+  "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+  "The Program" refers to any copyrightable work licensed under this
+License.  Each licensee is addressed as "you".  "Licensees" and
+"recipients" may be individuals or organizations.
+
+  To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy.  The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+  A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+  To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy.  Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+  To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies.  Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+  An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License.  If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+  1. Source Code.
+
+  The "source code" for a work means the preferred form of the work
+for making modifications to it.  "Object code" means any non-source
+form of a work.
+
+  A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+  The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form.  A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+  The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities.  However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work.  For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+  The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+  The Corresponding Source for a work in source code form is that
+same work.
+
+  2. Basic Permissions.
+
+  All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met.  This License explicitly affirms your unlimited
+permission to run the unmodified Program.  The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work.  This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+  You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force.  You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright.  Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+  Conveying under any other circumstances is permitted solely under
+the conditions stated below.  Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+  No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+  When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+  4. Conveying Verbatim Copies.
+
+  You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+  You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+  5. Conveying Modified Source Versions.
+
+  You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+    a) The work must carry prominent notices stating that you modified
+    it, and giving a relevant date.
+
+    b) The work must carry prominent notices stating that it is
+    released under this License and any conditions added under section
+    7.  This requirement modifies the requirement in section 4 to
+    "keep intact all notices".
+
+    c) You must license the entire work, as a whole, under this
+    License to anyone who comes into possession of a copy.  This
+    License will therefore apply, along with any applicable section 7
+    additional terms, to the whole of the work, and all its parts,
+    regardless of how they are packaged.  This License gives no
+    permission to license the work in any other way, but it does not
+    invalidate such permission if you have separately received it.
+
+    d) If the work has interactive user interfaces, each must display
+    Appropriate Legal Notices; however, if the Program has interactive
+    interfaces that do not display Appropriate Legal Notices, your
+    work need not make them do so.
+
+  A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit.  Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+  6. Conveying Non-Source Forms.
+
+  You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+    a) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by the
+    Corresponding Source fixed on a durable physical medium
+    customarily used for software interchange.
+
+    b) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by a
+    written offer, valid for at least three years and valid for as
+    long as you offer spare parts or customer support for that product
+    model, to give anyone who possesses the object code either (1) a
+    copy of the Corresponding Source for all the software in the
+    product that is covered by this License, on a durable physical
+    medium customarily used for software interchange, for a price no
+    more than your reasonable cost of physically performing this
+    conveying of source, or (2) access to copy the
+    Corresponding Source from a network server at no charge.
+
+    c) Convey individual copies of the object code with a copy of the
+    written offer to provide the Corresponding Source.  This
+    alternative is allowed only occasionally and noncommercially, and
+    only if you received the object code with such an offer, in accord
+    with subsection 6b.
+
+    d) Convey the object code by offering access from a designated
+    place (gratis or for a charge), and offer equivalent access to the
+    Corresponding Source in the same way through the same place at no
+    further charge.  You need not require recipients to copy the
+    Corresponding Source along with the object code.  If the place to
+    copy the object code is a network server, the Corresponding Source
+    may be on a different server (operated by you or a third party)
+    that supports equivalent copying facilities, provided you maintain
+    clear directions next to the object code saying where to find the
+    Corresponding Source.  Regardless of what server hosts the
+    Corresponding Source, you remain obligated to ensure that it is
+    available for as long as needed to satisfy these requirements.
+
+    e) Convey the object code using peer-to-peer transmission, provided
+    you inform other peers where the object code and Corresponding
+    Source of the work are being offered to the general public at no
+    charge under subsection 6d.
+
+  A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+  A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling.  In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage.  For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product.  A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+  "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source.  The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+  If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information.  But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+  The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed.  Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+  Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+  7. Additional Terms.
+
+  "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law.  If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+  When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it.  (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.)  You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+  Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+    a) Disclaiming warranty or limiting liability differently from the
+    terms of sections 15 and 16 of this License; or
+
+    b) Requiring preservation of specified reasonable legal notices or
+    author attributions in that material or in the Appropriate Legal
+    Notices displayed by works containing it; or
+
+    c) Prohibiting misrepresentation of the origin of that material, or
+    requiring that modified versions of such material be marked in
+    reasonable ways as different from the original version; or
+
+    d) Limiting the use for publicity purposes of names of licensors or
+    authors of the material; or
+
+    e) Declining to grant rights under trademark law for use of some
+    trade names, trademarks, or service marks; or
+
+    f) Requiring indemnification of licensors and authors of that
+    material by anyone who conveys the material (or modified versions of
+    it) with contractual assumptions of liability to the recipient, for
+    any liability that these contractual assumptions directly impose on
+    those licensors and authors.
+
+  All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10.  If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term.  If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+  If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+  Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+  8. Termination.
+
+  You may not propagate or modify a covered work except as expressly
+provided under this License.  Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+  However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+  Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+  Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License.  If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+  9. Acceptance Not Required for Having Copies.
+
+  You are not required to accept this License in order to receive or
+run a copy of the Program.  Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance.  However,
+nothing other than this License grants you permission to propagate or
+modify any covered work.  These actions infringe copyright if you do
+not accept this License.  Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+  10. Automatic Licensing of Downstream Recipients.
+
+  Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License.  You are not responsible
+for enforcing compliance by third parties with this License.
+
+  An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations.  If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+  You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License.  For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+  11. Patents.
+
+  A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based.  The
+work thus licensed is called the contributor's "contributor version".
+
+  A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version.  For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
 this License.
 
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
+  Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+  In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement).  To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+  If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients.  "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+  If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+  A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License.  You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+  Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+  12. No Surrender of Others' Freedom.
+
+  If conditions are imposed on you (whether by court order, agreement or
 otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
+excuse you from the conditions of this License.  If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all.  For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+  13. Use with the GNU Affero General Public License.
+
+  Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work.  The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+  14. Revised Versions of this License.
+
+  The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time.  Such new versions will
 be similar in spirit to the present version, but may differ in detail to
 address new problems or concerns.
 
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-			    NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-		     END OF TERMS AND CONDITIONS
-
-
-	Appendix: How to Apply These Terms to Your New Programs
+  Each version is given a distinguishing version number.  If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation.  If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+  If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+  Later license versions may give you additional or different
+permissions.  However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+  15. Disclaimer of Warranty.
+
+  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. Limitation of Liability.
+
+  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+  17. Interpretation of Sections 15 and 16.
+
+  If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+                     END OF TERMS AND CONDITIONS
+
+            How to Apply These Terms to Your New Programs
 
   If you develop a new program, and you want it to be of the greatest
@@ -293,13 +629,13 @@
   To do so, attach the following notices to the program.  It is safest
 to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
+state the exclusion of warranty; and each file should have at least
 the "copyright" line and a pointer to where the full notice is found.
 
     <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) 19yy  <name of author>
-
-    This program is free software; you can redistribute it and/or modify
+    Copyright (C) <year>  <name of author>
+
+    This program is free software: you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
+    the Free Software Foundation, either version 3 of the License, or
     (at your option) any later version.
 
@@ -310,35 +646,29 @@
 
     You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 Also add information on how to contact you by electronic and paper mail.
 
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-    Gnomovision version 69, Copyright (C) 19yy name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+  If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+    <program>  Copyright (C) <year>  <name of author>
+    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
     This is free software, and you are welcome to redistribute it
     under certain conditions; type `show c' for details.
 
 The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
-Public License instead of this License.
+parts of the General Public License.  Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+  You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+  The GNU General Public License does not permit incorporating your program
+into proprietary programs.  If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.  But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
Index: vendor/gnumake/current/tests/ChangeLog
===================================================================
--- vendor/gnumake/current/tests/ChangeLog	(revision 901)
+++ vendor/gnumake/current/tests/ChangeLog	(revision 1989)
@@ -1,2 +1,48 @@
+2007-11-04  Paul Smith  <psmith@gnu.org>
+
+	* scripts/functions/eval: Update error message for command -> recipe.
+
+	* test_driver.pl (compare_output): Allow the answer to be a regex,
+	if surrounded by '/'.
+	* scripts/misc/close_stdout: Use a regex for the answer, since
+	sometimes the error will have a description and sometimes it won't.
+
+2007-09-10  Paul Smith  <psmith@gnu.org>
+
+	* scripts/variables/special: Add tests for .RECIPEPREFIX variable.
+
+2007-08-15  Paul Smith  <psmith@gnu.org>
+
+	These test cases were contributed by
+	Icarus Sparry <savannah@icarus.freeuk.com> and J. David Bryan for
+	Savannah bugs #3330 and #15919.
+
+	* scripts/targets/SECONDARY: Add tests for Savannah bugs 3330 and
+	15919.
+
+	* scripts/features/parallelism: Add tests for wrong answer/hang
+	combining INTERMEDIATE, order-only prereqs, and parallelism.
+	See Savannah bugs 3330 and 15919.
+
+2007-07-13  Paul Smith  <psmith@gnu.org>
+
+	Install a timeout so tests can never loop infinitely.
+	Original idea and patch for a single-test version provided by
+	Icarus Sparry <savannah@icarus.freeuk.com>
+
+	* test_driver.pl (_run_command): New function: this is called by
+	other functions to actually run a command.  Before we run it,
+	install a SIGALRM handler and set up a timer to go off in the
+	future (default is 5s; this can be overridden by individual tests).
+	(run_command): Call it.
+	(run_command_with_output): Call it.
+
+	* run_make_tests.pl (run_make_with_options): Override the default
+	timeout if the caller requests it.
+	(run_make_test): Pass any timeout override to run_make_with_options.
+
+	* scripts/features/parallelism: Increase the timeout for long tests.
+	* scripts/options/dash-l: Ditto.
+
 2006-10-01  Paul Smith  <psmith@paulandlesley.org>
 
@@ -835,10 +881,11 @@
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -847,4 +894,3 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+this program.  If not, see <http://www.gnu.org/licenses/>.
Index: vendor/gnumake/current/tests/NEWS
===================================================================
--- vendor/gnumake/current/tests/NEWS	(revision 901)
+++ vendor/gnumake/current/tests/NEWS	(revision 1989)
@@ -165,10 +165,11 @@
 -------------------------------------------------------------------------------
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -177,4 +178,3 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+this program.  If not, see <http://www.gnu.org/licenses/>.
Index: vendor/gnumake/current/tests/README
===================================================================
--- vendor/gnumake/current/tests/README	(revision 901)
+++ vendor/gnumake/current/tests/README	(revision 1989)
@@ -9,10 +9,11 @@
  -----------------------------------------------------------------------------
  Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
- 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+ 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
  This file is part of GNU Make.
 
  GNU Make is free software; you can redistribute it and/or modify it under the
  terms of the GNU General Public License as published by the Free Software
- Foundation; either version 2, or (at your option) any later version.
+ Foundation; either version 3 of the License, or (at your option) any later
+ version.
 
  GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -21,6 +22,5 @@
 
  You should have received a copy of the GNU General Public License along with
- GNU Make; see the file COPYING.  If not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ this program.  If not, see <http://www.gnu.org/licenses/>.
  -----------------------------------------------------------------------------
 
Index: vendor/gnumake/current/tests/mkshadow
===================================================================
--- vendor/gnumake/current/tests/mkshadow	(revision 901)
+++ vendor/gnumake/current/tests/mkshadow	(revision 1989)
@@ -5,18 +5,19 @@
 #
 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 # This file is part of GNU Make.
 #
-# GNU Make is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2, or (at your option) any later version.
+# GNU Make is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 3 of the License, or (at your option) any later
+# version.
 #
 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+# details.
 #
 # You should have received a copy of the GNU General Public License along with
-# GNU Make; see the file COPYING.  If not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+# this program.  If not, see <http://www.gnu.org/licenses/>.
 
 case "$1" in
Index: vendor/gnumake/current/tests/run_make_tests.pl
===================================================================
--- vendor/gnumake/current/tests/run_make_tests.pl	(revision 901)
+++ vendor/gnumake/current/tests/run_make_tests.pl	(revision 1989)
@@ -13,18 +13,19 @@
 
 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 # This file is part of GNU Make.
 #
-# GNU Make is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2, or (at your option) any later version.
+# GNU Make is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 3 of the License, or (at your option) any later
+# version.
 #
 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+# details.
 #
 # You should have received a copy of the GNU General Public License along with
-# GNU Make; see the file COPYING.  If not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+# this program.  If not, see <http://www.gnu.org/licenses/>.
 
 $valgrind = 0;              # invoke make with valgrind
@@ -82,5 +83,5 @@
 sub run_make_test
 {
-  local ($makestring, $options, $answer, $err_code) = @_;
+  local ($makestring, $options, $answer, $err_code, $timeout) = @_;
 
   # If the user specified a makefile string, create a new makefile to contain
@@ -121,5 +122,6 @@
   $answer =~ s/#PWD#/$pwd/g;
 
-  &run_make_with_options($makefile, $options, &get_logfile(0), $err_code);
+  run_make_with_options($makefile, $options, &get_logfile(0),
+                        $err_code, $timeout);
   &compare_output($answer, &get_logfile(1));
 
@@ -130,5 +132,5 @@
 # The old-fashioned way...
 sub run_make_with_options {
-  local ($filename,$options,$logname,$expected_code) = @_;
+  local ($filename,$options,$logname,$expected_code,$timeout) = @_;
   local($code);
   local($command) = $make_path;
@@ -151,5 +153,13 @@
   }
 
-  $code = &run_command_with_output($logname,$command);
+
+  {
+      my $old_timeout = $test_timeout;
+      $test_timeout = $timeout if $timeout;
+
+      $code = &run_command_with_output($logname,$command);
+
+      $test_timeout = $old_timeout;
+  }
 
   # Check to see if we have Purify errors.  If so, keep the logfile.
Index: vendor/gnumake/current/tests/scripts/features/parallelism
===================================================================
--- vendor/gnumake/current/tests/scripts/features/parallelism	(revision 901)
+++ vendor/gnumake/current/tests/scripts/features/parallelism	(revision 1989)
@@ -70,4 +70,5 @@
 # for this situation and print a message if it occurred.  This test used
 # to trigger this code when I added it but no longer does after the fix.
+# We have to increase the timeout from the default (5s) on this test.
 
 run_make_test("
@@ -80,5 +81,5 @@
 
 first second: ; \@echo \$\@; $sleep_command 1; echo \$\@",
-              '-j2', "first\nfirst\nsecond\nsecond");
+              '-j2', "first\nfirst\nsecond\nsecond", 0, 7);
 
 # Michael Matz <matz@suse.de> reported a bug where if make is running in
@@ -127,4 +128,18 @@
 
 
+# TEST #9 -- Savannah bugs 3330 and 15919
+# In earlier versions of make this will either give the wrong answer, or hang.
+
+utouch(-10, 'target');
+run_make_test('target: intermed ; touch $@
+
+.INTERMEDIATE: intermed
+intermed: | phony ; touch $@
+
+.PHONY: phony
+phony: ; : phony', '-rR -j', ': phony');
+unlink('target');
+
+
 # Make sure that all jobserver FDs are closed if we need to re-exec the
 # master copy.
Index: vendor/gnumake/current/tests/scripts/functions/eval
===================================================================
--- vendor/gnumake/current/tests/scripts/functions/eval	(revision 901)
+++ vendor/gnumake/current/tests/scripts/functions/eval	(revision 1989)
@@ -164,5 +164,5 @@
 
 run_make_test('deps: ; $(eval deps: foo)', '',
-              '#MAKEFILE#:1: *** prerequisites cannot be defined in command scripts.  Stop.',
+              '#MAKEFILE#:1: *** prerequisites cannot be defined in recipes.  Stop.',
               512);
 
Index: vendor/gnumake/current/tests/scripts/misc/close_stdout
===================================================================
--- vendor/gnumake/current/tests/scripts/misc/close_stdout	(revision 901)
+++ vendor/gnumake/current/tests/scripts/misc/close_stdout	(revision 1989)
@@ -4,5 +4,5 @@
 
 if (-e '/dev/full') {
-  run_make_test('', '-v > /dev/full', '#MAKE#: write error', 256);
+  run_make_test('', '-v > /dev/full', '/^#MAKE#: write error/', 256);
 }
 
Index: vendor/gnumake/current/tests/scripts/options/dash-l
===================================================================
--- vendor/gnumake/current/tests/scripts/options/dash-l	(revision 901)
+++ vendor/gnumake/current/tests/scripts/options/dash-l	(revision 1989)
@@ -46,5 +46,6 @@
 $mkoptions .= " -j 4" if ($parallel_jobs);
 
-&run_make_with_options($makefile, $mkoptions, &get_logfile);
+# We have to wait longer than the default (5s).
+&run_make_with_options($makefile, $mkoptions, &get_logfile, 0, 8);
 
 $slurp = &read_file_into_string (&get_logfile(1));
Index: vendor/gnumake/current/tests/scripts/targets/SECONDARY
===================================================================
--- vendor/gnumake/current/tests/scripts/targets/SECONDARY	(revision 901)
+++ vendor/gnumake/current/tests/scripts/targets/SECONDARY	(revision 1989)
@@ -122,4 +122,68 @@
 unlink('version2');
 
+# TEST #9 -- Savannah bug #15919
+# The original fix for this bug caused a new bug, shown here.
+
+touch(qw(1.a 2.a));
+
+run_make_test('
+%.c : %.b ; cp $< $@
+%.b : %.a ; cp $< $@
+all : 1.c 2.c', '-rR -j',
+'cp 1.a 1.b
+cp 2.a 2.b
+cp 1.b 1.c
+cp 2.b 2.c
+rm 1.b 2.b');
+
+unlink(qw(1.a 2.a 1.c 2.c));
+
+# TEST #10 -- Savannah bug #15919
+touch('test.0');
+run_make_test('
+.SECONDARY : test.1 test.2 test.3
+
+test : test.4
+
+%.4 : %.int %.3 ; touch $@
+
+%.int : %.3 %.2 ; touch $@
+
+%.3 : | %.2 ; touch $@
+
+%.2 : %.1 ; touch $@
+
+%.1 : %.0 ; touch $@', '-rR -j 2',
+'touch test.1
+touch test.2
+touch test.3
+touch test.int
+touch test.4
+rm test.int');
+
+# After a touch of test.0 it should give the same output, except we don't need
+# to rebuild test.3 (order-only)
+sleep(1);
+touch('test.0');
+run_make_test(undef, '-rR -j 2',
+'touch test.1
+touch test.2
+touch test.int
+touch test.4
+rm test.int');
+
+# With both test.0 and test.3 updated it should still build everything except
+# test.3
+sleep(1);
+touch('test.0', 'test.3');
+run_make_test(undef, '-rR -j 2',
+'touch test.1
+touch test.2
+touch test.int
+touch test.4
+rm test.int');
+
+unlink(qw(test.0 test.1 test.2 test.3 test.4));
+
 # This tells the test driver that the perl test script executed properly.
 1;
Index: vendor/gnumake/current/tests/scripts/variables/special
===================================================================
--- vendor/gnumake/current/tests/scripts/variables/special	(revision 901)
+++ vendor/gnumake/current/tests/scripts/variables/special	(revision 1989)
@@ -51,4 +51,67 @@
 # &compare_output($answer, &get_logfile(1));
 
+# Test the .RECIPEPREFIX variable
+&run_make_test('
+define foo
+: foo-one \
+foo-two
+: foo-three
+	: foo-four
+endef
+
+orig: ; : orig-one
+	: orig-two \
+orig-three \
+	orig-four \
+		orig-five \\\\
+	: orig-six
+	$(foo)
+
+.RECIPEPREFIX = >
+test: ; : test-one
+>: test-two \
+test-three \
+>test-four \
+>	test-five \\\\
+>: test-six
+>$(foo)
+
+.RECIPEPREFIX =
+reset: ; : reset-one
+	: reset-two \
+reset-three \
+	reset-four \
+		reset-five \\\\
+	: reset-six
+	$(foo)
+',
+               'orig test reset',
+               ': orig-one
+: orig-two \
+orig-three \
+orig-four \
+	orig-five \\\\
+: orig-six
+: foo-one foo-two
+: foo-three
+: foo-four
+: test-one
+: test-two \
+test-three \
+test-four \
+	test-five \\\\
+: test-six
+: foo-one foo-two
+: foo-three
+: foo-four
+: reset-one
+: reset-two \
+reset-three \
+reset-four \
+	reset-five \\\\
+: reset-six
+: foo-one foo-two
+: foo-three
+: foo-four');
 
 1;
Index: vendor/gnumake/current/tests/test_driver.pl
===================================================================
--- vendor/gnumake/current/tests/test_driver.pl	(revision 901)
+++ vendor/gnumake/current/tests/test_driver.pl	(revision 1989)
@@ -7,18 +7,19 @@
 #
 # Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-# 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 # This file is part of GNU Make.
 #
-# GNU Make is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2, or (at your option) any later version.
+# GNU Make is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 3 of the License, or (at your option) any later
+# version.
 #
 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+# details.
 #
 # You should have received a copy of the GNU General Public License along with
-# GNU Make; see the file COPYING.  If not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+# this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
@@ -29,5 +30,5 @@
 # variables and then calls &toplevel, which does all the real work.
 
-# $Id: test_driver.pl,v 1.21 2007/03/20 03:02:26 psmith Exp $
+# $Id: test_driver.pl,v 1.24 2007/11/04 21:54:02 psmith Exp $
 
 
@@ -48,4 +49,8 @@
 # Yeesh.  This whole test environment is such a hack!
 $test_passed = 1;
+
+
+# Timeout in seconds.  If the test takes longer than this we'll fail it.
+$test_timeout = 5;
 
 
@@ -657,13 +662,21 @@
   } else {
     # See if it is a slash or CRLF problem
-    local ($answer_mod) = $answer;
+    local ($answer_mod, $slurp_mod) = ($answer, $slurp);
 
     $answer_mod =~ tr,\\,/,;
     $answer_mod =~ s,\r\n,\n,gs;
 
-    $slurp =~ tr,\\,/,;
-    $slurp =~ s,\r\n,\n,gs;
-
-    $answer_matched = ($slurp eq $answer_mod);
+    $slurp_mod =~ tr,\\,/,;
+    $slurp_mod =~ s,\r\n,\n,gs;
+
+    $answer_matched = ($slurp_mod eq $answer_mod);
+
+    # If it still doesn't match, see if the answer might be a regex.
+    if (!$answer_matched && $answer =~ m,^/(.+)/$,) {
+      $answer_matched = ($slurp =~ /$1/);
+      if (!$answer_matched && $answer_mod =~ m,^/(.+)/$,) {
+          $answer_matched = ($slurp_mod =~ /$1/);
+      }
+    }
   }
 
@@ -766,10 +779,8 @@
 }
 
-# run one command (passed as a list of arg 0 - n), returning 0 on success
-# and nonzero on failure.
-
-sub run_command
-{
-  local ($code);
+# This runs a command without any debugging info.
+sub _run_command
+{
+  my $code;
 
   # We reset this before every invocation.  On Windows I think there is only
@@ -778,7 +789,31 @@
   resetENV();
 
+  eval {
+      local $SIG{ALRM} = sub { die "timeout\n"; };
+      alarm $test_timeout;
+      $code = system @_;
+      alarm 0;
+  };
+  if ($@) {
+      # The eval failed.  If it wasn't SIGALRM then die.
+      $@ eq "timeout\n" or die;
+
+      # Timed out.  Resend the alarm to our process group to kill the children.
+      $SIG{ALRM} = 'IGNORE';
+      kill -14, $$;
+      $code = 14;
+  }
+
+  return $code;
+}
+
+# run one command (passed as a list of arg 0 - n), returning 0 on success
+# and nonzero on failure.
+
+sub run_command
+{
   print "\nrun_command: @_\n" if $debug;
-  $code = system @_;
-  print "run_command: \"@_\" returned $code.\n" if $debug;
+  my $code = _run_command(@_);
+  print "run_command returned $code.\n" if $debug;
 
   return $code;
@@ -792,17 +827,11 @@
 sub run_command_with_output
 {
-  local ($filename) = shift;
-  local ($code);
-
-  # We reset this before every invocation.  On Windows I think there is only
-  # one environment, not one per process, so I think that variables set in
-  # test scripts might leak into subsequent tests if this isn't reset--???
-  resetENV();
-
+  my $filename = shift;
+
+  print "\nrun_command_with_output($filename): @_\n" if $debug;
   &attach_default_output ($filename);
-  $code = system @_;
+  my $code = _run_command(@_);
   &detach_default_output;
-
-  print "run_command_with_output: '@_' returned $code.\n" if $debug;
+  print "run_command_with_output returned $code.\n" if $debug;
 
   return $code;
Index: vendor/gnumake/current/variable.c
===================================================================
--- vendor/gnumake/current/variable.c	(revision 901)
+++ vendor/gnumake/current/variable.c	(revision 1989)
@@ -1,5 +1,5 @@
 /* Internals of variables for GNU Make.
 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
 Foundation, Inc.
 This file is part of GNU Make.
@@ -7,5 +7,6 @@
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -14,6 +15,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "make.h"
@@ -256,5 +256,5 @@
 
 static struct variable *
-handle_special_var (struct variable *var)
+lookup_special_var (struct variable *var)
 {
   static unsigned long last_var_count = 0;
@@ -357,5 +357,5 @@
       v = (struct variable *) hash_find_item ((struct hash_table *) &set->table, &var_key);
       if (v)
-	return v->special ? handle_special_var (v) : v;
+	return v->special ? lookup_special_var (v) : v;
     }
 
@@ -804,4 +804,7 @@
      isn't one there.  */
   v = define_variable ("SHELL", 5, default_shell, o_default, 0);
+#ifdef __MSDOS__
+  v->export = v_export;  /*  Export always SHELL.  */
+#endif
 
   /* On MSDOS we do use SHELL from environment, since it isn't a standard
@@ -926,13 +929,16 @@
 
 	      case v_noexport:
-                /* If this is the SHELL variable and it's not exported, then
-                   add the value from our original environment.  */
-                if (streq (v->name, "SHELL"))
-                  {
-                    extern struct variable shell_var;
-                    v = &shell_var;
-                    break;
-                  }
-                continue;
+		{
+		  /* If this is the SHELL variable and it's not exported,
+		     then add the value from our original environment, if
+		     the original environment defined a value for SHELL.  */
+		  extern struct variable shell_var;
+		  if (streq (v->name, "SHELL") && shell_var.value)
+		    {
+		      v = &shell_var;
+		      break;
+		    }
+		  continue;
+		}
 
 	      case v_ifset:
@@ -997,4 +1003,19 @@
 
 
+static struct variable *
+set_special_var (struct variable *var)
+{
+  if (streq (var->name, RECIPEPREFIX_NAME))
+    {
+      /* The user is resetting the command introduction prefix.  This has to
+         happen immediately, so that subsequent rules are interpreted
+         properly.  */
+      cmd_prefix = var->value[0]=='\0' ? RECIPEPREFIX_DEFAULT : var->value[0];
+    }
+
+  return var;
+}
+
+
 /* Given a variable, a value, and a flavor, define the variable.
    See the try_variable_definition() function for details on the parameters. */
@@ -1031,5 +1052,5 @@
       v = lookup_variable (varname, strlen (varname));
       if (v)
-        return v;
+        return v->special ? set_special_var (v) : v;
 
       conditional = 1;
@@ -1200,5 +1221,22 @@
         }
       else
-        v = lookup_variable (varname, strlen (varname));
+        {
+          if (alloc_value)
+            free (alloc_value);
+
+          alloc_value = allocated_variable_expand (p);
+          if (find_and_set_default_shell (alloc_value))
+            {
+              v = define_variable_in_set (varname, strlen (varname), p,
+                                          origin, flavor == f_recursive,
+                                          (target_var
+                                           ? current_variable_set_list->set
+                                           : NULL),
+                                          flocp);
+              no_default_sh_exe = 0;
+            }
+          else
+            v = lookup_variable (varname, strlen (varname));
+        }
     }
   else
@@ -1222,5 +1260,5 @@
     free (alloc_value);
 
-  return v;
+  return v->special ? set_special_var (v) : v;
 }
 
Index: vendor/gnumake/current/variable.h
===================================================================
--- vendor/gnumake/current/variable.h	(revision 901)
+++ vendor/gnumake/current/variable.h	(revision 1989)
@@ -1,5 +1,5 @@
 /* Definitions for using variables in GNU Make.
 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
 Foundation, Inc.
 This file is part of GNU Make.
@@ -7,5 +7,6 @@
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -14,6 +15,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "hash.h"
Index: vendor/gnumake/current/version.c
===================================================================
--- vendor/gnumake/current/version.c	(revision 901)
+++ vendor/gnumake/current/version.c	(revision 1989)
@@ -1,5 +1,5 @@
 /* Record version and build host architecture for GNU make.
 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
 Foundation, Inc.
 This file is part of GNU Make.
@@ -7,5 +7,6 @@
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -14,6 +15,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* We use <config.h> instead of "config.h" so that a compilation
Index: vendor/gnumake/current/vmsdir.h
===================================================================
--- vendor/gnumake/current/vmsdir.h	(revision 901)
+++ vendor/gnumake/current/vmsdir.h	(revision 1989)
@@ -1,10 +1,11 @@
 /* dirent.h for vms
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006 Free Software Foundation, Inc.
+Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
+2007 Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -13,6 +14,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef VMSDIR_H
Index: vendor/gnumake/current/vmsfunctions.c
===================================================================
--- vendor/gnumake/current/vmsfunctions.c	(revision 901)
+++ vendor/gnumake/current/vmsfunctions.c	(revision 1989)
@@ -1,10 +1,11 @@
 /* VMS functions
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006 Free Software Foundation, Inc.
+Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
+2007 Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -13,6 +14,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "make.h"
Index: vendor/gnumake/current/vmsify.c
===================================================================
--- vendor/gnumake/current/vmsify.c	(revision 901)
+++ vendor/gnumake/current/vmsify.c	(revision 1989)
@@ -1,10 +1,11 @@
 /* vmsify.c -- Module for vms <-> unix file name conversion
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006 Free Software Foundation, Inc.
+Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
+2007 Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -13,6 +14,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* Written by Klaus Kämpf (kkaempf@progis.de)
Index: vendor/gnumake/current/vmsjobs.c
===================================================================
--- vendor/gnumake/current/vmsjobs.c	(revision 901)
+++ vendor/gnumake/current/vmsjobs.c	(revision 1989)
@@ -2,11 +2,12 @@
    This file must be #included in job.c, as it accesses static functions.
 
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006 Free Software Foundation, Inc.
+Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
+2007 Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -15,6 +16,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include <string.h>
Index: vendor/gnumake/current/vpath.c
===================================================================
--- vendor/gnumake/current/vpath.c	(revision 901)
+++ vendor/gnumake/current/vpath.c	(revision 1989)
@@ -1,5 +1,5 @@
 /* Implementation of pattern-matching file search paths for GNU Make.
 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
 Foundation, Inc.
 This file is part of GNU Make.
@@ -7,5 +7,6 @@
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -14,6 +15,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "make.h"
@@ -237,5 +237,15 @@
       /* Find the end of this entry.  */
       v = p;
-      while (*p != '\0' && *p != PATH_SEPARATOR_CHAR
+      while (*p != '\0'
+#if defined(HAVE_DOS_PATHS) && (PATH_SEPARATOR_CHAR == ':')
+	     /* Platforms whose PATH_SEPARATOR_CHAR is ':' and which
+		also define HAVE_DOS_PATHS would like us to recognize
+		colons after the drive letter in the likes of
+		"D:/foo/bar:C:/xyzzy".  */
+	     && (*p != PATH_SEPARATOR_CHAR
+		 || (p == v + 1 && (p[1] == '/' || p[1] == '\\')))
+#else
+	     && *p != PATH_SEPARATOR_CHAR
+#endif
 	     && !isblank ((unsigned char)*p))
 	++p;
@@ -244,5 +254,5 @@
       /* Make sure there's no trailing slash,
 	 but still allow "/" as a directory.  */
-#if defined(__MSDOS__) || defined(__EMX__)
+#if defined(__MSDOS__) || defined(__EMX__) || defined(HAVE_DOS_PATHS)
       /* We need also to leave alone a trailing slash in "d:/".  */
       if (len > 3 || (len > 1 && v[1] != ':'))
Index: vendor/gnumake/current/w32/Makefile.am
===================================================================
--- vendor/gnumake/current/w32/Makefile.am	(revision 901)
+++ vendor/gnumake/current/w32/Makefile.am	(revision 1989)
@@ -1,18 +1,19 @@
 # Makefile.am to create libw32.a for mingw32 host.
-# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
-# Free Software Foundation, Inc.
+# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
+# 2007 Free Software Foundation, Inc.
 # This file is part of GNU Make.
 #
-# GNU Make is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2, or (at your option) any later version.
+# GNU Make is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 3 of the License, or (at your option) any later
+# version.
 #
 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+# details.
 #
 # You should have received a copy of the GNU General Public License along with
-# GNU Make; see the file COPYING.  If not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+# this program.  If not, see <http://www.gnu.org/licenses/>.
 
 noinst_LIBRARIES = libw32.a
Index: vendor/gnumake/current/w32/compat/dirent.c
===================================================================
--- vendor/gnumake/current/w32/compat/dirent.c	(revision 901)
+++ vendor/gnumake/current/w32/compat/dirent.c	(revision 1989)
@@ -1,10 +1,11 @@
 /* Directory entry code for Window platforms.
 Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006 Free Software Foundation, Inc.
+2006, 2007 Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -13,6 +14,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 
Index: vendor/gnumake/current/w32/include/dirent.h
===================================================================
--- vendor/gnumake/current/w32/include/dirent.h	(revision 901)
+++ vendor/gnumake/current/w32/include/dirent.h	(revision 1989)
@@ -1,10 +1,11 @@
 /* Windows version of dirent.h
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006 Free Software Foundation, Inc.
+Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
+2007 Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -13,6 +14,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef _DIRENT_H
Index: vendor/gnumake/current/w32/include/pathstuff.h
===================================================================
--- vendor/gnumake/current/w32/include/pathstuff.h	(revision 901)
+++ vendor/gnumake/current/w32/include/pathstuff.h	(revision 1989)
@@ -1,10 +1,11 @@
 /* Definitions for Windows path manipulation.
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006 Free Software Foundation, Inc.
+Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
+2007 Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -13,6 +14,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef _PATHSTUFF_H
Index: vendor/gnumake/current/w32/include/sub_proc.h
===================================================================
--- vendor/gnumake/current/w32/include/sub_proc.h	(revision 901)
+++ vendor/gnumake/current/w32/include/sub_proc.h	(revision 1989)
@@ -1,10 +1,11 @@
 /* Definitions for Windows process invocation.
 Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006 Free Software Foundation, Inc.
+2006, 2007 Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -13,6 +14,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef SUB_PROC_H
@@ -22,9 +22,9 @@
  * Component Name:
  *
- * $Date: 2006/02/11 22:16:05 $
+ * $Date: 2007/10/24 20:06:32 $
  *
  * $Source: /sources/make/make/w32/include/sub_proc.h,v $
  *
- * $Id: sub_proc.h,v 1.8 2006/02/11 22:16:05 psmith Exp $
+ * $Id: sub_proc.h,v 1.10 2007/10/24 20:06:32 eliz Exp $
  */
 
Index: vendor/gnumake/current/w32/include/w32err.h
===================================================================
--- vendor/gnumake/current/w32/include/w32err.h	(revision 901)
+++ vendor/gnumake/current/w32/include/w32err.h	(revision 1989)
@@ -1,10 +1,11 @@
 /* Definitions for Windows error handling.
 Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006 Free Software Foundation, Inc.
+2006, 2007 Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -13,6 +14,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef _W32ERR_H_
Index: vendor/gnumake/current/w32/pathstuff.c
===================================================================
--- vendor/gnumake/current/w32/pathstuff.c	(revision 901)
+++ vendor/gnumake/current/w32/pathstuff.c	(revision 1989)
@@ -1,10 +1,11 @@
 /* Path conversion for Windows pathnames.
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006 Free Software Foundation, Inc.
+Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
+2007 Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -13,6 +14,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include <string.h>
@@ -71,9 +71,15 @@
                 /* all finished, force abort */
                 p += strlen(p);
+        } else if (*p == '"') { /* a quoted directory */
+            for (p++; *p && *p != '"'; p++) /* skip quoted part */
+                ;
+            etok = strpbrk(p, ":;");        /* find next delimiter */
+            *etok = to_delim;
+            p = ++etok;
         } else {
             /* found another one, no drive letter */
             *etok = to_delim;
             p = ++etok;
-	}
+        }
 
     return Path;
Index: vendor/gnumake/current/w32/subproc/NMakefile
===================================================================
--- vendor/gnumake/current/w32/subproc/NMakefile	(revision 901)
+++ vendor/gnumake/current/w32/subproc/NMakefile	(revision 1989)
@@ -3,18 +3,19 @@
 #
 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-# 2006 Free Software Foundation, Inc.
+# 2006, 2007 Free Software Foundation, Inc.
 # This file is part of GNU Make.
 #
-# GNU Make is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2, or (at your option) any later version.
+# GNU Make is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 3 of the License, or (at your option) any later
+# version.
 #
 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+# details.
 #
 # You should have received a copy of the GNU General Public License along with
-# GNU Make; see the file COPYING.  If not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+# this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #
Index: vendor/gnumake/current/w32/subproc/build.bat
===================================================================
--- vendor/gnumake/current/w32/subproc/build.bat	(revision 901)
+++ vendor/gnumake/current/w32/subproc/build.bat	(revision 1989)
@@ -12,23 +12,24 @@
 GoTo BuildEnd
 :GCCBuild
-gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I.. -I. -I../include -I../.. -DWINDOWS32 -c misc.c -o ../../w32_misc.o
-gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I.. -I. -I../include -I../.. -DWINDOWS32 -c sub_proc.c -o ../../sub_proc.o
-gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I.. -I. -I../include -I../.. -DWINDOWS32 -c w32err.c -o ../../w32err.o
+gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I.. -I. -I../include -I../.. -DWINDOWS32 -c misc.c -o ../../w32_misc.o
+gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I.. -I. -I../include -I../.. -DWINDOWS32 -c sub_proc.c -o ../../sub_proc.o
+gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I.. -I. -I../include -I../.. -DWINDOWS32 -c w32err.c -o ../../w32err.o
 :BuildEnd
 
 @echo off
 rem Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-rem 2005, 2006 Free Software Foundation, Inc.
+rem 2005, 2006, 2007 Free Software Foundation, Inc.
 rem This file is part of GNU Make.
-
-rem GNU Make is free software; you can redistribute it and/or modify it under the
-rem terms of the GNU General Public License as published by the Free Software
-rem Foundation; either version 2, or (at your option) any later version.
-
-rem GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
-rem WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-rem A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
-
-rem You should have received a copy of the GNU General Public License along with
-rem GNU Make; see the file COPYING.  If not, write to the Free Software
-rem Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+rem
+rem GNU Make is free software; you can redistribute it and/or modify it under
+rem the terms of the GNU General Public License as published by the Free
+rem Software Foundation; either version 3 of the License, or (at your option)
+rem any later version.
+rem
+rem GNU Make is distributed in the hope that it will be useful, but WITHOUT
+rem ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+rem FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for.
+rem more details.
+rem
+rem You should have received a copy of the GNU General Public License along
+rem with this program.  If not, see <http://www.gnu.org/licenses/>.
Index: vendor/gnumake/current/w32/subproc/misc.c
===================================================================
--- vendor/gnumake/current/w32/subproc/misc.c	(revision 901)
+++ vendor/gnumake/current/w32/subproc/misc.c	(revision 1989)
@@ -1,10 +1,11 @@
 /* Process handling for Windows
 Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006 Free Software Foundation, Inc.
+2006, 2007 Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -13,6 +14,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include <stddef.h>
Index: vendor/gnumake/current/w32/subproc/proc.h
===================================================================
--- vendor/gnumake/current/w32/subproc/proc.h	(revision 901)
+++ vendor/gnumake/current/w32/subproc/proc.h	(revision 1989)
@@ -1,10 +1,11 @@
 /* Definitions for Windows
 Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006 Free Software Foundation, Inc.
+2006, 2007 Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -13,6 +14,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef  _PROC_H
Index: vendor/gnumake/current/w32/subproc/sub_proc.c
===================================================================
--- vendor/gnumake/current/w32/subproc/sub_proc.c	(revision 901)
+++ vendor/gnumake/current/w32/subproc/sub_proc.c	(revision 1989)
@@ -1,10 +1,11 @@
 /* Process handling for Windows.
 Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006 Free Software Foundation, Inc.
+2006, 2007 Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -13,6 +14,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include <stdlib.h>
Index: vendor/gnumake/current/w32/subproc/w32err.c
===================================================================
--- vendor/gnumake/current/w32/subproc/w32err.c	(revision 901)
+++ vendor/gnumake/current/w32/subproc/w32err.c	(revision 1989)
@@ -1,10 +1,11 @@
 /* Error handling for Windows
 Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006 Free Software Foundation, Inc.
+2006, 2007 Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2, or (at your option) any later version.
+Foundation; either version 3 of the License, or (at your option) any later
+version.
 
 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -13,6 +14,5 @@
 
 You should have received a copy of the GNU General Public License along with
-GNU Make; see the file COPYING.  If not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */
+this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include <windows.h>
@@ -69,3 +69,2 @@
     return szMessageBuffer;
 }
-
