(automk14.info.gz) Extending
Info Catalog
(automk14.info.gz) Cygnus
(automk14.info.gz) Top
(automk14.info.gz) Distributing
21 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 non-flat package. 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', 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 /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', `dist', and `distcheck'.
For instance, here is how to create a hard link to an installed
program:
install-exec-hook:
ln $(bindir)/program $(bindir)/proglink
Info Catalog
(automk14.info.gz) Cygnus
(automk14.info.gz) Top
(automk14.info.gz) Distributing
automatically generated byinfo2html