The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

22.05.2016 20:25  Выпуск системы сборки GNU Make 4.2

После полутора лет разработки представлен релиз системы сборки GNU Make 4.2. Кроме исправления ошибок, в новой версии можно отметить следующие улучшения:

  • Добавлена новая переменная $(.SHELLSTATUS), в которой передаётся статус возврата последней функции "!= " или $(shell ...), вызванной из текущего экземпляра make. Ноль означает успешное выполнение, а иное другое значение - не успешное;
  • Функция $(file ...) теперь может читать из файла и при указании $(file ‹FILE) распространяется на содержимое файла;
  • Показываемые номера строк make-файлов теперь явно определяют строку, с которой связана проблема или предупреждение.
  • Стабилизирован и документирован интерфейс "jobserver". Нарушена обратная совместимость: внутренняя опция командной строки "--jobserver-fds" в итоговой спецификации опубликована как "--jobserver-auth";
  • Уровень распараллеливания сборки может быть определён через MAKEFLAGS, даже при включенном jobserver (ранее MAKEFLAGS не принимался во внимание при включении jobserver).


  1. Главная ссылка к новости (http://lists.gnu.org/archive/h...)
  2. OpenNews: Выпуск системы сборки CMake 3.5
  3. OpenNews: Выпуск генератора файлов сборки GNU Automake 1.15
  4. OpenNews: Выпуск системы сборки GNU Make 4.1
  5. OpenNews: Релиз GNU Make 4.0 с поддержкой расширений на языке GNU Guile
Лицензия: CC-BY
Тип: Программы
Ключевые слова: make
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, kachsheev, 20:42, 22/05/2016 [ответить] [смотреть все]
  • +/
    Годно!
     
     
  • 2.3, Анончег, 22:18, 22/05/2016 [^] [ответить] [смотреть все] [показать ветку]
  • +1 +/
    Юный падаван имел в виду вот это ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.4, Аноним, 22:30, 22/05/2016 [^] [ответить] [смотреть все]  
  • +/
    очевидно, юный падаван имел ввиду саму утилиту а номер строки make-файла - штук... весь текст скрыт [показать]
     
     
  • 4.5, Анончег, 22:52, 22/05/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    Получается ребята напрасно старались раз тебе это не нужно ... весь текст скрыт [показать]
     
     
  • 5.12, Аноним, 23:42, 22/05/2016 [^] [ответить] [смотреть все]  
  • +6 +/
    > Получается ребята напрасно старались раз тебе это не нужно?

    Нет, получается, что сама make нужна бОльшему числу людей, чем отображение номеров строк.

     
  • 3.9, kachsheev, 23:38, 22/05/2016 [^] [ответить] [смотреть все]  
  • +2 +/
    Юный падаван имел в виду развие проекта в целом Пока для себя лучшей сисемы сбо... весь текст скрыт [показать]
     
     
  • 4.14, Анончег, 00:13, 23/05/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    Ну вот теперь всё ясно и понятно, неужели было трудно с самого начала так же чёт... весь текст скрыт [показать]
     
     
  • 5.44, e, 09:19, 24/05/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    Что такое подаван ?
    Чем юный п. отличается от пожилого п. ?
     
     
  • 6.49, Какаянахренразница, 09:23, 25/05/2016 [^] [ответить] [смотреть все]  
  • +/
    Правописание хромает Надо писать подован Проверочное слово корован ... весь текст скрыт [показать]
     
  • 1.2, Аноним, 21:08, 22/05/2016 [ответить] [смотреть все]  
  • +1 +/
    В каком веке будет корректная обработка правил с генерацией нескольких файлов?
     
     
  • 2.6, Кармер, 22:54, 22/05/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • –4 +/
    Тов Анонимус любит Fortran ??
     
     
  • 3.7, Анончег, 22:58, 22/05/2016 [^] [ответить] [смотреть все]  
  • +9 +/
    > Тов Анонимус любит Fortran ??

    А что это запрещено? Даже про запреты фортран-парадов и пропаганды фортрана посреди подрастающего поколения ничего не слышно, а уж тем более на опеннетике.

     
  • 3.10, Аноним, 23:39, 22/05/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    Нет, литературное программирование И просто глупо поддерживать совместимость с ... весь текст скрыт [показать]
     
  • 3.22, kravich, 06:23, 23/05/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    Скорее, Protocol Buffers Там из одного proto генерируются одновременно cc и ... весь текст скрыт [показать]
     
     
  • 4.24, dbfbmvdy7uet, 11:27, 23/05/2016 [^] [ответить] [смотреть все]  
  • +2 +/
    ЕМНИП в lex и yacc аналогично.
     
  • 2.15, anon2, 00:21, 23/05/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    пока не придумали специального синтаксиса для задания правил с генерацией нескол... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.17, gvswf556fy24, 00:37, 23/05/2016 [^] [ответить] [смотреть все]  
  • +/
    специальный синтаксис там сейчас сделан... весь текст скрыт [показать]
     
     
  • 4.23, анон2, 10:21, 23/05/2016 [^] [ответить] [смотреть все]  
  • +/
    Пример Только без pattern-rules - они очень мешают при нерекурсивной системе сб... весь текст скрыт [показать]
     
     
  • 5.25, lklhllchsjkgcdjgfyusgf6, 11:29, 23/05/2016 [^] [ответить] [смотреть все]  
  • +/
    Использование такой конструкции не для генерации нескольких целей - это и есть с... весь текст скрыт [показать]
     
     
  • 6.27, yaa, 13:02, 23/05/2016 [^] [ответить] [смотреть все]  
  • +/
    Ну, видимо вопрос был про следующий случай gen создает _два_ файла, a и b c a... весь текст скрыт [показать]
     
     
  • 7.29, iinmlukkgyjvvv, 13:16, 23/05/2016 [^] [ответить] [смотреть все]  
  • –2 +/
    Сейчас это считается двумя независимыми правилами вместо одного Что курил автор... весь текст скрыт [показать]
     
     
  • 8.37, yaa, 15:27, 23/05/2016 [^] [ответить] [смотреть все]  
  • +/
    a b x rule эквивалентно a x rule b x rule и все вполне логично Проблем... весь текст скрыт [показать]
     
     
  • 9.41, fcjbjvcdvuyctrvuyv, 23:18, 23/05/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    facepalm Без неявных правил можно выжить, а без явных правил совсем никак Необх... весь текст скрыт [показать]
     
  • 7.38, анон2, 17:44, 23/05/2016 [^] [ответить] [смотреть все]  
  • +/
    gt оверквотинг удален _Красивого_ способа указать нет Некрасивый - с использо... весь текст скрыт [показать]
     
  • 1.8, nc, 22:59, 22/05/2016 [ответить] [смотреть все]  
  • –2 +/
    Когда уже все перейдут на что-нибудь типа QBS и похоронят эту архаичную хрень?
     
     
  • 2.11, Аноним, 23:40, 22/05/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    Когда вы перепишете linux, gcc, binutils и glibc на Qt.
     
     
  • 3.19, Вареник, 00:41, 23/05/2016 [^] [ответить] [смотреть все]  
  • –2 +/
    Что стартовало в начале 90-х и раньше - так и использует инструментарий-современ... весь текст скрыт [показать]
     
     
  • 4.40, Аноним, 18:16, 23/05/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    Например GNU Make 4.2
     
  • 1.13, nc, 23:59, 22/05/2016 [ответить] [смотреть все]  
  • –5 +/
    Qt тут не при чем разве что QBS разрабатывает та же организация что и Qt Речь... весь текст скрыт [показать]
     
     
  • 2.16, cmp, 00:25, 23/05/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Да как вы задолбали юнные революционеры, сделайте хороший инструмент вам спасибо... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.21, angra, 05:46, 23/05/2016 [^] [ответить] [смотреть все]  
  • +3 +/
    > юнные революционеры
    > на перле

    А не отстал ли ты от жизни?


     
     
  • 4.46, cmp, 10:34, 24/05/2016 [^] [ответить] [смотреть все]  
  • +/
    А не зажрались ли вы по 1Гб памяти тратить на юмы?
     
  • 2.20, anon2, 00:55, 23/05/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +4 +/
    большинство претензий в статье преувеличено, раздуто, а некоторые не соотвествую... весь текст скрыт [показать] [показать ветку]
     
  • 2.28, dq0s4y71, 13:16, 23/05/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +5 +/
    Ну да, круглое колесо - это древний архаизм. Нужно сделать квадратное.
     
     
  • 3.32, Аноним, 13:45, 23/05/2016 [^] [ответить] [смотреть все]  
  • +/
    Нет, но уже изобрели паровую машину, которая по рельсам может тянуть груз сотен ... весь текст скрыт [показать]
     
     
  • 4.34, Michael Shigorin, 14:55, 23/05/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    Так иному дай крылья -- он их всё равно расшибёт об осину ... весь текст скрыт [показать]
     
  • 3.42, fcjbjvcdvuyctrvuyv, 23:19, 23/05/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    круглое колесо запатентовали
     
  • 2.31, Владимир, 13:28, 23/05/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Я был активным сторонником QBS, писал про него на хабре, активно юзал и репортил... весь текст скрыт [показать] [показать ветку]
     
  • 2.33, Michael Shigorin, 14:53, 23/05/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    А кто Вы, извините, такой, чтоб ставить сообществу задачи Мне вот надо -- я себ... весь текст скрыт [показать] [показать ветку]
     
  • 1.30, ananim, 13:22, 23/05/2016 [ответить] [смотреть все]  
  • –1 +/
    и утро начинаем с прекомпиляции всех прог -
     
  • 1.35, Аноним, 15:06, 23/05/2016 [ответить] [смотреть все]  
  • –2 +/
    что-то я не понял про SHELLSTATUS они хотят сказать что раньше make на проверял ... весь текст скрыт [показать]
     
     
  • 2.39, анон2, 18:03, 23/05/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    > что-то я не понял про SHELLSTATUS они хотят сказать что раньше make
    > на проверял статус завершения программ которые он запускает?

    речь идёт о встроенной, (редко используемой)) функции $(shell) - выполнения команды и записи результата в переменную.

    a := $(shell ls)

    Да, раньше статус возврата ls в make узнать было нельзя.

    $(shell) используется для чтения stdout - если значение $a пустое, значит ls завершился с ошибкой.

     
     
  • 3.43, Андрей, 00:26, 24/05/2016 [^] [ответить] [смотреть все]  
  • +/
    > речь идёт о встроенной, (редко используемой))

    Как это редко используемой?

    CFLAGS+='pkg-config gtk+-2.0 --cflags'
    или
    CFLAGS+=$(shell pkg-config gtk+-2.0 --cflags)

    Можно глянуть в vlc: contrib/src/main.mak

     
     
  • 4.45, анон2, 10:25, 24/05/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    По-хорошему pkg-config должен вызывать configure, а не make.
    Редко используемой - потому что в Makefile вызывать $(shell) долго и дорого. Потом удивляются, почему сборка тормозит.
     
     
  • 5.47, Андрей, 11:25, 24/05/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    Звучит логично. Надо будет обращать внимание.
     
  • 2.48, Аноним, 13:44, 24/05/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    проверил, к счастью код возврата выполняемой программы проверяется и все тормози... весь текст скрыт [показать] [показать ветку]
     
  • 1.36, Michael Shigorin, 15:09, 23/05/2016 [ответить] [смотреть все]  
  • +2 +/
    Раз уж в тредике собрались и специалисты, а не только махатели чужой шашкой -- вдруг кому-то пригодится полезная подборка маленьких хитростей по gmake: http://www.cmcrossroads.com/ask-mr-make
     
  • 1.50, zhenya_k, 10:35, 25/05/2016 [ответить] [смотреть все]  
  • –2 +/
    Пробелы в именах файлов и директорий когда будут восприниматься в make?
     
     
  • 2.51, anon2, 00:46, 26/05/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    А что, сейчас игнорируются?))
    Пробелы в путях к файлам в правилах нужно эскейпить, что, правда, вручную делать жутко не удобно.
    Хорошо, что редко когда это нужно - всегда можно проект расположить в директории без пробелов в путях (на виндах можно сделать отображение директории на диск через subst), а пути к системным хедерам, пожалуй, встречаются только в опциях компилятора и автогенеренных dep-файлах зависимостей.
    Если посмотреть на другие системы сборки, на то, как в них сделана обработка строк - например в cook от https://en.m.wikipedia.org/wiki/Peter_Miller_(software_engineer) - то в Gnu make сценарии сборки получаются "чище", легче читаются, чем в cook, именно из-за отсутствия необходимости эскейпить кавычки где-нибудь в регулярном выражении для вызываемого sed.
     
     
  • 3.52, yaa, 09:39, 26/05/2016 [^] [ответить] [смотреть все]  
  • +/
    >     Если посмотреть на другие системы сборки, на то, как в них сделана обработка строк - например в cook от https://en.m.wikipedia.org/wiki/Peter_Miller_(software_engineer) - то в Gnu make сценарии сборки получаются "чище", легче читаются, чем в cook, именно из-за отсутствия необходимости эскейпить кавычки где-нибудь в регулярном выражении для вызываемого sed.

    Зато регулярные выражения с $ внутри make --- $$$$ ;)

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor