Next: Install Rules for the User, Previous: Extending Installation, Up: Install [Contents][Index]
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 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 Makefile Conventions in The GNU Coding Standards, for another usage example.