1 | -*-text-*-
|
---|
2 |
|
---|
3 | Obtaining CVS Code
|
---|
4 | ------------------
|
---|
5 |
|
---|
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/>:
|
---|
10 |
|
---|
11 | $ cvs -d:pserver:anoncvs@subversions.gnu.org:/cvsroot/make co make
|
---|
12 |
|
---|
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.
|
---|
17 |
|
---|
18 |
|
---|
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.
|
---|
21 |
|
---|
22 |
|
---|
23 | Building From CVS
|
---|
24 | -----------------
|
---|
25 |
|
---|
26 | To build GNU make from CVS, you will need Autoconf, Automake, and
|
---|
27 | Gettext, and any tools that those utilities require (GNU m4, Perl,
|
---|
28 | etc.). See the configure.in file to find the minimum versions of each
|
---|
29 | of these tools. You will also need a copy of wget.
|
---|
30 |
|
---|
31 | After checking out the code, you will need to perform these steps to get
|
---|
32 | to the point where you can run "make".
|
---|
33 |
|
---|
34 |
|
---|
35 | 1) $ autoreconf -i -s
|
---|
36 |
|
---|
37 | This rebuilds all the things that need rebuilding, installing
|
---|
38 | missing files as symbolic links.
|
---|
39 |
|
---|
40 | You may get warnings here about missing files like README, etc.
|
---|
41 | Ignore them, they are harmless.
|
---|
42 |
|
---|
43 |
|
---|
44 | 2) $ ./configure
|
---|
45 |
|
---|
46 | Generate a Makefile
|
---|
47 |
|
---|
48 |
|
---|
49 | 3) $ make update
|
---|
50 |
|
---|
51 | Use wget to retrieve various other files that GNU make relies on,
|
---|
52 | but does not keep in its own source tree.
|
---|
53 |
|
---|
54 | NB: You may need GNU make to correctly perform this step; if you use
|
---|
55 | a platform-local make you may get problems with missing files in doc/.
|
---|
56 |
|
---|
57 |
|
---|
58 | At this point you have successfully brought your CVS copy of the GNU
|
---|
59 | make source directory up to the point where it can be treated
|
---|
60 | more-or-less like the official package you would get from ftp.gnu.org.
|
---|
61 | That is, you can just run:
|
---|
62 |
|
---|
63 | $ make && make check && make install
|
---|
64 |
|
---|
65 | to build and install GNU make.
|
---|
66 |
|
---|
67 |
|
---|
68 | Creating a Package
|
---|
69 | ------------------
|
---|
70 |
|
---|
71 | Once you have performed the above steps (including the configuration and
|
---|
72 | build) you can create a GNU make package. This is very simple, just
|
---|
73 | run:
|
---|
74 |
|
---|
75 | $ make dist-gzip
|
---|
76 |
|
---|
77 | and, if you like:
|
---|
78 |
|
---|
79 | $ make dist-bzip2
|
---|
80 |
|
---|
81 | Even better, you should run this:
|
---|
82 |
|
---|
83 | $ make distcheck
|
---|
84 |
|
---|
85 | Which will build both .gz and .bz2 package files, then unpack them into
|
---|
86 | a temporary location, try to build them, and repack them, verifying that
|
---|
87 | everything works, you get the same results, _and_ no extraneous files
|
---|
88 | are left over after the "distclean" rule--whew!! Now, _that_ is why
|
---|
89 | converting to Automake is worth the trouble! A big "huzzah!" to Tom
|
---|
90 | T. and the AutoToolers!
|
---|
91 |
|
---|
92 |
|
---|
93 | That's it, you're done!
|
---|
94 |
|
---|
95 |
|
---|
96 | Appendix A - For The Brave
|
---|
97 | --------------------------
|
---|
98 |
|
---|
99 | For those of you who trust me implicitly, or are just brave (or
|
---|
100 | foolhardy), here is a canned sequence of commands to build a GNU make
|
---|
101 | distribution package from a virgin CVS source checkout (assuming all the
|
---|
102 | prerequisites are available of course).
|
---|
103 |
|
---|
104 | This list is eminently suitable for a quick swipe o' the mouse and a
|
---|
105 | swift click o' mouse-2 into an xterm. Go for it!
|
---|
106 |
|
---|
107 |
|
---|
108 | autoreconf -i -s
|
---|
109 | ./configure
|
---|
110 | make update
|
---|
111 | make
|
---|
112 | make check
|
---|
113 | make distcheck
|
---|