[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
8.1.3.2 Conditional compilation using Automake conditionals
An often simpler way to compile source files conditionally is to use Automake conditionals. For instance, you could use this ‘Makefile.am’ construct to build the same ‘hello’ example:
bin_PROGRAMS = hello if LINUX hello_SOURCES = hello-linux.c hello-common.c else hello_SOURCES = hello-generic.c hello-common.c endif |
In this case, ‘configure.ac’ should setup the LINUX
conditional using AM_CONDITIONAL
(see section Conditionals).
When using conditionals like this you don't need to use the
EXTRA_
variable, because Automake will examine the contents of
each variable to construct the complete list of source files.
If your program uses a lot of files, you will probably prefer a conditional ‘+=’.
bin_PROGRAMS = hello hello_SOURCES = hello-common.c if LINUX hello_SOURCES += hello-linux.c else hello_SOURCES += hello-generic.c endif |