[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
7.2.2 Subdirectories with AM_CONDITIONAL
‘configure’ should output the ‘Makefile’ for each directory and define a condition into which ‘opt/’ should be built.
… AM_CONDITIONAL([COND_OPT], [test "$want_opt" = yes]) AC_CONFIG_FILES([Makefile src/Makefile opt/Makefile]) … |
Then SUBDIRS
can be defined in the top-level ‘Makefile.am’
as follows.
if COND_OPT MAYBE_OPT = opt endif SUBDIRS = src $(MAYBE_OPT) |
As you can see, running make
will rightly recurse into
‘src/’ and maybe ‘opt/’.
As you can't see, running ‘make dist’ will recurse into both
‘src/’ and ‘opt/’ directories because ‘make dist’, unlike
‘make all’, doesn't use the SUBDIRS
variable. It uses the
DIST_SUBDIRS
variable.
In this case Automake will define ‘DIST_SUBDIRS = src opt’
automatically because it knows that MAYBE_OPT
can contain
‘opt’ in some condition.