[docs] Re: on makefiles
Vitaly Ostanin
vyt на vzljot.ru
Пн Сен 29 15:42:30 MSD 2003
On Mon, 29 Sep 2003 15:21:24 +0400
Oleg A.Paraschenko <olpa на xmlhack.ru> wrote:
> Привет!
>
> On Mon, 29 Sep 2003 11:15:33 +0400
> Vitaly Ostanin <vyt на vzljot.ru> wrote:
>
> ...
> > >
> > > Поэтому предлагаю завести что-нибудь простое для
> > > упорядочивания "коллективного знания", хотя бы, например,
> > > какой-нибудь WiKi. И это даже не предложение, а
> > > утверждение, которое вскоре получит default owner
> > > продукта "4. Docs" багзиллы.
> >
> > Я не видел ни одного wiki, который бы упорядочивал
> > информацию.
>
> Один точно есть. Только он не публичный.
Под "wiki" я подразумеваю средство для массового заполнения типа:
http://docbook.org/wiki/moin.cgi/
именно массовость и отсутствие ограничений на структурирование
приведут к свалке. IMHO.
> > Лучше задавать такие конкретные вопросы и вешать на них баги,
> > чтобы не забывали добавлять в документы.
>
> Не всякая информация должна идти в документы. WiKi (под этим
> подразумевается что угодно) служит своеобразным фильтром и
> черновиком, в то время как финальный документ -- это выжимка
> и руководство к действию.
Тогда больше подходит термин "draft".
> В качестве примера (первое, что попалось) предлагаю
> рассмотреть ULINK_LEAVE. Оцените время на описание этого
> параметра (зачем оно, кто что предложил другого, почему
> отказались) в виде финального документа, а затем оцените
> время на то, чтобы накидать копии писем без правки орфографии
> и пунктуации, а также краткие комментарии на страницу WiKi.
> По-моему, первое возможно только теоретически, когда второе
> -- даже практически.
Первое возможно практически и даже известно конкретное место,
куда его положить.
> > В данном конретном случае устарела моя дока.
> >
> > > В частности, эта система позволит улучшить комментарии.
> > > Они достаточно хорошие, но описывают только что и как
> > > сделано, но не объясняют, зачем.
> >
> > Да, это действительно неудобно. Когда читаешь специ w3c, тоже
> > возникает вопрос "а зачем?".
> >
> > Логику Makefiles можно также описывать в docbook.
>
> Увы, я в это не верю.
Просто потому, что пока не сделано на практике :) На самом деле
спасибо Вам огромное за очередной позыв к действию - будут
описания, обязательно. Надеюсь, что скоро.
<skipped/>
> > Я добавлю в docs-howto информацию об этом со ссылками на
> > обсуждения (надо поискать в архивах).
>
> Вашего ответа достаточно, в архивах можно и не искать.
Нужно, чтобы попинать авторов exsl:node-set() на обновление.
<skipped/>
> > Можно патч сюда прислать, или выложить на web, если размер
> > письма больше 40Kb.
>
> Во вложении: Makefile.tuned.
>
> $ make -n docs-howto.xml-tuned.1
> xsltproc --nonet --xinclude --stringparam tag-level1 article
> --stringparam tag-level2 section -o docs-howto.xml-tuned.1
> \--param ulink.leave.duplicates.after 1 \--param
> revhistory.strip 1 \../../../xsl/common/tuning.xsl
> docs-howto.xml$
> $ make CACHETUNED=yes -n docs-howto.xml-tuned.1
> make: `docs-howto.xml-tuned.1' не требует обновления.
Спасибо! А можно логику описать? Хотя бы в комментариях. "FORCE:"
- это зарезервированное имя цели, или просто пустая цель?
> Если понравится, то могу взять на себя:
Понравилось :)
> <quote>[Про поддержку profiling в Makefile]
> В будущем точно понадобится. Точнее, он уже сейчас нужен, но
> пока не настолько, чтобы им заняться.
> </quote>
Ок. См. отдельным тредом про cvs branches.
<skipped/>
> Да, это верно, экономии времени не будет. Остаётся аргумент
> из области
> "нравится/не нравится". По-моему, после успешного выполнения
>
> $ make target,
>
> немедленный повторный запуск "make targer" не должен
> приводить к повторной
> сборке. Иначе как-то это некрасиво.
Согласен. Тогда давайте придерживаться шаблонной схемы Makefiles
вместе с использованием зависимостей. А если нужно что-то
пересобрать, есть make clean.
> > > > > Теперь про basename == dirname. В данный момент имя
> > > > > файла для генерации должно совпадать с именем папки,
> > > > > в которой он лежит. Это принципиальное решение или
> > > > > просто так получилось?
> > > >
> > > > И историческое, и принципиальное. Исторически это было
> > > > сделано для включения не через XInclude, а через SGML
> > > > entity, а принципиально из-за того, что документ может
> > > > состоять из нескольких XML-файлов в одном каталоге
> > > > (например, docs-howto) и нужно как-то определять, кого из
> > > > них собирать.
> > >
> > > В таком случае можно указать список входных файлов явно.
> >
> > Зачем? Чем мешает обязательное совпадение имени документа с
> > каталогом?
>
> Возможными ошибками, когда кто-то забудет про это соглашение.
IMHO, это не то соглашение, про которое можно забывать. А для
проверки есть make check.
> > Тех. редактору даже удобно - зашёл в каталог и сразу
> > видно, кто тут главный XML :)
>
> Наверное, да.
Кстати, ещё сильно помогает при поиске опечаток во включения
XInclude. Я уж не говорю про удобство модульной разработки:
один документ (картинки, база olink) - один каталог.
один поддокумент (--//--) - один подкаталог.
<skipped/>
> > > > Зачем? В cvs каждый документ должен быть в отдельном
> > > > подкаталоге, его одного и нужно собирать.
> > >
> > > Такое ограничение мне кажется неочевидным и достаточно
> > > искусственным.
> >
> > Агрументы "за" я приводил. Аргументы "против" ?
>
> Только один. Если есть какие-то ограничения, то они должно
> быть явными и очевидными. Иначе будут проблемы.
Я опишу в документации.
<skipped/>
--
Regards, Vyt
mailto: vyt на vzljot.ru
JID: vyt на vzljot.ru
----------- следущая часть -----------
Было удалено вложение не в текстовом формате...
Имя : отсутствует
Тип : application/pgp-signature
Размер : 189 байтов
Описание: отсутствует
Url : /pipermail/docs/attachments/20030929/2a576f4d/attachment.bin
Подробная информация о списке рассылки docs