| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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 user-supplied targets.
The targets that support a local version are all, info,
dvi, 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 uninstall just
data or just executables.
For instance, here is one way to install a file in `/etc':
install-data-local:
$(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 program:
install-exec-hook:
ln $(DESTDIR)$(bindir)/program $(DESTDIR)$(bindir)/proglink
|
| [ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |