autoconf: Basic Installation

1 
1 16.1 Basic Installation
1 =======================
1 
1 Briefly, the shell commands `./configure; make; make install' should
1 configure, build, and install this package.  The following
1 more-detailed instructions are generic; see the `README' file for
1 instructions specific to this package.  More recommendations for GNU
11 packages can be found in ⇒Makefile Conventions
 (standards)Makefile Conventions.
1 
1    The `configure' shell script attempts to guess correct values for
1 various system-dependent variables used during compilation.  It uses
1 those values to create a `Makefile' in each directory of the package.
1 It may also create one or more `.h' files containing system-dependent
1 definitions.  Finally, it creates a shell script `config.status' that
1 you can run in the future to recreate the current configuration, and a
1 file `config.log' containing compiler output (useful mainly for
1 debugging `configure').
1 
1    It can also use an optional file (typically called `config.cache'
1 and enabled with `--cache-file=config.cache' or simply `-C') that saves
1 the results of its tests to speed up reconfiguring.  Caching is
1 disabled by default to prevent problems with accidental use of stale
1 cache files.
1 
1    If you need to do unusual things to compile the package, please try
1 to figure out how `configure' could check whether to do them, and mail
1 diffs or instructions to the address given in the `README' so they can
1 be considered for the next release.  If you are using the cache, and at
1 some point `config.cache' contains results you don't want to keep, you
1 may remove or edit it.
1 
1    The file `configure.ac' (or `configure.in') is used to create
1 `configure' by a program called `autoconf'.  You need `configure.ac' if
1 you want to change it or regenerate `configure' using a newer version
1 of `autoconf'.
1 
1    The simplest way to compile this package is:
1 
1   1. `cd' to the directory containing the package's source code and type
1      `./configure' to configure the package for your system.
1 
1      Running `configure' might take a while.  While running, it prints
1      some messages telling which features it is checking for.
1 
1   2. Type `make' to compile the package.
1 
1   3. Optionally, type `make check' to run any self-tests that come with
1      the package, generally using the just-built uninstalled binaries.
1 
1   4. Type `make install' to install the programs and any data files and
1      documentation.  When installing into a prefix owned by root, it is
1      recommended that the package be configured and built as a regular
1      user, and only the `make install' phase executed with root
1      privileges.
1 
1   5. Optionally, type `make installcheck' to repeat any self-tests, but
1      this time using the binaries in their final installed location.
1      This target does not install anything.  Running this target as a
1      regular user, particularly if the prior `make install' required
1      root privileges, verifies that the installation completed
1      correctly.
1 
1   6. You can remove the program binaries and object files from the
1      source code directory by typing `make clean'.  To also remove the
1      files that `configure' created (so you can compile the package for
1      a different kind of computer), type `make distclean'.  There is
1      also a `make maintainer-clean' target, but that is intended mainly
1      for the package's developers.  If you use it, you may have to get
1      all sorts of other programs in order to regenerate files that came
1      with the distribution.
1 
1   7. Often, you can also type `make uninstall' to remove the installed
1      files again.  In practice, not all packages have tested that
1      uninstallation works correctly, even though it is required by the
1      GNU Coding Standards.
1 
1   8. Some packages, particularly those that use Automake, provide `make
1      distcheck', which can by used by developers to test that all other
1      targets like `make install' and `make uninstall' work correctly.
1      This target is generally not run by end users.
1