automake-1.16: Conditional Subdirectories
7.2 Conditional Subdirectories
==============================
It is possible to define the ‘SUBDIRS’ variable conditionally if, like
in the case of GNU Inetutils, you want to only build a subset of the
entire package.
To illustrate how this works, let’s assume we have two directories,
‘src/’ and ‘opt/’. ‘src/’ should always be built, but we want to decide
in ‘configure’ whether ‘opt/’ will be built or not. (For this example
we will assume that ‘opt/’ should be built when the variable ‘$want_opt’
was set to ‘yes’.)
Running ‘make’ should thus recurse into ‘src/’ always, and then maybe
in ‘opt/’.
However ‘make dist’ should always recurse into both ‘src/’ and
‘opt/’, because ‘opt/’ should be distributed even if it is not needed in
the current configuration. This means ‘opt/Makefile’ should be created
_unconditionally_.
There are two ways to set up a project like this. You can use
Automake conditionals (⇒Conditionals) or use Autoconf ‘AC_SUBST’
variables (⇒Setting Output Variables (autoconf)Setting Output
Variables.). Using Automake conditionals is the preferred solution.
Before we illustrate these two possibilities, let’s introduce
‘DIST_SUBDIRS’.
Menu