Libtool abstracts shared and static libraries into a unified concept
henceforth called libtool libraries. Libtool libraries are
files using the .la suffix, and can designate a static library,
a shared library, or maybe both.
Libtool provides for the exact nature of a library to be
determined when ./configure is run: not all platforms support
all kinds of libraries, and users can explicitly select which
libraries should be built. (The package’s maintainers can
tune the default, see The
macro in The Libtool Manual.)
Libtool is also used during compilation, because object files for shared and static libraries must be compiled differently. Object files built by libtool are called libtool objects: these are files using the .lo suffix. Libtool libraries are built from these libtool objects.
Before we discuss how to use libtool with Automake in detail, it should be noted that the libtool manual also has a section about how to use Automake with libtool (see Using Automake with Libtool in The Libtool Manual).