manpagez: man pages & more
info automake
Home | html | info | man
[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

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 ‘’.

Inside a fragment, the construct %reldir% is replaced with the directory of the fragment relative to the base ‘’. Similarly, %canon_reldir% is replaced with the canonicalized (see section How derived variables are named) 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 ‘’ (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

[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated on January 25, 2014 using texi2html 5.0.

© 2000-2018
Individual documents may contain additional copyright information.