Make
Материал из Википедии — свободной энциклопедии
- Правильный заголовок этой статьи — make. Он показан некорректно из-за технических ограничений.
make — утилита, автоматизирующая процесс преобразования файлов из одной формы в другую. Make определяет и запускает необходимые для этого программы (эти программы называются зависимостями).
Отслеживание зависимостей основано на информации о времени изменения входных файлов. Чаще всего это используется для компиляции исходного кода в объектные файлы и последующей линковки в исполняемые файлы или библиотеки.
Make использует мейкфайлы (makefile), в которых содержатся зависимости и правила для их удовлетворения.
[править] Происхождение
В настоящее время существует множество утилит для отслеживания зависимостей, но make — одна из самых широко распространённых, в первую очередь благодаря тому, что она включена в Unix, начиная с версии PWB (for Programmer’s Workbench), которая содержала инструменты для разработки программного обеспечения.
Make была создана Стюартом Фельдманом (Stuart Feldman) в 1977 году в Bell Labs.
До создания make системы сборки (компиляции) ПО Unix обычно состояли из shell-скриптов make и install, сопровождавших исходный код программ.
[править] Современные версии
Существует несколько версий make, основанных на оригинальной make или написанных с нуля, которые использует те же самые форматы файлов и базовые принципы и алгоритмы, а также содержащие некоторые улучшения и расширения. Например:
- BSD make, которая основана на работе Адама де Бура (Adam de Boor) над версией make, с возможностью параллельной сборки и прошла некоторые модификации во FreeBSD, NetBSD и OpenBSD.
- GNU make — часть большинства дистрибутивов GNU/Linux и часто используется в сочетании с GNU build system.
POSIX включает себя стандарт основных возможностей утилиты make, который выполнен с разной степенью в Unix-подобных версиях make. В основном, простые мейкфайлы могут быть использованы различными версиями make.
[править] Ссылки
В Википедии есть портал «Свободное программное обеспечение» |