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