[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