[docs] Re: makefile rework intro

Oleg A.Paraschenko olpa на xmlhack.ru
Пн Окт 27 21:07:31 MSK 2003


  Привет!

On Mon, 27 Oct 2003 20:24:56 +0300
Vitaly Ostanin <vyt на vzljot.ru> wrote:

...
> > ---
> > 
> > make targets:
> > 
> > all       - по умолчанию. Сборка html-dir, html-file и print
> > clean     - удаление сгенерированных файлов, в том числк и
> > временных distclean - ещё сильнее, чем просто clean. Может
> > быть, и не требуется dist      - приготовить результаты all для
> > распространения check     - проверить корректности исходного
> > файла html-dir  - создать документ, состоящий из нескольких
> > html-файлов html-file - создать документ в виде одного
> > html-файла print     - создать печатную версию документа (pdf)
> 
> Желательно ещё view-result, по аналогии с текущим.

  Ок, посмотрю, что это.

> 
> Есть предложение вместо "print" держать цели
> pdf-<suffix>
> , где <suffix> - средство, с помощью которого получен pdf.

  Планируется сделать примерно так:

module.profile.template.processor.pdf  (1) <-- сюда будут ссылки,

  где

profile   - код профиля
template  - код шаблона (a4, a5, letter, ...)
processor - код fo-процессора (xep, fop, ...)

module.pdf -- это сокращение для такого "module.profile.template.processor.pdf", в котором "profile", "template" и "processor" -- по умолчанию.

> 
> Сразу добавлю, что сейчас в Makefiles разброд с переменными - они
> могут быть "параметр значение", а могут быть просто "значение".
> 
> Лучше в новых Makefiles использовать только "параметр значение",
> чтобы можно было использовать переменную, даже если "значение" не
> определено.

  Не понял. Нужны пояснения. Можно в jabber.

> 
> > 
> > ---
> > 
> > Расположение файлов:
> > 
> > ./module/
> >  module.xml  - исходный файл
> >  tmp/        - папка для временных файлов
> 
> Можно пример временных файлов?

module.log
module.p1.a4.fo
module.p1
...

> 
> >  out/        - папка для готовых документов
> 
> Может, лучше "output" ?

  Ok. Всё равно это параметр.

> Кстати, для термина directory лучше
> употреблять перевод "каталог". "Папка" - это folder. В архивах
> было обсуждение.

  Спасибо, забываюсь. Наверное, надо завести специальный словарь для ispell, чтобы отлавливать нерекомендуемую терминологию.

> 
> >   module-html-dir/   - тут результат "make html-dir"
> >   module-html-file/  - тут результат "make html-file"
> >   module-print/      - тут результат "make print"
> 
> То же самое насчёт "print"
> 
> >   module.tgz         - архив готовых документов
> 
> Может, лучше module.tar.bz2 ?

  Ok.

> 
> > Общий подход:
> > * всё, что создаётся, оказывается либо в "tmp", либо в "out". В
> 
> Есть сложности, например, с emacs-mode-psgml. Его
> предкомпилированные DTD должны лежать рядом с документом.

  Странно. Ну, тогда с некоторыми исключениями.

> 
> > результате:
> >  * хлам не смешивается с важными файлами;
> >  * для "make clean" достаточно "rm -rf tmp out".
> > * Если файл входит в состав итоговых документов, то он лежит в
> > "out", иначе он лежит в "tmp".
> > 
> > ---
> > 
> > Цепочка преобразований.
> > 
> > Общее начало:
> > .xml -> xinclude -> profiling+tuning (A)
> 
> XInclude незачем выделять в отдельный этап, IMHO.

  Пусть всё-таки будет. Интуиция советует, не хочу ей противоречить.

> 
> > Далее, для html:
> > всё, как сейчас
> > 
> > Далее, для print:
> > -> fo  (B) -> pdf (C) или
> > -> tex (D) -> pdf
> 
> FO может (и должен) быть разным для каждого FO-процессора.

  Почему? Разве не утверждается, что FO процессоронезависим?

  Но и это может работать, см. (1).

> 
> > Возможности:
> > (A) можно варьировать
> > (B) можно варьировать, например, брать стиль для A4, letter, B5
> > etc.(C) можно варьировать, например, использовать fop, xep,
> > passiveTeX etc.(D) можно варьировать, например, использовать
> > dblatex или db2latex (или что там есть)
> 
> Желательно не просто варьировать, а иметь возможность собирать
> PDF каждым способом рядом, а не вместо.

  См. (1).

> 
> <skipped/>
> 
> -- 
> Regards, Vyt
> mailto:  vyt на vzljot.ru
> JID:     vyt на vzljot.ru


-- 
Олег



Подробная информация о списке рассылки docs