This directory contains the %VERSION% release of GNU Make. See the file NEWS for the user-visible changes from previous releases. In addition, there have been bugs fixed. Please check the system-specific notes below for any caveats related to your operating system. For general building and installation instructions, see the file 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 whatever else. Some systems' Make programs are broken and 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. GNU Make is free software. See the file COPYING for copying conditions. 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. http://www.gnu.org/ http://www.gnu.org/doc/doc.html http://www.gnu.org/manual/manual.html You can also find the latest versions of GNU Make from there. Bug Reporting ------------- You can send GNU make bug reports to . Please see the section of the GNU make manual entitled `Problems and Bugs' for information on submitting useful and complete bug reports. You can also use the FSF's online bug tracking system to submit new problem reports or search for existing ones. A web interface is available here: http://www-gnats.gnu.org:8080/cgi-bin/wwwgnats.pl Use the Category "make". If you need help using GNU make, try these forums: help-make@gnu.org help-utils@gnu.org news:gnu.utils.help news:gnu.utils.bug CVS Access ---------- The GNU make source repository is available via anonymous CVS from the GNU Subversions CVS server; look here for details: http://www.gnu.org/software/devel.html Please note: you won't be able to build GNU make from CVS without installing appropriate maintainer's tools, such as automake, autoconf, GNU make, and GCC. There are no instructions on this included with the tree, so you must be familiar with the installation and use of these tools. We make no guarantees about the contents or quality of the latest code in the CVS repository: it is not unheard of for code that is known to be broken to be checked in. Use at your own risk. Ports ----- - 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. - See README.Amiga for details about GNU Make on AmigaDOS. - See README.W32 for details about GNU Make on Windows NT, 95, or 98. - 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 of DJGPP; see the WWW page http://www.delorie.com/djgpp/ for more information. 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! System-specific Notes --------------------- It has been reported that the XLC 1.2 compiler on AIX 3.2 is buggy such 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. 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.) 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 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 comparing timestamps to get the most accurate possible result. However, at the moment there is no system call (that I'm aware of) that will allow you to *set* a timestamp to a micro- or nano-second granularity. This means that "cp -p" and other similar tools (tar, etc.) cannot exactly duplicate timestamps with micro- and nano-second granularity. If your build system contains rules that depend on proper behavior of tools like "cp -p", you should configure make to not use micro- and nano-second timestamps with the --disable-nsec-timestamps flag.