|[ < ]||[ > ]||[ << ]||[ Up ]||[ >> ]||[Top]||[Contents]||[Index]||[ ? ]|
Automake tries to make creating a distribution as easy as possible. The
rules are set up by default to distribute those things which Automake
knows belong in a distribution. For instance, Automake always
distributes your ‘configure’ script and your ‘NEWS’ file. All
the files Automake automatically distributes are shown by
$ automake --help ... Files which are automatically distributed, if found: ABOUT-GNU README config.guess ltconfig ABOUT-NLS THANKS config.h.bot ltmain.sh AUTHORS TODO config.h.top mdate-sh BACKLOG acconfig.h config.sub missing COPYING acinclude.m4 configure mkinstalldirs COPYING.LIB aclocal.m4 configure.in stamp-h.in ChangeLog ansi2knr.1 elisp-comp stamp-vti INSTALL ansi2knr.c install-sh texinfo.tex NEWS compile libversion.in ylwrap ...
Automake also distributes some files about which it has no built-in knowledge, but about which it learns from your ‘Makefile.am’. For instance, the source files listed in a ‘_SOURCES’ variable go into the distribution. This is why you ought to list uninstalled header files in the ‘_SOURCES’ variable: otherwise you’ll just have to introduce another variable to distribute them – Automake will only know about them if you tell it.
Not all primaries are distributed by default. The rule is arbitrary, but pretty simple: of all the primaries, only ‘_TEXINFOS’ and ‘_HEADERS’ are distributed by default. (Sources that make up programs and libraries are also distributed by default, but, perhaps confusingly, ‘_SOURCES’ is not considered a primary.)
While there is no rhyme, there is a reason: defaults were chosen based on feedback from users. Typically, ‘enough’ reports of the form ‘I auto-generate my ‘_SCRIPTS’. How do I prevent them from ending up in the distribution?’ would cause a change in the default.
Although the defaults are adequate in many situations, sometimes you
have to distribute files which aren’t covered automatically.
It is easy to add additional files to a distribution; simply list them in
the macro ‘EXTRA_DIST’. You can list files in subdirectories
here. You can also list a directory’s name here and the entire contents
will be copied into the distribution by
Use this last feature with care. A typical failure is that you’ll put a
‘temporary’ file in the directory and then it will end up in the
distribution when you forget to remove it. Similarly, version control
files, such as a ‘CVS’ subdirectory, can easily end up in a
distribution this way.
If a primary is not distributed by default, but in your case it ought to be, you can easily correct it with ‘EXTRA_DIST’:
EXTRA_DIST = $(bin_SCRIPTS)
The next major Automake release (28) will have a better method for controlling whether primaries do or do not go into the distribution. In 1.5 you will be able to use the ‘dist’ and ‘nodist’ prefixes to control distribution on a per-variable basis. You will even be able to simultaneously use both prefixes with a given primary to include some files and omit others:
dist_bin_SCRIPTS = distribute-this nodist_bin_SCRIPTS = but-not-this
|[ < ]||[ > ]||[ << ]||[ Up ]||[ >> ]|
This document was generated by Ben Elliston on July 10, 2015 using texi2html 1.82.