./configure checks the required functions, libraries and tools. Depending on their availability and characteristics, it produces Makefile (usually one per directory)
config.h with the necessary #defines.
config.status
config.log
config.cache (optionally, when run with --config-cache) /usr/local): ./configure --prefix=/path/to/another/directory
./configure --disable-FEATURE ./configure --enable-FEATURE=no
./configure --enable-FEATURE
./configure -C creates config.cache. ./configure configure reads /etc/config.site.