Re: make contest
Aleksey Cheusov -> debian-russian@lists.debian.org @ Thu, 02 Oct 2008 15:05:17 +0300:
AC>>>>> .include <bsd.subdir.mk>
>>>> Ты решал не ту задачу. Решил ты ее или нет, я уж не могу сказать,
>>>> поскольку непонятно, какую решал, но решал - не ту.
AC>>> Ну ёпрст 8-) Я решил ту задачу, именно ту - строю пакет из бинарей,
AC>>> которые строятся из .с файлов. При желании построить пакет
AC>>> измененные .c таки учитываются, и перед построением пакета строятся
AC>>> перестраиваются бинари. Дописать pkg/Makefile ты и сам в состоянии.
>> А я не ставил задачу "построить пакет". Если кто не заметил.
>> Я просто оставил один аспект реальной задачи и максимально упростил
>> модель. Могу показать полную. Это, правда, будет довольно длинное
>> письмо...
AC> Задача стояла построить _зависящую_ цель (пакет) при измениях в
AC> исходных файлах _зависимых_ целей (конкретные программы). Эта задача решена.
Задача подразумевала некоторую вполне конкретную раскладку по
директориям. А не как понравится тебе.
AC> Но решения ты не понял. Ладно, я расшифрую - решение в том, чтобы
AC> unconditionally запустить make последовательно вначале для зависимостей,
AC> затем для главной задачи - именно это делает bsd.subdir.mk.
AC> Обрати внимание на директиву .WAIT, это для make -jN.
Там не sub, там sibling. Впрочем, может быть, это и не важно. Но я не
вижу, как твое решение масштабируется на реальную жизнь, когда надо
будет в A получить актуальным не все, а только конкретный бинарник,
когда в B изменился один исходник. Возможно, иррелевантный к этому
бинарнику. Или один хедер, который к этому бинарнику вполне релевантен,
но через один объектник из B, а не пятнадцать, которые там зависят от
этого хедера.
То есть, задачу ты не решил ни формально, ни фактически. По разным
причинам, но не решил.
--
Artem Chuprina
RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru
Чем отличается свобода от независимости?
Независимость - это когда за тебя не платят.
А свобода - когда за тебя не думают.
Reply to: