(automake-1.16.info)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 setup a project like this. You can use
Automake conditionals (Note: Conditionals) or use Autoconf ‘AC_SUBST’
variables (Note: Setting Output Variables.
). Using Automake conditionals is the preferred solution.
Before we illustrate these two possibilities, let’s introduce
‘DIST_SUBDIRS’.
- SUBDIRS vs DIST_SUBDIRS
- Two sets of directories
- Subdirectories with AM_CONDITIONAL
- Specifying conditional subdirectories
- Subdirectories with AC_SUBST
- Another way for conditional recursion
- Unconfigured Subdirectories
- Not even creating a ‘Makefile’
automatically generated by info2www version 1.2.2.9