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 (see Conditionals) or use Autoconf AC_SUBST
variables (see Setting Output
Variables in The Autoconf Manual). Using Automake
conditionals is the preferred solution. Before we illustrate these
two possibilities, let’s introduce DIST_SUBDIRS
.