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

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



AC> А это не было объяснение.  Объяснение гораздо короче.  При
AC> последовательном (не обязательно подряд) выполнении команд, допустим,

AC> make
AC> make DEBUG=1

AC> make не догадывается, что пересобрать с отладочными дефайнами надо не
AC> только те файлы, которые менялись, а вообще все.

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

теоретически ставим зависимости на все файлы от некоего файла
debug-depend

а в make пишем:

debug-depend:
    test -e $@ || echo $(DEBUG) > $@
    test "`cat $@`" -ne "$(DEBUG)" && echo $(DEBUG) > $@

и вот она, твоя заветная мечта сбылась ;)

make DEBUG=1 пересобирает все после 
make DEBUG=0
и что самое интересное - наоборот тоже работает
--
... 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: