- Fix bug #1405: allow multiple pattern-specific variables to match a target.
[make.git] / README.cvs
blob8fa4feb777fd31c04d868ef991e1b42d689d4ecc
1                                                                      -*-text-*-
3 Obtaining CVS Code
4 ------------------
6 This seems redundant, since if you're reading this you most likely have
7 already performed this step; however, for completeness, you can obtain
8 the GNU make source code via anonymous CVS from the FSF's Savannah
9 project <http://savannah.gnu.org/projects/make/>:
11   $ cvs -d:pserver:anoncvs@subversions.gnu.org:/cvsroot/make co make
13 You might want to use the "-z3" option to get compression, and you most
14 certainly will want the -P option to avoid unneeded directories
15 cluttering up your source.  Personally I add these (as well as -dP for
16 update) to my ~/.cvsrc file.
19 If you have an older version of CVS, you might have to login first.
20 There is no password; just hit the ENTER key if you are asked for one.
23 Building From CVS
24 -----------------
26 To build GNU make from CVS, you will need Autoconf 2.57 (or better),
27 Automake 1.7.3 (or better), and Gettext 0.11.5 (or better), and any
28 tools that those utilities require (GNU m4, Perl, etc.).  You will also
29 need a copy of wget.
31 After checking out the code, you will need to perform these steps to get
32 to the point where you can run "make".
35  1) $ autoreconf -i -s
37     This rebuilds all the things that need rebuilding, installing
38     missing files as symbolic links.
41  2) $ ./configure
43     Generate a Makefile
46  3) $ make update
48     Use wget to retrieve various other files that GNU make relies on,
49     but does not keep in its own source tree.
51     NB: You may need GNU make to correctly perform this step; if you use
52     a platform-local make you may get problems with missing files in doc/.
55 At this point you have successfully brought your CVS copy of the GNU
56 make source directory up to the point where it can be treated
57 more-or-less like the official package you would get from ftp.gnu.org.
58 That is, you can just run:
60   $ make && make check && make install
62 to build and install GNU make.
65 Creating a Package
66 ------------------
68 Once you have performed the above steps (including the configuration and
69 build) you can create a GNU make package.  This is very simple, just
70 run:
72   $ make dist-gzip
74 and, if you like:
76   $ make dist-bzip2
78 Even better, you should run this:
80   $ make distcheck
82 Which will build both .gz and .bz2 package files, then unpack them into
83 a temporary location, try to build them, and repack them, verifying that
84 everything works, you get the same results, _and_ no extraneous files
85 are left over after the "distclean" rule--whew!!  Now, _that_ is why
86 converting to Automake is worth the trouble!  A big "huzzah!" to Tom
87 T. and the AutoToolers!
90 That's it, you're done!
93 Appendix A - For The Brave
94 --------------------------
96 For those of you who trust me implicitly, or are just brave (or
97 foolhardy), here is a canned sequence of commands to build a GNU make
98 distribution package from a virgin CVS source checkout (assuming all the
99 prerequisites are available of course).
101 This list is eminently suitable for a quick swipe o' the mouse and a
102 swift click o' mouse-2 into an xterm.  Go for it!
105 autoreconf -i -s
106 ./configure
107 make update
108 make
109 make check
110 make distcheck