automake-1.16: Staged Installs

 
 12.4 Staged Installs
 ====================
 
 Automake generates support for the ‘DESTDIR’ variable in all install
 rules.  ‘DESTDIR’ is used during the ‘make install’ step to relocate
 install objects into a staging area.  Each object and path is prefixed
 with the value of ‘DESTDIR’ before being copied into the install area.
 Here is an example of typical DESTDIR usage:
 
      mkdir /tmp/staging &&
      make DESTDIR=/tmp/staging install
 
    The ‘mkdir’ command avoids a security problem if the attacker creates
 a symbolic link from ‘/tmp/staging’ to a victim area; then ‘make’ places
 install objects in a directory tree built under ‘/tmp/staging’.  If
 ‘/gnu/bin/foo’ and ‘/gnu/share/aclocal/foo.m4’ are to be installed, the
 above command would install ‘/tmp/staging/gnu/bin/foo’ and
 ‘/tmp/staging/gnu/share/aclocal/foo.m4’.
 
    This feature is commonly used to build install images and packages
 (⇒DESTDIR).
 
    Support for ‘DESTDIR’ is implemented by coding it directly into the
 install rules.  If your ‘Makefile.am’ uses a local install rule (e.g.,
 ‘install-exec-local’) or an install hook, then you must write that code
 to respect ‘DESTDIR’.
 
    ⇒(standards)Makefile Conventions, for another usage example.