[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Чем плох рекурсивный make?



AC>>>> понимаешь в чем дело, в том что если бы make догадывалось об этом то ей
AC>>>> пришлось бы перестать быть универсальным инструментом (вон выше по ветке
AC>>>> собирают PDF например, а какой там DEBUG) и стала бы
AC>>>> узкоспециализированным. а это неправильно.

AC>>> Дебуга там нет, но вообще-то pdftex-у в командную строку тоже много чего
AC>>> интересного запихать можно. Во всяких bras и makepp эта задача решена
AC>>> посредством запоминания того, какой именно командой данный target
AC>>> пересобирался последний раз. И если текущая команда получается другая,
AC>>> target считается устаревшим.
AC>> ну так я говорю, значит просто надо DEBUG поставить в зависимости
AC>> и далее проблема станет решенной

AC> Надо _сложно_ поставить в зависимости DEBUG.  Иначе оно будет
AC> пересобирать всё каждый раз.  Подозреваю, что сделать это можно, но
AC> вплотную еще не думал.  Есть шанс, что и не получится.

а мое решение сложно?

то есть пишем в Makefile

DEBUG ?= 0  # кстати не помню ?= это GNUmake или вообще make? хез

...

debug_depends:
    test -e $@ || echo $(DEBUG) > $@
    test "`cat $@`" = "$(DEBUG)" || echo $(DEBUG) > $@

и дальше ставим зависимость от debug_depends

то есть получится что make его перезаписывать будет только при смене
переменных

и соответственно в зависимости:

%.o: %.c debug_depends


--
... mpd is off

. ''`.                               Dmitry E. Oboukhov
: :’  :   email: unera@debian.org jabber://UNera@uvw.ru
`. `~’              GPGKey: 1024D / F8E26537 2006-11-21
  `- 1B23 D4F8 8EC0 D902 0555  E438 AB8C 00CF F8E2 6537

Attachment: signature.asc
Description: Digital signature


Reply to: