Automake can handle derived objects which are not C programs. Sometimes the support for actually building such objects must be explicitly supplied, but Automake will still automatically handle installation and distribution.
It is possible to define and install programs which are scripts. Such
programs are listed using the `SCRIPTS' primary name.
automake doesn't define any dependencies for scripts; the
`Makefile.am' should include the appropriate rules.
automake does not assume that scripts are derived objects; such
objects must be deleted by hand; see section What Gets Cleaned for more information.
automake itself is a script that is generated at configure time
from `automake.in'. Here is how this is handled:
bin_SCRIPTS = automake
automake appears in the
AC_OUTPUT macro, a target
for it is automatically generated.
Script objects can be installed in
Header files are specified by the `HEADERS' family of variables.
Generally header files are not installed, so the
variable will be the most used.
All header files must be listed somewhere; missing ones will not appear in the distribution. Often it is clearest to list uninstalled headers with the rest of the sources for a program. See section Building a program. Headers listed in a `_SOURCES' variable need not be listed in any `_HEADERS' variable.
Headers can be installed in
Automake supports the installation of miscellaneous data files using the `DATA' family of variables.
Such data can be installed in the directories
By default, data files are not included in a distribution.
Here is how
automake installs its auxiliary data files:
pkgdata_DATA = clean-kr.am clean.am ...
Occasionally a file which would otherwise be called "source" (eg a C
`.h' file) is actually derived from some other file. Such files
should be listed in the
Built sources are also not compiled by default. You must explicitly mention them in some other `_SOURCES' variable for this to happen.
Note that, in some cases,
BUILT_SOURCES will work in somewhat
suprising ways. In order to get the built sources to work with
automatic dependency tracking, the `Makefile' must depend on
$(BUILT_SOURCES). This can cause these sources to be rebuilt at
what might seem like funny times.
Go to the first, previous, next, last section, table of contents.