Сборка программного обеспечения


Сборка программного обеспечения — сложный процесс, поскольку исходный код нужно особым образом обработать, чтобы созданные исполняемые файлы были работоспособными — и работали бы правильно! Программисты могли бы включать в свои программы подробные инструкции по установке, например: Теперь наберите ar cru .libs/lib20_zlib_plugin.a istream-zlib.o zlib-plugin.o, но это был бы явный садизм с их стороны. Администраторы UNIX сами склонны к садизму, но они категорически против насилия, когда оно направлено против них, — если что-то может быть автоматизировано, то оно будет автоматизировано.

Основной инструмент сборки программного обеспечения — утилита make(1). В текущем каталоге она ищет файл с именем Makefile, полный жутких команд, подобных примеру из предыдущего абзаца. Программа make(1) читает команды и выполняет их, автоматизируя процесс установки независимо от степени его сложности. На самом деле знать начинку Makefile вовсе не обязательно, поэтому здесь этот файл не анализируется.

Каждый Makefile включает в себя различные целевые объекты (targets), или наборы исполняемых инструкций. Например, команда make install ищет в Makefile целевой объект (процедуру) с именем install. Если такая процедура найдена, она выполняется. Имя целевого объекта обычно говорит о процедуре, которая выполняется этим объектом. Так, совершенно очевидно, что команда make install производит установку программного обеспечения. В файле Makefile можно найти целевые объекты для установки, настройки и удаления программного продукта. Программа make(1) может выполнять огромное количество функций, в том числе таких, о которых создатели даже не предполагали. Но в этом и прелесть UNIX!

Комментарии запрещены.