2022-10-17 03:13:41 +08:00
|
|
|
|
This directory contains the @PACKAGE_VERSION@ release of @PACKAGE_NAME@.
|
1999-08-24 06:15:17 +08:00
|
|
|
|
|
|
|
|
|
See the file NEWS for the user-visible changes from previous releases.
|
|
|
|
|
In addition, there have been bugs fixed.
|
1989-08-13 16:28:15 +09:00
|
|
|
|
|
2023-02-27 04:52:25 +08:00
|
|
|
|
>> 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.
|
|
|
|
|
|
2016-12-15 06:24:43 +08:00
|
|
|
|
Please check the system-specific notes below for any caveats related to your
|
|
|
|
|
operating system.
|
1999-09-11 13:44:53 +08:00
|
|
|
|
|
2023-02-27 04:52:25 +08:00
|
|
|
|
This README assumes you are building on a POSIX-based operating system.
|
|
|
|
|
For ports to other operating systems please see the system-specific README
|
|
|
|
|
files, as described in the "Ports" section below.
|
1999-04-02 14:19:33 +08:00
|
|
|
|
|
2016-12-15 06:24:43 +08:00
|
|
|
|
For source distribution building and installation instructions, see the file
|
|
|
|
|
INSTALL.
|
1989-08-13 16:28:15 +09:00
|
|
|
|
|
2016-12-15 06:24:43 +08:00
|
|
|
|
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,
|
2022-10-17 03:13:41 +08:00
|
|
|
|
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
|
2016-12-15 06:24:43 +08:00
|
|
|
|
whatever else.
|
|
|
|
|
|
2022-10-17 03:13:41 +08:00
|
|
|
|
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
|
2016-12-15 06:24:43 +08:00
|
|
|
|
'build.sh' instead.
|
1995-10-05 02:15:35 +08:00
|
|
|
|
|
2000-03-27 14:54:37 +08:00
|
|
|
|
|
|
|
|
|
GNU Make is free software. See the file COPYING for copying conditions.
|
2012-03-05 22:10:39 +08:00
|
|
|
|
GNU Make is copyright by the Free Software Foundation. Copyright notices
|
|
|
|
|
condense sequential years into a range; e.g. "1987-1994" means all years
|
|
|
|
|
from 1987 to 1994 inclusive.
|
2000-03-27 14:54:37 +08:00
|
|
|
|
|
2023-02-27 04:52:25 +08:00
|
|
|
|
|
2002-05-30 06:24:09 +08:00
|
|
|
|
Downloading
|
|
|
|
|
-----------
|
|
|
|
|
|
|
|
|
|
GNU Make can be obtained in many different ways. See a description here:
|
|
|
|
|
|
2021-12-19 07:23:16 +08:00
|
|
|
|
https://www.gnu.org/software/software.html
|
2002-05-30 06:24:09 +08:00
|
|
|
|
|
|
|
|
|
|
2000-03-27 14:54:37 +08:00
|
|
|
|
Documentation
|
|
|
|
|
-------------
|
|
|
|
|
|
2022-10-17 03:13:41 +08:00
|
|
|
|
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.
|
1999-04-02 14:19:33 +08:00
|
|
|
|
|
2021-12-19 07:23:16 +08:00
|
|
|
|
https://www.gnu.org/
|
|
|
|
|
https://www.gnu.org/doc/doc.html
|
|
|
|
|
https://www.gnu.org/manual/manual.html
|
1999-04-02 14:19:33 +08:00
|
|
|
|
|
2002-05-30 06:24:09 +08:00
|
|
|
|
|
|
|
|
|
Development
|
|
|
|
|
-----------
|
|
|
|
|
|
|
|
|
|
GNU Make development is hosted by Savannah, the FSF's online development
|
|
|
|
|
management tool. Savannah is here:
|
|
|
|
|
|
2021-12-19 07:23:16 +08:00
|
|
|
|
https://savannah.gnu.org
|
2002-05-30 06:24:09 +08:00
|
|
|
|
|
|
|
|
|
And the GNU Make development page is here:
|
|
|
|
|
|
2021-12-19 07:23:16 +08:00
|
|
|
|
https://savannah.gnu.org/projects/make/
|
2002-05-30 06:24:09 +08:00
|
|
|
|
|
|
|
|
|
You can find most information concerning the development of GNU Make at
|
|
|
|
|
this site.
|
1999-08-24 06:15:17 +08:00
|
|
|
|
|
2000-03-27 14:54:37 +08:00
|
|
|
|
|
2022-10-23 05:23:17 +08:00
|
|
|
|
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).
|
|
|
|
|
|
|
|
|
|
|
2000-03-27 14:54:37 +08:00
|
|
|
|
Bug Reporting
|
|
|
|
|
-------------
|
|
|
|
|
|
2022-10-17 03:13:41 +08:00
|
|
|
|
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.
|
1999-04-02 14:19:33 +08:00
|
|
|
|
|
2002-05-30 06:24:09 +08:00
|
|
|
|
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:
|
2000-02-10 03:57:15 +08:00
|
|
|
|
|
2021-12-19 07:23:16 +08:00
|
|
|
|
https://savannah.gnu.org/bugs/?group=make
|
2000-02-10 03:57:15 +08:00
|
|
|
|
|
2022-10-17 03:13:41 +08:00
|
|
|
|
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.
|
1999-04-02 14:19:33 +08:00
|
|
|
|
|
2000-03-27 14:54:37 +08:00
|
|
|
|
|
2021-12-19 07:25:38 +08:00
|
|
|
|
Submitting Patches
|
|
|
|
|
------------------
|
|
|
|
|
|
2022-10-17 03:13:41 +08:00
|
|
|
|
If you'd like to propose a change to GNU Make, you can provide a patch with
|
2021-12-20 13:31:05 +08:00
|
|
|
|
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".
|
2021-12-19 07:25:38 +08:00
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
* Send the patch via email to <bug-make@gnu.org>: be sure to add it as an
|
|
|
|
|
attachment to avoid interference by email processors.
|
|
|
|
|
|
2022-10-17 03:13:41 +08:00
|
|
|
|
All non-trivial changes require FSF copyright paperwork to be completed
|
|
|
|
|
before they can be accepted. Contact <bug-make@gnu.org> for help.
|
2021-12-19 07:25:38 +08:00
|
|
|
|
|
|
|
|
|
|
2013-01-13 08:31:13 +08:00
|
|
|
|
Git Access
|
2000-03-27 14:54:37 +08:00
|
|
|
|
----------
|
|
|
|
|
|
2022-10-17 03:13:41 +08:00
|
|
|
|
The GNU Make source repository is available via Git from the GNU Savannah Git
|
2016-12-15 06:24:43 +08:00
|
|
|
|
server; look here for details:
|
2000-03-27 14:54:37 +08:00
|
|
|
|
|
2021-12-19 07:23:16 +08:00
|
|
|
|
https://savannah.gnu.org/git/?group=make
|
2000-03-27 14:54:37 +08:00
|
|
|
|
|
2022-10-17 03:13:41 +08:00
|
|
|
|
Please note: you won't be able to build GNU Make from Git without installing
|
2016-12-15 06:24:43 +08:00
|
|
|
|
appropriate maintainer's tools, such as GNU m4, automake, autoconf, Perl, GNU
|
|
|
|
|
make, and GCC.
|
|
|
|
|
|
2022-10-17 03:13:41 +08:00
|
|
|
|
See the README.git file for instructions on how to build GNU Make once these
|
2016-12-15 06:24:43 +08:00
|
|
|
|
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.
|
2000-03-27 14:54:37 +08:00
|
|
|
|
|
|
|
|
|
|
2002-09-04 05:43:04 +08:00
|
|
|
|
System-specific Notes
|
|
|
|
|
---------------------
|
|
|
|
|
|
|
|
|
|
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
|
2012-03-04 08:24:20 +08:00
|
|
|
|
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
|
2022-10-17 03:13:41 +08:00
|
|
|
|
need not build 'make' itself to run this test.)
|
2002-09-04 05:43:04 +08:00
|
|
|
|
|
|
|
|
|
Another potential source of porting problems is the support for large
|
|
|
|
|
files (LFS) in configure for those operating systems that provide it.
|
|
|
|
|
Please report any bugs that you find in this area. If you run into
|
|
|
|
|
difficulties, then as a workaround you should be able to disable LFS by
|
2012-03-04 08:24:20 +08:00
|
|
|
|
adding the '--disable-largefile' option to the 'configure' script.
|
2002-09-04 05:43:04 +08:00
|
|
|
|
|
|
|
|
|
On systems that support micro- and nano-second timestamp values and
|
2022-10-17 03:13:41 +08:00
|
|
|
|
where stat(2) provides this information, GNU Make will use it when
|
2002-09-04 05:43:04 +08:00
|
|
|
|
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"
|
|
|
|
|
and other similar tools (tar, etc.) may not exactly duplicate timestamps
|
|
|
|
|
with micro- and nano-second granularity on some systems. If your build
|
|
|
|
|
system contains rules that depend on proper behavior of tools like "cp
|
|
|
|
|
-p", you should consider using the .LOW_RESOLUTION_TIME pseudo-target to
|
|
|
|
|
force make to treat them properly. See the manual for details.
|
|
|
|
|
|
|
|
|
|
|
2000-03-27 14:54:37 +08:00
|
|
|
|
Ports
|
|
|
|
|
-----
|
1999-04-02 14:19:33 +08:00
|
|
|
|
|
2022-10-17 03:13:41 +08:00
|
|
|
|
- See README.customs for details on integrating GNU Make with the
|
1998-07-31 04:54:47 +08:00
|
|
|
|
Customs distributed build environment from the Pmake distribution.
|
|
|
|
|
|
2013-09-22 12:48:05 +08:00
|
|
|
|
- See README.VMS for details about GNU Make on OpenVMS.
|
2000-02-10 03:57:15 +08:00
|
|
|
|
|
2023-01-28 22:28:18 +08:00
|
|
|
|
- See README.zOS for details about GNU Make on z/OS.
|
|
|
|
|
|
2000-03-27 14:54:37 +08:00
|
|
|
|
- See README.W32 for details about GNU Make on Windows NT, 95, or 98.
|
|
|
|
|
|
1997-08-28 04:30:54 +08:00
|
|
|
|
- See README.DOS for compilation instructions on MS-DOS and MS-Windows
|
|
|
|
|
using DJGPP tools.
|
|
|
|
|
|
|
|
|
|
A precompiled binary of the MSDOS port of GNU Make is available as part
|
2021-12-19 07:23:16 +08:00
|
|
|
|
of DJGPP; see the WWW page https://www.delorie.com/djgpp/ for more
|
1997-08-28 04:30:54 +08:00
|
|
|
|
information.
|
1996-07-15 03:54:36 +08:00
|
|
|
|
|
2022-10-17 03:13:41 +08:00
|
|
|
|
The Cygwin project maintains its own port of GNU Make. That port may have
|
2016-12-15 06:24:43 +08:00
|
|
|
|
patches which are not present in this version. If you are using Cygwin
|
2022-10-17 03:13:41 +08:00
|
|
|
|
you should use their version of GNU Make, and if you have questions about
|
2016-12-15 06:24:43 +08:00
|
|
|
|
it you should start by asking on those mailing lists and forums.
|
|
|
|
|
|
2022-10-17 03:13:41 +08:00
|
|
|
|
Please note there are two _separate_ ports of GNU Make for Microsoft
|
2023-02-27 04:52:25 +08:00
|
|
|
|
systems: a native Windows port built with (for example) MSVC or MinGW,
|
|
|
|
|
and a DOS-based port built with DJGPP. Please be sure you are looking
|
2000-03-27 14:54:37 +08:00
|
|
|
|
at the right README!
|
2006-02-12 03:02:21 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
2024-01-07 06:55:04 +08:00
|
|
|
|
Copyright (C) 1988-2024 Free Software Foundation, Inc.
|
2006-02-12 03:02:21 +08:00
|
|
|
|
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
|
2007-07-05 03:35:15 +08:00
|
|
|
|
Foundation; either version 3 of the License, or (at your option) any later
|
|
|
|
|
version.
|
2006-02-12 03:02:21 +08:00
|
|
|
|
|
|
|
|
|
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
|
2021-12-19 07:23:16 +08:00
|
|
|
|
this program. If not, see <https://www.gnu.org/licenses/>.
|