manpagez: man pages & more
info automake
Home | html | info | man
[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

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 (see section Building Binary Packages Using 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.

See (standards)Makefile Conventions section `Makefile Conventions' in The GNU Coding Standards, for another usage example.


© manpagez.com 2000-2024
Individual documents may contain additional copyright information.