4.4.0 introduces the dynamic library build option. It uses Gnu autotools and in particular libtool but is fully backward compatible.
The Gnu autoreconf which is a driver for other autotools: it runs autoconf (building configure from configure.ac), autoheader (creating the AC_CONFIG_HEADERS file, includes/config.h for ISC DHC), aclocal (building aclocal.m4 script), automake (creating .in files from .am files), libtoolize (adding libtool support when enabled in configure.ac) and autopoint (for gettext which is not used by ISC DHCP).
Static libraries are built using the same setup as in previous versions. This enforces strict backward compatibility and is the default option so users who do not want dynamic libraries have nothing different to do. (In other words changes for the support of dynamic libraries is invisible for legacy users).
Dynamic libraries are handled by libtool, and therefore require a few extra steps before invoking configure. For users not reading the documentation but still wanting dynamic libraries "--enable-libtool" is accepted even without these extra steps (cp configure.ac+lt configure.ac; autoreconf -i) in a recovery procedure (invoking config+lt script) but not in a very robust way. Note libtool allows you to build static libraries: there is nothing to make this impossible but as the recommend way to build static libraries does not use libtool it is neither recommended nor supported.
The autoreconf input file is configure.ac. There are four versions of this:
Three scripts manage legacy and libtool options:
Automake uses different names for library related variables if libtool is used or not for some Makefile's the procedure is a bit complex.
Usually the source Makefile is Makefile.am. Automake is run before the distribution build to generate Makefile.in and at configuration time the config.status script is invoked at the end of ./configure on AC_CONFIG_FILES to substitute @xxx@ variables into Makefile.
ISC DHCP uses an extra step with a postconfig phase at the end of ./configure which invokes automake and reruns config.status giving a chain with Makefile.am.in, Makefile.am, Makefile.in and Makefile