Все время меня не покидало ощущение что надо мною всячески глумятся и местами совершенно неприкрыто издеваются и вообще держат за конченного дебила
Вынужден повторить собственные слова:
разработчика под linux рассматривают как врага и относятся к нему соотв-ноНачнем например с того что никакого отладчика для gnu make в природе нет в принципе. Все описанные в главе 12 Debugging Makefiles советы подозрительно
Да чо там отладчика - у них нет даже встроенных арифметических операций (с 1977 года ! адский ад какой-то). Приложение B представляет канешна весьма впечатляющий пример преодоления искусственных трудностей, но это вот именно оно - "рассматривают как врага"
Более того - я дичайше ржал над главой 10 - Improving the Performance of make. Сначала граждане весьма искусно сделали все чтобы для любой нетривиальной операции нужно было вызывать всякие внешние программы типа sed/awk через shell. Потом внезапно™ оказывается что вызов внешнего shellа на каждый чих - весьма дорогая операция и ее нужно всячески избегать (бгг)
Казалось бы следующим логичным шагом должно стать встраивание более-менее нормального языка программирования внутрь make вместо его весьма усеченного набора встроенных ф-ций. Я могу даже догадаться какого именно языка - например в том же приложении B только в путь используются идиомы lispа. И у них есть даже функция eval !
Но хрен там - линуксоиды способны встроить lisp только в свою священную корову emacs, ни во что другое (где оно менее будет смахивать на седло на козе) совершенно не можно - это ересь и Столлман проклянет, бгг
Насчёт "отладки" - таки действительно адов пиздец. Плачу кровавыми слезами каждый раз, когда пытаюсь собрать какую-то не лишком well-coded GNU-тую библиотеку в cygwin/mingw.
ОтветитьУдалитьАлсо, по-настоящему жесть с "sed/awk через shell" у красноглазых наблюдается в init-скриптах. По-моему, писать такие компоненты операционной системы на шелл-скриптах - это вообще за гранью добра и зла.
ОтветитьУдалить1. Книжке-то уже 7 лет.
ОтветитьУдалить2. Не нравится Makefile - напишите скрипт на Perl или Python. А для обратной совместимости можно в тот самый мейкфайл приписать вызов этого скрипта.
все же линуксоидами становятся существа с некоторой генетической к тому предрасположенностью
ОтветитьУдалитьИ что что книжке 7 лет ? Идем сюда: http://ftp.gnu.org/gnu/make/ и наслаждаемся количеством обоих вышедших с тех пор версий например
Ок. Вычеркиваем первый пункт. Скажите, а отклонения в каком гене приводят к желанию программировать с использованием средства, предназначенного вовсе не для программирования? Этот же ген приводит к росту ЧСВ over 9000 или у вас сразу два отклонения? ;)
ОтветитьУдалитьзаписывает в секретный зеленый блокнотик: "линуксоиды признали что линукс предназначен вовсе не для программирования"
ОтветитьУдалитьНащет бага в днк и ЧСВ over9000 рекомендую спросить Столлмана, бгг
Автор, вы прочитали "плохую" книжку.
ОтветитьУдалитьПро GNU Make стоит почитать:
http://www.cmcrossroads.com/ask-mr-make
Там из GNU Make "выдавливают" все соки.
Конечно после чтения Вы поймете, правда на другом уровне, что у GNU Make много проблем.
И кстати у GNU Make есть отладчик - http://gmd.sourceforge.net/ и ключи - сдампить ВСЕ.
Расширяемые системы сборок, с арифметикой в комплекте, куча - Cmake, Scons.