Dmitry E. Oboukhov -> debian-russian@lists.debian.org @ Wed, 1 Oct 2008 12:24:24 +0400:
AC>> make, напомню, в отличие от gcc, вызывают не только чтобы собрать цель, AC>> но и чтобы _пере_собрать ее. DEO> gcc вызывают не только для того чтобы собрать .o, но и пересобрать .o DEO> нет отличий gcc вызывают для того, чтобы сделать новый .o _вместо_ старого. Он про старый вообще не думает, он его молча затирает. make - думает. Если это не отличие, то ты не в курсе, зачем нужен make. AC>> С минимальными затратами. Он именно для AC>> этого придуман, иначе он был бы нафиг не нужен, шелловский скрипт, AC>> начинающийся с set -e, того же результата достигает куда проще и с куда AC>> меньшими возможностями ошибок. DEO> каждая тулза для чего-то задумана DEO> шелл - для простоты склейки работы разных утилит DEO> make - для простоты сборки make как раз усложняет сборку по сравнению с тупым шелловским скриптом. Но удешевляет ее за счет этого. AC>> Он, конечно, _заодно_ позволяет и собрать цель, но это, прямо AC>> скажем, не основное его назначение, а именно что побочный эффект. AC>> Так вот, рекурсивный вызов make ломает его основную AC>> функциональность. Побочную, правда, сохраняет. DEO> вызов внешнего make - нерекурсивный DEO> и ничего не ломает Ты не подумал о том, о чем я тебя просил подумать? Или подумал, но не понял? AC>> Кстати, грабель подобного типа в дебиановских пакетах мне попадалось. AC>> Я, правда, заранее знаю, что они там есть... Но, в частности, мне AC>> попадался пакет, который не собирался с первой попытки, а собирался AC>> только со второй... Причем стараниями мейнтейнера, а не автора AC>> апстрима... DEO> а сколько пакетов собираются с первой попытки но не собираются со DEO> второй... Это как раз существенно более типичная иллюстрация к recursive make considered harmful. Но в натуре, как правило вот ровно к этому. -- Artem Chuprina RFC2822: <ran{}ran.pp.ru> Jabber: [EMAIL PROTECTED] -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]