Imported Upstream version 4.4
[platform/upstream/make.git] / README
diff --git a/README b/README
index 9449748..43075d3 100644 (file)
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-This directory contains the 4.3 release of GNU Make.
+This directory contains the 4.4 release of GNU Make.
 
 See the file NEWS for the user-visible changes from previous releases.
 In addition, there have been bugs fixed.
@@ -6,7 +6,7 @@ In addition, there have been bugs fixed.
 Please check the system-specific notes below for any caveats related to your
 operating system.
 
-If you are trying to build GNU make from a Git clone rather than a downloaded
+If you are trying to build GNU Make from a Git clone rather than a downloaded
 source distribution, see the README.git file for instructions.
 
 For source distribution building and installation instructions, see the file
@@ -15,12 +15,12 @@ INSTALL.
 If you need to build GNU Make and have no other 'make' program to use, you can
 use the shell script 'build.sh' instead.  To do this, first run 'configure' as
 described in INSTALL.  Then, instead of typing 'make' to build the program,
-type 'sh build.sh'.  This should compile the program in the current directory.
-Then you will have a Make program that you can use for './make install', or
+type 'sh build.sh'.  This will compile the program in the current directory.
+Then you will have a 'make' program that you can use for './make install', or
 whatever else.
 
-Some systems' Make programs cannot process the Makefile for GNU Make.  If you
-get errors from your system's Make when building GNU Make, try using
+Some systems' 'make' programs cannot process the Makefile for GNU Make.
+If you get errors from your system's 'make' when building GNU Make, try using
 'build.sh' instead.
 
 
@@ -34,20 +34,20 @@ Downloading
 
 GNU Make can be obtained in many different ways.  See a description here:
 
-  http://www.gnu.org/software/software.html
+  https://www.gnu.org/software/software.html
 
 
 Documentation
 -------------
 
-GNU make is fully documented in the GNU Make manual, which is contained
-in this distribution as the file make.texinfo.  You can also find
-on-line and preformatted (PostScript and DVI) versions at the FSF's web
-site.  There is information there about ordering hardcopy documentation.
+GNU Make is fully documented in the GNU Make manual, which is contained in
+this distribution as the file make.texi.  You can also find on-line and
+preformatted (PostScript and DVI) versions at the FSF's web site.  There is
+information there about ordering hardcopy documentation.
 
-  http://www.gnu.org/
-  http://www.gnu.org/doc/doc.html
-  http://www.gnu.org/manual/manual.html
+  https://www.gnu.org/
+  https://www.gnu.org/doc/doc.html
+  https://www.gnu.org/manual/manual.html
 
 
 Development
@@ -56,49 +56,82 @@ Development
 GNU Make development is hosted by Savannah, the FSF's online development
 management tool.  Savannah is here:
 
-  http://savannah.gnu.org
+  https://savannah.gnu.org
 
 And the GNU Make development page is here:
 
-  http://savannah.gnu.org/projects/make/
+  https://savannah.gnu.org/projects/make/
 
 You can find most information concerning the development of GNU Make at
 this site.
 
 
+Regression Tests
+----------------
+
+GNU Make contains a suite of regression tests.  To run them use "make check"
+after building GNU Make.  If they fail a tar package will be created
+containing useful information, which can be emailed (as an attachment) to
+the <bug-make@gnu.org> mailing list.
+
+Please note that since these tests rely on known-good-output comparisons,
+they can show spurious failures on some systems (particularly non-POSIX systems
+such as Windows).
+
+
 Bug Reporting
 -------------
 
-You can send GNU make bug reports to <bug-make@gnu.org>.  Please see the
-section of the GNU make manual entitled 'Problems and Bugs' for
-information on submitting useful and complete bug reports.
+If you need help using GNU Make, try asking on <help-make@gnu.org>.
+
+If you found a bug, you can send a bug reports to <bug-make@gnu.org>.
+Please see the section of the GNU Make manual entitled 'Problems and Bugs'
+for information on submitting useful and complete bug reports.
+
+You do not need to subscribe to these lists first.
 
 You can also use the online bug tracking system in the Savannah GNU Make
 project to submit new problem reports or search for existing ones:
 
-  http://savannah.gnu.org/bugs/?group=make
+  https://savannah.gnu.org/bugs/?group=make
+
+We prefer to use the bug tracking system ONLY for bugs or enhancements,
+not for help requests: please use the mailing lists to get help.
+
+
+Submitting Patches
+------------------
+
+If you'd like to propose a change to GNU Make, you can provide a patch with
+your changes.  If you are making your changes in a Git workspace you can run
+"git format-patch" to create a patch file.  If not, you can use the diff(1)
+utility to create a patch file; please use "diff -u".
+
+Once you have a patch you can submit it in any of these ways:
+
+  * Create a bug on Savannah and add the patch as an attachment:
+      https://savannah.gnu.org/bugs/?group=make&func=additem
 
