(automake-1.16.info)Include


Next: Conditionals Prev: Miscellaneous Up: Top
Enter node , (file) or (file)node

19 Include
**********

Automake supports an ‘include’ directive that can be used to include
other ‘Makefile’ fragments when ‘automake’ is run.  Note that these
fragments are read and interpreted by ‘automake’, not by ‘make’.  As
with conditionals, ‘make’ has no idea that ‘include’ is in use.

   There are two forms of ‘include’:

‘include $(srcdir)/file’
     Include a fragment that is found relative to the current source
     directory.

‘include $(top_srcdir)/file’
     Include a fragment that is found relative to the top source
     directory.

   Note that if a fragment is included inside a conditional, then the
condition applies to the entire contents of that fragment.

   Makefile fragments included this way are always distributed because
they are needed to rebuild ‘Makefile.in’.

   Inside a fragment, the construct ‘%reldir%’ is replaced with the
directory of the fragment relative to the base ‘Makefile.am’.
Similarly, ‘%canon_reldir%’ is replaced with the canonicalized (Note:
Canonicalization) form of ‘%reldir%’.  As a convenience, ‘%D%’ is a
synonym for ‘%reldir%’, and ‘%C%’ is a synonym for ‘%canon_reldir%’.

   A special feature is that if the fragment is in the same directory as
the base ‘Makefile.am’ (i.e., ‘%reldir%’ is ‘.’), then ‘%reldir%’ and
‘%canon_reldir%’ will expand to the empty string as well as eat, if
present, a following slash or underscore respectively.

   Thus, a makefile fragment might look like this:

     bin_PROGRAMS += %reldir%/mumble
     %canon_reldir%_mumble_SOURCES = %reldir%/one.c


automatically generated by info2www version 1.2.2.9