When Automake Isn't Enough
Automake's implicit copying semantics means that many problems can be
worked around by simply adding some `make' targets and rules to
`Makefile.in'. Automake will ignore these additions.
There are some caveats to doing this. Although you can overload a
target already used by Automake, it is often inadvisable, particularly
in the topmost directory of a package with subdirectories. However,
various useful targets have a `-local' version you can specify in your
`Makefile.in'. Automake will supplement the standard target with these
The targets that support a local version are `all', `info', `dvi',
`ps', `pdf', `check', `install-data', `install-exec', `uninstall',
`installdirs', `installcheck' and the various `clean' targets
(`mostlyclean', `clean', `distclean', and `maintainer-clean'). Note
that there are no `uninstall-exec-local' or `uninstall-data-local'
targets; just use `uninstall-local'. It doesn't make sense to
For instance, here is one way to install a file in `/etc':
$(INSTALL_DATA) $(srcdir)/afile $(DESTDIR)/etc/afile
Some targets also have a way to run another target, called a "hook",
after their work is done. The hook is named after the principal target,
with `-hook' appended. The targets allowing hooks are `install-data',
`install-exec', `uninstall', `dist', and `distcheck'.
For instance, here is how to create a hard link to an installed
ln $(DESTDIR)$(bindir)/program $(DESTDIR)$(bindir)/proglink
automatically generated byinfo2html