Next: Standard Configuration Variables, Previous: Standard Targets, Up: Use Cases
The GNU Coding Standards also specify a hierarchy of variables to denote installation directories. Some of these are:
| Directory variable | Default value | 
|---|---|
| prefix | /usr/local | 
| exec_prefix | ${prefix} | 
| bindir | ${exec_prefix}/bin | 
| libdir | ${exec_prefix}/lib | 
| ... | |
| includedir | ${prefix}/include | 
| datarootdir | ${prefix}/share | 
| datadir | ${datarootdir} | 
| mandir | ${datarootdir}/man | 
| infodir | ${datarootdir}/info | 
| docdir | ${datarootdir}/doc/${PACKAGE} | 
| ... | 
Each of these directories has a role which is often obvious from its
name.  In a package, any installable file will be installed in one of
these directories.  For instance in amhello-1.0, the program
hello is to be installed in bindir, the directory for
binaries.  The default value for this directory is
/usr/local/bin, but the user can supply a different value when
calling configure.  Also the file README will be
installed into docdir, which defaults to
/usr/local/share/doc/amhello.
   
A user who wishes to install a package on his own account could proceed as follows:
     ~/amhello-1.0 % ./configure --prefix ~/usr
     ...
     ~/amhello-1.0 % make
     ...
     ~/amhello-1.0 % make install
     ...
   This would install ~/usr/bin/hello and ~/usr/share/doc/amhello/README.
The list of all such directory options is shown by
./configure --help.