GNU Info

Info Node: (automake.info)Extending

(automake.info)Extending


Next: Distributing Prev: Cygnus Up: Top
Enter node , (file) or (file)node

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


automatically generated by info2www version 1.2.2.9