automake-1.16: DESTDIR

 
 2.2.10 Building Binary Packages Using DESTDIR
 ---------------------------------------------
 
 The GNU Build System’s ‘make install’ and ‘make uninstall’ interface
 does not exactly fit the needs of a system administrator who has to
 deploy and upgrade packages on lots of hosts.  In other words, the GNU
 Build System does not replace a package manager.
 
    Such package managers usually need to know which files have been
 installed by a package, so a mere ‘make install’ is inappropriate.
 
    The ‘DESTDIR’ variable can be used to perform a staged installation.
 The package should be configured as if it was going to be installed in
 its final location (e.g., ‘--prefix /usr’), but when running ‘make
 install’, the ‘DESTDIR’ should be set to the absolute name of a
 directory into which the installation will be diverted.  From this
 directory it is easy to review which files are being installed where,
 and finally copy them to their final location by some means.
 
    For instance here is how we could create a binary package containing
 a snapshot of all the files to be installed.
 
      ~/amhello-1.0 % ./configure --prefix /usr
      ...
      ~/amhello-1.0 % make
      ...
      ~/amhello-1.0 % make DESTDIR=$HOME/inst install
      ...
      ~/amhello-1.0 % cd ~/inst
      ~/inst % find . -type f -print > ../files.lst
      ~/inst % tar zcvf ~/amhello-1.0-i686.tar.gz `cat ../files.lst`
      ./usr/bin/hello
      ./usr/share/doc/amhello/README
 
    After this example, ‘amhello-1.0-i686.tar.gz’ is ready to be
 uncompressed in ‘/’ on many hosts.  (Using ‘`cat ../files.lst`’ instead
 of ‘.’ as argument for ‘tar’ avoids entries for each subdirectory in the
 archive: we would not like ‘tar’ to restore the modification time of
 ‘/’, ‘/usr/’, etc.)
 
    Note that when building packages for several architectures, it might
 Two-Part Install::) to gather architecture-independent files in a single
 package.
 
    ⇒Install, for more information.