Релиз GNU Make 4.0 с поддержкой расширений на языке GNU Guile

9 октября 2013 года

После трёх лет разработки представлен релиз системы сборки GNU Make 4.0. Наиболее существенным новшеством является опциональная поддержка языка GNU Guile (одна из реализаций языка Scheme) для определения дополнительных функций в make-файлах. Проверить в скрипте поддержку Guile можно путём оценки наличия ключевого слова guile в переменной ".FEATURES". При наличии поддержки Guile, появляется возможность загрузки/определения Guile-скриптов с реализацией дополнительных функций и их использование в сценарии сборки.

Из других изменений отмечается:

  • Новый оператор "!=" для вызова внешних shell-команд, выступающий в качестве альтернативы функции $(shell ...) и реализованный для совместимости с BSD make. Например, вместо "var := $(shell echo *.c)" можно написать "var != echo *.c". Появление нового оператора может привести к нарушению обратной совместимости, так как присвоение значений переменным оканчивающимся на символ "!" теперь может интерпретироваться как вызов shell-команд. Чтобы избежать подобного поведения следует использовать пробел для явного отделения имени переменной ("var! = value" вместо "var!= value");
  • Новый оператор присвоения "::=", определённый в стандарте POSIX 2012 и идентичный ранее доступному оператору ":=";
  • Новая функция $(file ...) для организации записи в файл;
  • Новая опция командной строки "--output-sync" ("-O"), включающая режим группировки вывода по целям и рекурсивным вызовам make, что позволяет обеспечить наглядность вывода при сборке с распараллеливанием в несколько потоков (вывод разных экземпляров make не будет смешиваться);
  • Реализация режима трассировки, активируемого через указание опции "--trace". При включении режима выводятся полные сведения о всех шагах сборки с указанием файла и номера строки. Данные выводятся даже, если указана переменная .SILENT или применён префикс "@";
  • В опцию "--debug" добавлена поддержка флага "n" (none) для принудительного отключения всех отладочных настроек;
  • Сервер управления работами (jobserver), используемый для оптимизации выполнения параллельной сборки проектов в несколько потоков, адаптирован для работы на платформе Windows. Для Windows также обеспечена поддержка специальной сборочной цели .ONESHELL;
  • Указание опций "-r" и "-R" в переменной MAKEFLAGS внутри make-файла теперь приводит к удалению всех встроенных правил и переменных.

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Релиз GNU Make 4.0 с поддержкой расширений на языке GNU Guile», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.