-If you need help using GNU make, try these forums:
+  * Send the patch via email to <bug-make@gnu.org>: be sure to add it as an
+    attachment to avoid interference by email processors.
 
-  help-make@gnu.org
-  help-utils@gnu.org
-  news:gnu.utils.help
-  news:gnu.utils.bug
+All non-trivial changes require FSF copyright paperwork to be completed
+before they can be accepted.  Contact <bug-make@gnu.org> for help.
 
 
 Git Access
 ----------
 
-The GNU make source repository is available via Git from the GNU Savannah Git
+The GNU Make source repository is available via Git from the GNU Savannah Git
 server; look here for details:
 
-  http://savannah.gnu.org/git/?group=make
+  https://savannah.gnu.org/git/?group=make
 
-Please note: you won't be able to build GNU make from Git without installing
+Please note: you won't be able to build GNU Make from Git without installing
 appropriate maintainer's tools, such as GNU m4, automake, autoconf, Perl, GNU
 make, and GCC.
 
-See the README.git file for instructions on how to build GNU make once these
+See the README.git file for instructions on how to build GNU Make once these
 tools are available.  We make no guarantees about the contents or quality of
 the latest code in the Git repository: it is not unheard of for code that is
 known to be broken to be checked in.  Use at your own risk.
@@ -112,16 +145,16 @@ that if you compile make with 'cc -O' on AIX 3.2, it will not work
 correctly.  It is said that using 'cc' without '-O' does work.
 
 The standard /bin/sh on SunOS 4.1.3_U1 and 4.1.4 is broken and cannot be
-used to configure GNU make.  Please install a different shell such as
+used to configure GNU Make.  Please install a different shell such as
 bash or pdksh in order to run "configure".  See this message for more
 information:
-  http://mail.gnu.org/archive/html/bug-autoconf/2003-10/msg00190.html
+  https://mail.gnu.org/archive/html/bug-autoconf/2003-10/msg00190.html
 
 One area that is often a problem in configuration and porting is the code
 to check the system's current load average.  To make it easier to test and
 debug this code, you can do 'make check-loadavg' to see if it works
 properly on your system.  (You must run 'configure' beforehand, but you
-need not build Make itself to run this test.)
+need not build 'make' itself to run this test.)
 
 Another potential source of porting problems is the support for large
 files (LFS) in configure for those operating systems that provide it.
@@ -130,7 +163,7 @@ difficulties, then as a workaround you should be able to disable LFS by
 adding the '--disable-largefile' option to the 'configure' script.
 
 On systems that support micro- and nano-second timestamp values and
-where stat(2) provides this information, GNU make will use it when
+where stat(2) provides this information, GNU Make will use it when
 comparing timestamps to get the most accurate possible result.  However,
 note that many current implementations of tools that *set* timestamps do
 not preserve micro- or nano-second granularity.  This means that "cp -p"
@@ -144,7 +177,7 @@ force make to treat them properly.  See the manual for details.
 Ports
 -----
 
-  - See README.customs for details on integrating GNU make with the
+  - See README.customs for details on integrating GNU Make with the
     Customs distributed build environment from the Pmake distribution.
 
   - See README.VMS for details about GNU Make on OpenVMS.
@@ -157,22 +190,22 @@ Ports
     using DJGPP tools.
 
     A precompiled binary of the MSDOS port of GNU Make is available as part
-    of DJGPP; see the WWW page http://www.delorie.com/djgpp/ for more
+    of DJGPP; see the WWW page https://www.delorie.com/djgpp/ for more
     information.
 
-    The Cygwin project maintains its own port of GNU make.  That port may have
+    The Cygwin project maintains its own port of GNU Make.  That port may have
     patches which are not present in this version.  If you are using Cygwin
-    you should use their version of GNU make, and if you have questions about
+    you should use their version of GNU Make, and if you have questions about
     it you should start by asking on those mailing lists and forums.
 
-Please note there are two _separate_ ports of GNU make for Microsoft
+Please note there are two _separate_ ports of GNU Make for Microsoft
 systems: a native Windows tool built with (for example) MSVC or Cygwin,
 and a DOS-based tool built with DJGPP.  Please be sure you are looking
 at the right README!
 
 \f
 -------------------------------------------------------------------------------
-Copyright (C) 1988-2020 Free Software Foundation, Inc.
+Copyright (C) 1988-2022 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
@@ -185,4 +218,4 @@ 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.  If not, see <http://www.gnu.org/licenses/>.
+this program.  If not, see <https://www.gnu.org/licenses/>.