[docs] Re: current makefiles again (was: Tuning and profiling)
Oleg A. Paraschenko
olpa на xmlhack.ru
Вт Дек 2 17:15:14 MSK 2003
Привет!
On Tue, 2 Dec 2003 15:40:38 +0300
Vitaly Ostanin <vyt на vzljot.ru> wrote:
> On Tue, 2 Dec 2003 15:12:14 +0300
> "Oleg A. Paraschenko" <olpa на xmlhack.ru> wrote:
>
> > Привет!
> >
> > On Tue, 2 Dec 2003 14:25:44 +0300
> > Vitaly Ostanin <vyt на vzljot.ru> wrote:
> >
> > > Hello, All!
> > >
> > > Я, наверное, пропустил:
> > >
> > > Зачем этапы tuning и profiling смешаны в одном
> > > Makefile.profile ?
> >
> > На данный момент это единый неделимый шаг, поэтому и файл
> > один. Если
> > надо, можно разбить. Но надо ли, учитывая, что profiling
> > используется сейчас только в одном документе?
>
> По логике это должны быть разные шаги. Tuning'ов может несколько.
> Кстати, именно потому, что profiling используется только в одном
> документе, его и нужно оторвать и вообще сделать опциональным.
Ок, готов. Начать отрывать?
>
> Дальше по Makefiles:
>
> Почему удалена куча переменных из Makefile.default-variables ?
В описании зависимостей через суффиксы эти переменные не используются.
А переменные, которые не используются, должны быть удалены.
>
> Зачем нужна условность в конструкции:
>
> ifeq (,$(DOCUMENT_NAME))
> DOCUMENT_NAME = $(notdir $(CURDIR))
> endif
>
> Имя документа и так можно переопределить параметром запуска или
> во включающем Makefile.
Возникла непонятная проблема, что включающий Makefile почему-то не
переопределяет (при этом из командной строки переопределение работает).
Так возник этот workaround.
Будет запись в багзилле -- разберусь, откуда берётся эта проблема.
>
> Зависимость вида
> %.xinclude: %.xml
> накладывает лишние ограничения на имя документа и имя файла после
> объединения.
А именно, что тут лишнее?
>
> Почему нельзя воспользоваться зависимостями через переменные
> $(XINCLUDED): $(XML)
> , как это было сделано в make2 ?
$(XINCLUDED) и $(XML) зависят от $(DOCUMENT_ROOT). Соответственно,
получается единственное правило.
%.xinclude: %.xml может раскрываться в несколько правил, например:
xxx.xinclude: xxx.xml
sdfjhk.xinclude: sdfjhk.xml
allother.xinclude: allother.xml
enough.xinclude: enough.xml
Соответственно, в варианте с % можно говорить:
$ make tmp/xxx.xinclude tmp/sect2.xinclude tmp/sect2.xinclude
или хотя бы
$ make tmp/sect1.xinclude
совершенно не заботясь об установке DOCUMENT_ROOT.
>
> Зачем в doc-template оставлены неиспользуемые Makefiles ?
А что именно лишнее? Кроме того, проверь, на всякий случай свой
doc-template:
$ pwd
.../doc-template
$ cvs status
"Sticky Tag" и "Sticky Date" должны быть "(none)".
>
> По поводу недавних дебатов на тему litprog. Я сейчас смотрю на
> новые makefiles и думаю, ну вот чем скудные комментарии на
> английском лучше, чем litprog ?
Тем, что комментариев должно быть в меру. Например, в Си,
комментарий к коду:
while(*dst++ = *src++);
должен выглядеть так (если вообще нужен): "copy string", но не должен
описывать, что такое указатели, ++ и '\0'.
>
> IMHO, исходная цель ковыряний с Makefiles - сделать их логичнее и
> понятнее - пока не достигнута :(
С первой попытки, похоже, нет. Задавай вопросы дальше. Будем улучшать.
>
> <skipped/>
>
> --
> Regards, Vyt
> mailto: vyt на vzljot.ru
> JID: vyt на vzljot.ru
--
Oleg
Подробная информация о списке рассылки docs