Change make license
[platform/upstream/make.git] / README
1 This directory contains the 4.3 release of GNU Make.
2
3 See the file NEWS for the user-visible changes from previous releases.
4 In addition, there have been bugs fixed.
5
6 Please check the system-specific notes below for any caveats related to your
7 operating system.
8
9 If you are trying to build GNU make from a Git clone rather than a downloaded
10 source distribution, see the README.git file for instructions.
11
12 For source distribution building and installation instructions, see the file
13 INSTALL.
14
15 If you need to build GNU Make and have no other 'make' program to use, you can
16 use the shell script 'build.sh' instead.  To do this, first run 'configure' as
17 described in INSTALL.  Then, instead of typing 'make' to build the program,
18 type 'sh build.sh'.  This should compile the program in the current directory.
19 Then you will have a Make program that you can use for './make install', or
20 whatever else.
21
22 Some systems' Make programs cannot process the Makefile for GNU Make.  If you
23 get errors from your system's Make when building GNU Make, try using
24 'build.sh' instead.
25
26
27 GNU Make is free software.  See the file COPYING for copying conditions.
28 GNU Make is copyright by the Free Software Foundation.  Copyright notices
29 condense sequential years into a range; e.g. "1987-1994" means all years
30 from 1987 to 1994 inclusive.
31
32 Downloading
33 -----------
34
35 GNU Make can be obtained in many different ways.  See a description here:
36
37   http://www.gnu.org/software/software.html
38
39
40 Documentation
41 -------------
42
43 GNU make is fully documented in the GNU Make manual, which is contained
44 in this distribution as the file make.texinfo.  You can also find
45 on-line and preformatted (PostScript and DVI) versions at the FSF's web
46 site.  There is information there about ordering hardcopy documentation.
47
48   http://www.gnu.org/
49   http://www.gnu.org/doc/doc.html
50   http://www.gnu.org/manual/manual.html
51
52
53 Development
54 -----------
55
56 GNU Make development is hosted by Savannah, the FSF's online development
57 management tool.  Savannah is here:
58
59   http://savannah.gnu.org
60
61 And the GNU Make development page is here:
62
63   http://savannah.gnu.org/projects/make/
64
65 You can find most information concerning the development of GNU Make at
66 this site.
67
68
69 Bug Reporting
70 -------------
71
72 You can send GNU make bug reports to <bug-make@gnu.org>.  Please see the
73 section of the GNU make manual entitled 'Problems and Bugs' for
74 information on submitting useful and complete bug reports.
75
76 You can also use the online bug tracking system in the Savannah GNU Make
77 project to submit new problem reports or search for existing ones:
78
79   http://savannah.gnu.org/bugs/?group=make
80
81 If you need help using GNU make, try these forums:
82
83   help-make@gnu.org
84   help-utils@gnu.org
85   news:gnu.utils.help
86   news:gnu.utils.bug
87
88
89 Git Access
90 ----------
91
92 The GNU make source repository is available via Git from the GNU Savannah Git
93 server; look here for details:
94
95   http://savannah.gnu.org/git/?group=make
96
97 Please note: you won't be able to build GNU make from Git without installing
98 appropriate maintainer's tools, such as GNU m4, automake, autoconf, Perl, GNU
99 make, and GCC.
100
101 See the README.git file for instructions on how to build GNU make once these
102 tools are available.  We make no guarantees about the contents or quality of
103 the latest code in the Git repository: it is not unheard of for code that is
104 known to be broken to be checked in.  Use at your own risk.
105
106
107 System-specific Notes
108 ---------------------
109
110 It has been reported that the XLC 1.2 compiler on AIX 3.2 is buggy such
111 that if you compile make with 'cc -O' on AIX 3.2, it will not work
112 correctly.  It is said that using 'cc' without '-O' does work.
113
114 The standard /bin/sh on SunOS 4.1.3_U1 and 4.1.4 is broken and cannot be
115 used to configure GNU make.  Please install a different shell such as
116 bash or pdksh in order to run "configure".  See this message for more
117 information:
118   http://mail.gnu.org/archive/html/bug-autoconf/2003-10/msg00190.html
119
120 One area that is often a problem in configuration and porting is the code
121 to check the system's current load average.  To make it easier to test and
122 debug this code, you can do 'make check-loadavg' to see if it works
123 properly on your system.  (You must run 'configure' beforehand, but you
124 need not build Make itself to run this test.)
125
126 Another potential source of porting problems is the support for large
127 files (LFS) in configure for those operating systems that provide it.
128 Please report any bugs that you find in this area.  If you run into
129 difficulties, then as a workaround you should be able to disable LFS by
130 adding the '--disable-largefile' option to the 'configure' script.
131
132 On systems that support micro- and nano-second timestamp values and
133 where stat(2) provides this information, GNU make will use it when
134 comparing timestamps to get the most accurate possible result.  However,
135 note that many current implementations of tools that *set* timestamps do
136 not preserve micro- or nano-second granularity.  This means that "cp -p"
137 and other similar tools (tar, etc.) may not exactly duplicate timestamps
138 with micro- and nano-second granularity on some systems.  If your build
139 system contains rules that depend on proper behavior of tools like "cp
140 -p", you should consider using the .LOW_RESOLUTION_TIME pseudo-target to
141 force make to treat them properly.  See the manual for details.
142
143
144 Ports
145 -----
146
147   - See README.customs for details on integrating GNU make with the
148     Customs distributed build environment from the Pmake distribution.
149
150   - See README.VMS for details about GNU Make on OpenVMS.
151
152   - See README.Amiga for details about GNU Make on AmigaDOS.
153
154   - See README.W32 for details about GNU Make on Windows NT, 95, or 98.
155
156   - See README.DOS for compilation instructions on MS-DOS and MS-Windows
157     using DJGPP tools.
158
159     A precompiled binary of the MSDOS port of GNU Make is available as part
160     of DJGPP; see the WWW page http://www.delorie.com/djgpp/ for more
161     information.
162
163     The Cygwin project maintains its own port of GNU make.  That port may have
164     patches which are not present in this version.  If you are using Cygwin
165     you should use their version of GNU make, and if you have questions about
166     it you should start by asking on those mailing lists and forums.
167
168 Please note there are two _separate_ ports of GNU make for Microsoft
169 systems: a native Windows tool built with (for example) MSVC or Cygwin,
170 and a DOS-based tool built with DJGPP.  Please be sure you are looking
171 at the right README!
172
173 \f
174 -------------------------------------------------------------------------------
175 Copyright (C) 1988-2020 Free Software Foundation, Inc.
176 This file is part of GNU Make.
177
178 GNU Make is free software; you can redistribute it and/or modify it under the
179 terms of the GNU General Public License as published by the Free Software
180 Foundation; either version 3 of the License, or (at your option) any later
181 version.
182
183 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
184 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
185 A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
186
187 You should have received a copy of the GNU General Public License along with
188 this program.  If not, see <http://www.gnu.org/licenses/>.