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

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



Dmitry E. Oboukhov -> debian-russian@lists.debian.org  @ Tue, 30 Sep 2008 16:50:39 +0400:

 AC>>> PS: недавно вот sim'овский debian/rules перекроили выкинули
 AC>>> рекурсию, получился изящщненький такой rules на полтора экрана
 AC>>> размером, а был экранов на 7-8 да еще и с рекурсией продраться
 AC>>> сквозь логику можно, но трудно

 AC>> install-stamp:
 AC>> dh_testdir
 AC>> dh_testroot
 AC>> make -C build-sim    install DESTDIR=$(TMP_DIR)/sim
 AC>> make -C build-sim-qt install DESTDIR=$(TMP_DIR)/sim-qt

 AC>> Если это не рекурсия, то кто тогда рекурсия?

 DEO> рекурсия это
 DEO> debian/rules пара-переменных цель

Это - рекурсивный вызов makefile.  А речь идет про рекурсивный вызов make.

 DEO> вызов внешних make - это не рекурсия, это тоже самое что и вызов
 DEO> внешнего компилятора.

Нет.  Домашнее упражнение: найти принципиальную разницу.  Хинт:
внимательно осознать цели и задачи make.

Хинт номер два: данный пример (debian/rules от sim) по совместительству,
если дочитать до touch $@ конца обрезанный мной набор команд, являет
собой один из примеров того, почему recursive make considered harmful.
Оно, конечно, большинство дебиановских разработчиков давно привыкли
обходить эти грабли стороной, под девизом "компьютеры нынче мощные".  Но
это не значит, что граблей нет.

-- 
Artem Chuprina
RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru

Это неправильный шелл. В нем дают неправильный перл. (С)энта


Reply to: