Каждая система отличается.Например, существуют разные компиляторы и версии компиляторов, инструменты вашей системы могут поддерживать определенные флаги (или нет), у вас могут быть установлены определенные библиотеки или нет, и т. Д. Pp. Есть много вещей, которыена компьютерах разные, что может повлиять на компиляцию проекта.
Сценарий configure
пытается выяснить все эти вещи и выдает жалобу, если предварительные условия не выполнены (например, когда отсутствует компилятор или когдабиблиотека отсутствует).Затем он генерирует Makefile, специфичный для вашей системы, и просто набрав make
, мы надеемся, правильно построить проект в вашей системе.
До configure
мы имеливручную настроить Make-файлы (часто настраиваемые части были смещены в отдельный Make-файл).Это означало, что вам нужно было много знать о вашей системе и часто вам нужно было изменить Make-файлы.Это было большое препятствие, тем более что почти каждый проект делал это по-своему.GNU autoconf
и automake
(которые анализируют файлы Makefile.am
и configure.ac
для генерации сценариев Makefile.in
и configure
) действительно очень упрощают ситуацию (особенно если вы делаете экзотические вещи, такие как кросс-компиляция, для которойпочти ни один проект не хочет добавлять поддержку; если вы делаете autoconf
/ automake
в чистом виде, то вы получаете кросс-компиляцию бесплатно, например).