The GNU build system, also known as Autotools, consists of Autoconf, Automake, Libtool, and Gnulib. It is designed to make source code portable by checking for required libraries, functions, and tools. The core of Autotools is the "configure" script, which probes the system and generates Makefiles and config.h files with the necessary compile options. Autoscan and Automake are used to generate initial configure.ac and Makefile.in files. Then Autoconf generates the configure script from configure.ac. This configure script is then used to generate the final Makefile for building the software in a portable way across different systems.