Fix bug #11183.
[make.git] / README.cvs
blob7ce2cec5c976900566db3f1274646e26a28743e3
1                                                                      -*-text-*-
3 -------------------------------------------------------------------------------
4 Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
5 This file is part of GNU Make.
7 GNU Make is free software; you can redistribute it and/or modify it under the
8 terms of the GNU General Public License as published by the Free Software
9 Foundation; either version 2, or (at your option) any later version.
11 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
12 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
13 A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License along with
16 GNU Make; see the file COPYING.  If not, write to the Free Software
17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 -------------------------------------------------------------------------------
20 Obtaining CVS Code
21 ------------------
23 This seems redundant, since if you're reading this you most likely have
24 already performed this step; however, for completeness, you can obtain
25 the GNU make source code via anonymous CVS from the FSF's Savannah
26 project <http://savannah.gnu.org/projects/make/>:
28   $ cvs -d:pserver:anoncvs@cvs.savannah.gnu.org:/sources/make co make
30 You might want to use the "-z3" option to get compression, and you most
31 certainly will want the -P option to avoid unneeded directories
32 cluttering up your source.  Personally I add these (as well as -dP for
33 update) to my ~/.cvsrc file.
36 If you have an older version of CVS, you might have to login first.
37 There is no password; just hit the ENTER key if you are asked for one.
40 Building From CVS
41 -----------------
43 To build GNU make from CVS, you will need Autoconf, Automake, and
44 Gettext, and any tools that those utilities require (GNU m4, Perl,
45 etc.).  See the configure.in file to find the minimum versions of each
46 of these tools.  You will also need a copy of wget.
48 After checking out the code, you will need to perform these steps to get
49 to the point where you can run "make".
52  1) $ autoreconf -i -s
54     This rebuilds all the things that need rebuilding, installing
55     missing files as symbolic links.
57     You may get warnings here about missing files like README, etc.
58     Ignore them, they are harmless.
61  2) $ ./configure
63     Generate a Makefile
66  3) $ make update
68     Use wget to retrieve various other files that GNU make relies on,
69     but does not keep in its own source tree.
71     NB: You may need GNU make to correctly perform this step; if you use
72     a platform-local make you may get problems with missing files in doc/.
75 At this point you have successfully brought your CVS copy of the GNU
76 make source directory up to the point where it can be treated
77 more-or-less like the official package you would get from ftp.gnu.org.
78 That is, you can just run:
80   $ make && make check && make install
82 to build and install GNU make.
85 Creating a Package
86 ------------------
88 Once you have performed the above steps (including the configuration and
89 build) you can create a GNU make package.  This is very simple, just
90 run:
92   $ make dist-gzip
94 and, if you like:
96   $ make dist-bzip2
98 Even better, you should run this:
100   $ make distcheck
102 Which will build both .gz and .bz2 package files, then unpack them into
103 a temporary location, try to build them, and repack them, verifying that
104 everything works, you get the same results, _and_ no extraneous files
105 are left over after the "distclean" rule--whew!!  Now, _that_ is why
106 converting to Automake is worth the trouble!  A big "huzzah!" to Tom
107 T. and the AutoToolers!
110 That's it, you're done!
113 Windows builds from CVS
114 -----------------------
116 If you have a UNIX emulation like CYGWIN you can opt to run the general
117 build procedure above; it will work.  Be sure to read
118 README.W32.template for information on options you might want to use
119 when running ./configure.
121 If you can't or don't want to do that, then rename the file
122 README.W32.template to README.W32 and follow those instructions.
125 Appendix A - For The Brave
126 --------------------------
128 For those of you who trust me implicitly, or are just brave (or
129 foolhardy), here is a canned sequence of commands to build a GNU make
130 distribution package from a virgin CVS source checkout (assuming all the
131 prerequisites are available of course).
133 This list is eminently suitable for a quick swipe o' the mouse and a
134 swift click o' mouse-2 into an xterm.  Go for it!
137 autoreconf -i -s
138 ./configure
139 make update
140 make
141 make check
142 make distcheck