mirror of
https://git.savannah.gnu.org/git/make.git
synced 2024-11-24 20:20:35 +00:00
3a8a7a5d00
Created a README.cvs describing the procedure.
106 lines
3 KiB
Text
106 lines
3 KiB
Text
-*-text-*-
|
|
|
|
Obtaining CVS Code
|
|
------------------
|
|
|
|
This seems redundant, since if you're reading this you most likely have
|
|
already performed this step; however, for completeness, you can obtain
|
|
the GNU make source code via anonymous CVS from the FSF's Savannah
|
|
project <http://savannah.gnu.org/projects/make/>:
|
|
|
|
$ cvs -d:pserver:anoncvs@subversions.gnu.org:/cvsroot/make co make
|
|
|
|
You might want to use the "-z3" option to get compression, and you most
|
|
certainly will want the -P option to avoid unneeded directories
|
|
cluttering up your source. Personally I add these (as well as -dP for
|
|
update) to my ~/.cvsrc file.
|
|
|
|
|
|
If you have an older version of CVS, you might have to login first.
|
|
There is no password; just hit the ENTER key if you are asked for one.
|
|
|
|
|
|
Building From CVS
|
|
-----------------
|
|
|
|
To build GNU make from CVS, you will need Autoconf 2.53 (or better),
|
|
Automake 1.6.1 (or better), and Gettext 0.11.1 (or better), and any
|
|
tools that those utilities require (GNU m4, Perl, etc.).
|
|
|
|
After checking out the code, you will need to perform these steps to get
|
|
to the point where you can run "configure" then "make".
|
|
|
|
Hopefully at some point in the (near) future this will all be obsolete
|
|
and you can just run "autoreconf" and have it DTRT.
|
|
|
|
|
|
1) $ gettextize --no-changelog
|
|
$ mv config/Makefile.am{~,}
|
|
$ mv Makefile.am{~,}
|
|
$ mv configure.in{~,}
|
|
|
|
This will instantiate various m4 macros files, etc. in the config
|
|
and po directories.
|
|
|
|
The mv commands are necessary because gettextize doesn't realize
|
|
that the things it's adding to those files already exist in it.
|
|
|
|
|
|
|
|
2) $ aclocal -I config
|
|
|
|
Generate the proper aclocal.m4 file.
|
|
|
|
|
|
3) $ automake --add-missing
|
|
|
|
Add (symlink) missing files into the distribution, and generate
|
|
Makefile.in's from Makefile.am's.
|
|
|
|
You will see these perhaps unexpected messages (among others which
|
|
you should be expecting :)); just ignore them--I know what I'm doing
|
|
:).
|
|
|
|
Makefile.am: required file `./README' not found
|
|
configure.in:xxx: required file `./build.sh.in' not found
|
|
Makefile.am:xxx: automatically discovered file `getloadavg.c' should not be explicitly mentioned
|
|
|
|
|
|
4) $ autoconf
|
|
|
|
Generate a "configure" script from configure.in and acinclude.m4.
|
|
|
|
|
|
5) $ autoheader
|
|
|
|
Generate a "config.h.in" file from the contents of configure.in,
|
|
etc.
|
|
|
|
|
|
At this point you have successfully brought your CVS copy of the GNU
|
|
make source directory up to the point where it can be treated
|
|
more-or-less like the official package you would get from ftp.gnu.org.
|
|
That is, you can just run:
|
|
|
|
$ ./configure && make && make check && make install
|
|
|
|
to build and install GNU make.
|
|
|
|
|
|
Creating a Package
|
|
------------------
|
|
|
|
Once you have performed the above steps (including the configuration and
|
|
build) you can create a GNU make package. This is very simple, just
|
|
run:
|
|
|
|
$ make dist-gzip
|
|
|
|
and, if you like:
|
|
|
|
$ make dist-bzip2
|
|
|
|
After you do this you should be sure to run "make distcheck" to be sure
|
|
that the package file is correct.
|
|
|
|
That's it!
|