[docs] Re: current makefiles again (was: Tuning and profiling)
Vitaly Ostanin
vyt на vzljot.ru
Вт Дек 2 18:10:17 MSK 2003
On Tue, 2 Dec 2003 17:15:14 +0300
"Oleg A. Paraschenko" <olpa на xmlhack.ru> wrote:
> Привет!
>
> 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
> > накладывает лишние ограничения на имя документа и имя файла
> > после объединения.
>
> А именно, что тут лишнее?
Не будет работать
make DOCUMENT_NAME=article.docbook
Будет сложно переписывать правила везде, где используется
прибитое гвоздями расширение .xinclude
Да, Makefiles переписывались для сборки с учётом зависимостей, но
причём тут тотальная шаблонность? Мы же не проект на С собираем с
тучей файлов.
> > Почему нельзя воспользоваться зависимостями через переменные
> > $(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.
Имеется в виду переменная DOCUMENT_NAME ? О её установке и так не
нужно заботиться.
> > Зачем в doc-template оставлены неиспользуемые Makefiles ?
>
> А что именно лишнее?
Makefile.html-dir, возможно, и другие - я не разобрался.
> Кроме того, проверь, на всякий случай
> свой
> doc-template:
>
> $ pwd
> .../doc-template
> $ cvs status
>
> "Sticky Tag" и "Sticky Date" должны быть "(none)".
Так и есть.
> > По поводу недавних дебатов на тему litprog. Я сейчас смотрю
> > на новые makefiles и думаю, ну вот чем скудные комментарии на
> > английском лучше, чем litprog ?
>
> Тем, что комментариев должно быть в меру. Например, в Си,
> комментарий к коду:
>
> while(*dst++ = *src++);
>
> должен выглядеть так (если вообще нужен): "copy string", но
> не должен
> описывать, что такое указатели, ++ и '\0'.
В наших комментариях не стандартизированный синтаксис, так что
аналогия неуместна.
Возможно, это окажется единственное IMHO, но мне сложно, неудобно
и долго разбираться в текущих Makefiles.
Я не вижу смысла писать комментарии на английском для
русскоязычных коллег, и даже русский текст в koi8 (вероятно) на
системе в cp1251 нечитаем. См. Makefile.pstricks
Да, я знаю про подходы "в программе всё написано", "есть
перекодировщики" и т.п.
<skipped/>
--
Regards, Vyt
mailto: vyt на vzljot.ru
JID: vyt на vzljot.ru
----------- следущая часть -----------
Было удалено вложение не в текстовом формате...
Имя : отсутствует
Тип : application/pgp-signature
Размер : 189 байтов
Описание: отсутствует
Url : /pipermail/docs/attachments/20031202/7b5decdc/attachment.bin
Подробная информация о списке рассылки docs