Building a library is much like building a program. In this case, the
name of the primary is LIBRARIES
. Libraries can be installed in
libdir
or pkglibdir
.
See A Shared Library, for information on how to build shared
libraries using libtool and the LTLIBRARIES
primary.
Each _LIBRARIES
variable is a list of the libraries to be built.
For instance to create a library named libcpio.a
, but not install
it, you would write:
noinst_LIBRARIES = libcpio.a
The sources that go into a library are determined exactly as they are
for programs, via the _SOURCES
variables. Note that the library
name is canonicalized (see Canonicalization), so the _SOURCES
variable corresponding to liblob.a
is liblob_a_SOURCES
,
not liblob.a_SOURCES
.
Extra objects can be added to a library using the
library
_LIBADD
variable. This should be used for objects
determined by configure
. Again from cpio
:
libcpio_a_LIBADD = $(LIBOBJS) $(ALLOCA)
In addition, sources for extra objects that will not exist until
configure-time must be added to the BUILT_SOURCES
variable
(see Sources).