Copyright (C) 2000-2012 |
GNU Info (automake.info)ExtendingWhen 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 |