Major updates in preparation for 3.80.
[make.git] / README.template
blob9912ffda9ba42c5fea3d75e98df28600ee52125b
1 This directory contains the %VERSION% release of GNU Make.
3 See the file NEWS for the user-visible changes from previous releases.
4 In addition, there have been bugs fixed.
6 Please check the system-specific notes below for any caveats related to
7 your operating system.
9 For general building and installation instructions, see the file INSTALL.
11 If you need to build GNU Make and have no other `make' program to use,
12 you can use the shell script `build.sh' instead.  To do this, first run
13 `configure' as described in INSTALL.  Then, instead of typing `make' to
14 build the program, type `sh build.sh'.  This should compile the program
15 in the current directory.  Then you will have a Make program that you can
16 use for `./make install', or whatever else.
18 Some systems' Make programs are broken and cannot process the Makefile for
19 GNU Make.  If you get errors from your system's Make when building GNU
20 Make, try using `build.sh' instead.
23 GNU Make is free software.  See the file COPYING for copying conditions.
26 Downloading
27 -----------
29 GNU Make can be obtained in many different ways.  See a description here:
31   http://www.gnu.org/software/software.html
34 Documentation
35 -------------
37 GNU make is fully documented in the GNU Make manual, which is contained
38 in this distribution as the file make.texinfo.  You can also find
39 on-line and preformatted (PostScript and DVI) versions at the FSF's web
40 site.  There is information there about ordering hardcopy documentation.
42   http://www.gnu.org/
43   http://www.gnu.org/doc/doc.html
44   http://www.gnu.org/manual/manual.html
47 Development
48 -----------
50 GNU Make development is hosted by Savannah, the FSF's online development
51 management tool.  Savannah is here:
53   http://savannah.gnu.org
55 And the GNU Make development page is here:
57   http://savannah.gnu.org/projects/make/
59 You can find most information concerning the development of GNU Make at
60 this site.
63 Bug Reporting
64 -------------
66 You can send GNU make bug reports to <bug-make@gnu.org>.  Please see the
67 section of the GNU make manual entitled `Problems and Bugs' for
68 information on submitting useful and complete bug reports.
70 You can also use the online bug tracking system in the Savannah GNU Make
71 project to submit new problem reports or search for existing ones:
73   http://savannah.gnu.org/bugs/?group_id=71
75 If you need help using GNU make, try these forums:
77   help-make@gnu.org
78   help-utils@gnu.org
79   news:gnu.utils.help
80   news:gnu.utils.bug
82   http://savannah.gnu.org/support/?group_id=71
84 You may also find interesting patches to GNU Make available here:
86   http://savannah.gnu.org/patch/?group_id=71
88 Note these patches are provided by our users as a service and we make no
89 statements regarding their correctness.  Please contact the authors
90 directly if you have a problem or suggestion for a patch available on
91 this page.
94 CVS Access
95 ----------
97 The GNU make source repository is available via anonymous CVS from the
98 GNU Subversions CVS server; look here for details:
100   http://savannah.gnu.org/cvs/?group_id=71
102 Please note: you won't be able to build GNU make from CVS without
103 installing appropriate maintainer's tools, such as GNU m4, automake,
104 autoconf, Perl, GNU make, and GCC.  See the README.cvs file for hints on
105 how to build GNU make once these tools are available.  We make no
106 guarantees about the contents or quality of the latest code in the CVS
107 repository: it is not unheard of for code that is known to be broken to
108 be checked in.  Use at your own risk.
111 Ports
112 -----
114   - See README.customs for details on integrating GNU make with the
115     Customs distributed build environment from the Pmake distribution.
117   - See readme.vms for details about GNU Make on OpenVMS.
119   - See README.Amiga for details about GNU Make on AmigaDOS.
121   - See README.W32 for details about GNU Make on Windows NT, 95, or 98.
123   - See README.DOS for compilation instructions on MS-DOS and MS-Windows
124     using DJGPP tools.
126     A precompiled binary of the MSDOS port of GNU Make is available as part
127     of DJGPP; see the WWW page http://www.delorie.com/djgpp/ for more
128     information.
130 Please note there are two _separate_ ports of GNU make for Microsoft
131 systems: a native Windows tool built with (for example) MSVC or Cygwin,
132 and a DOS-based tool built with DJGPP.  Please be sure you are looking
133 at the right README!
136 System-specific Notes
137 ---------------------
139 It has been reported that the XLC 1.2 compiler on AIX 3.2 is buggy such
140 that if you compile make with `cc -O' on AIX 3.2, it will not work correctly.
141 It is said that using `cc' without `-O' does work.
143 One area that is often a problem in configuration and porting is the code
144 to check the system's current load average.  To make it easier to test and
145 debug this code, you can do `make check-loadavg' to see if it works
146 properly on your system.  (You must run `configure' beforehand, but you
147 need not build Make itself to run this test.)
149 Another potential source of porting problems is the support for large
150 files (LFS) in configure for those operating systems that provide it.
151 Please report any bugs that you find in this area.  If you run into
152 difficulties, then as a workaround you should be able to disable LFS by
153 adding the `--disable-largefile' option to the `configure' script.
155 On systems that support micro- and nano-second timestamp values and
156 where stat(2) provides this information, GNU make will use it when
157 comparing timestamps to get the most accurate possible result.  However,
158 at the moment there is no system call (that I'm aware of) that will
159 allow you to *set* a timestamp to a micro- or nano-second granularity.
160 This means that "cp -p" and other similar tools (tar, etc.) cannot
161 exactly duplicate timestamps with micro- and nano-second granularity.
162 If your build system contains rules that depend on proper behavior of
163 tools like "cp -p", you should configure make to not use micro- and
164 nano-second timestamps with the --disable-nsec-timestamps flag.