_LIBADD
, _LDFLAGS
, and _LIBTOOLFLAGS
As shown in previous sections, the ‘library_LIBADD’ variable should be used to list extra libtool objects (.lo files) or libtool libraries (.la) to add to library.
The ‘library_LDFLAGS’ variable is the place to list additional libtool linking flags, such as -version-info, -static, and a lot more. See Link mode.
The libtool command has two kinds of options: mode-specific options and generic options. Mode-specific options such as the aforementioned linking flags should be lumped with the other flags passed to the tool invoked by libtool (hence the use of ‘library_LDFLAGS’ for libtool linking flags). Generic options include --tag=tag and --silent (see Invoking libtool for more options) should appear before the mode selection on the command line; in Makefile.ams they should be listed in the ‘library_LIBTOOLFLAGS’ variable.
If ‘library_LIBTOOLFLAGS’ is not defined, then the variable
AM_LIBTOOLFLAGS
is used instead.
These flags are passed to libtool after the --tag=tag
option computed by Automake (if any), so
‘library_LIBTOOLFLAGS’ (or AM_LIBTOOLFLAGS
) is a
good place to override or supplement the --tag=tag
setting.
The libtool rules also use a LIBTOOLFLAGS
variable that should
not be set in Makefile.am: this is a user variable (see Flag Variables Ordering. It allows users to run ‘make
LIBTOOLFLAGS=--silent’, for instance. Note that the verbosity of
libtool can also be influenced with the Automake
silent-rules option (see Options).