Have the test driver check for the new format of the time skew error
[make.git] / README.cvs
blob82e6f3730f8310b6c8e88f129d46b7fff05dac60
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.53 (or better),
27 Automake 1.6.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) $ autopoint
37     This will instantiate various m4 macros files, etc. in the config
38     and po directories.
41  2) $ aclocal -I config
43     Generate the proper aclocal.m4 file.
46  3) $ autoheader
48     Generate a "config.h.in" file from the contents of configure.in,
49     etc.
52  4) $ automake --add-missing
54     Add (symlink) missing files into the distribution, and generate
55     Makefile.in's from Makefile.am's.
57     You will see these perhaps unexpected messages (among others which
58     you should be expecting :)); just ignore them--I know what I'm doing
59     :).
61       Makefile.am: required file `./README' not found
62       configure.in:xxx: required file `./build.sh.in' not found
63       Makefile.am:xxx: automatically discovered file `getloadavg.c' should not be explicitly mentioned
66  5) $ autoconf
68     Generate a "configure" script from configure.in and acinclude.m4.
71  6) $ ./configure
73     Generate a Makefile
76  7) $ make update
78     Use wget to retrieve various other files that GNU make relies on,
79     but does not keep in its own source tree.
82 At this point you have successfully brought your CVS copy of the GNU
83 make source directory up to the point where it can be treated
84 more-or-less like the official package you would get from ftp.gnu.org.
85 That is, you can just run:
87   $ make && make check && make install
89 to build and install GNU make.
92 Creating a Package
93 ------------------
95 Once you have performed the above steps (including the configuration and
96 build) you can create a GNU make package.  This is very simple, just
97 run:
99   $ make dist-gzip
101 and, if you like:
103   $ make dist-bzip2
105 Even better, you should run this:
107   $ make distcheck
109 Which will build both .gz and .bz2 package files, then unpack them into
110 a temporary location, try to build them, and repack them, verifying that
111 everything works, you get the same results, _and_ no extraneous files
112 are left over after the "distclean" rule--whew!!  Now, _that_ is why
113 converting to Automake is worth the trouble!  A big "huzzah!" to Tom
114 T. and the AutoToolers!
117 That's it, you're done!
120 Appendix A - For The Brave
121 --------------------------
123 For those of you who trust me implicitly, or are just brave (or
124 foolhardy), here is a canned sequence of commands to build a GNU make
125 distribution package from a virgin CVS source checkout (assuming all the
126 prerequisites are available of course).
128 This list is eminently suitable for a quick swipe o' the mouse and a
129 swift click o' mouse-2 into an xterm.  Go for it!
132 autopoint
133 aclocal -I config
134 autoheader
135 automake --add-missing
136 autoconf
137 ./configure
138 make update
139 make
140 make check
141 make distcheck