[docs] Re: current makefiles again (was: Tuning and profiling)

Oleg A. Paraschenko olpa на xmlhack.ru
Чт Дек 4 16:06:55 MSK 2003


  Привет!

On Thu, 4 Dec 2003 12:16:20 +0300
Vitaly Ostanin <vyt на vzljot.ru> wrote:


> > ...
> > > > 
> > > >   Ок, готов. Начать отрывать?
> > > 
> > > Тебе виднее, когда начать, но в итоге лучше оторвать :)
> > > Спасибо.
> > 
> >   Насколько я понял, ты сейчас тоже работаешь над make-файлами.
> >   Чтобы не
> > возникло конфликтных изменений, я бы хотел дождаться, когда у
> > тебя будет логический конец, код в cvs и пауза на пару дней.

  Подумав ещё раз, решил, что пока этого делать не стоит.

  Одна из проблем в том, что в схеме с шаблонными правилами (какой суффикс
из какого выводится) появление параллельных путей очень нежелательно.
Поэтому нужно либо всегда всем документам проходить через профилирование,
либо объединить профилирование с тюнингом. Сейчас сделан второй вариант;
он работает и он простой, поэтому пусть будет.

> 
> Нет, я не работаю над Makefiles из cvs docs. Точнее, пытался,
> перенося их под win32, но по времени и сложности оказалось проще
> использовать свой вариант из make2.

  Я бы не рекомендовал идти по такому пути. Конечно, patterned-make
сложнее предыдущей версии, но он и позволяет больше. Кроме того, он
работает. Если же заниматься портированием make-old/make2 (он тоже
работает), то тогда make2 оживает, а patterned-make надо убивать.

> 
> > > > > Зависимость вида
> > > > > %.xinclude: %.xml
> > > > > накладывает лишние ограничения на имя документа и имя
> > > > > файла после объединения.
> > > > 
> > > >   А именно, что тут лишнее?
> > > 
> > > Не будет работать
> > > make DOCUMENT_NAME=article.docbook
> > 
> >   Будет. "article.docbook.xinclude" будет зависеть от
> >   article.docbook.xml.
> 
> Ошибся, я имею в виду
> make XML=article.docbook
> 
> да, в docs это редкая ситуация, это нужно только для обработки
> произвольных документов (внешних для cvs docs). Однако это тоже
> принципиальное ограничение.

  Согласен. Но с этим ничего не поделать, разве что предложить workaround:

%.xml: %.docbook:
	cp $< $@

...
> > 
> >   Хочу заметить, что обратная ситуация вполне возможна.
> >   Допустим, в
> > каталоге"xxx" есть файл "xxx.xml", и я хочу временно внести
> > исправления в"xxx.xml". Чтобы не править по живому, я создаю
> > копию "tmp.xml".
> 
> Можно запускать
> make DOCUMENT_NAME=tmp ...

  Да. Я просто пояснял, почему имя файла может не совпадать с именем
каталога.

> 
> <skipped/>
> 
> > > Я не вижу смысла писать комментарии на английском для
> > > русскоязычных коллег,
> > 
> >   Может быть, я слишком пуганая ворона, но мой подход: в
> >   программах все
> > символы (в том числе и комментарии) должны укладываться в
> > ASCII.
> 
> Это отмирающее ограничение.

  Боюсь, что я отомру раньше.

> 
> > > и даже русский текст в koi8 (вероятно) на
> > > системе в cp1251 нечитаем. См. Makefile.pstricks
> > 
> >   А уж русский язык тем более не должен присутствовать, ибо
> > koi8 vs cp1251 vs cp866. 
> 
> В XML этой проблемы нет.
> 
> > Кстати, а почему для alt docs выбрана кодировка windows?
> 
> С чего ты взял?

  Комментарии в make-файлах и в сопровожающих файлах -- в cp1251.
Соответственно, когда я поленился преобразовать из koi8, это привело
к неудобствам.


> Выбран XML, в котором можно использовать и
> смешивать разные кодировки.
> 
> <skipped/>

  И ещё, из давнего письма:

> 
> IMHO, исходная цель ковыряний с Makefiles - сделать их логичнее и
> понятнее - пока не достигнута :(
>

  Не совсем так. У меня основной целью было: дать возможность
экспериментировать с различными fop-процессорами. Да, я надеялся, что
шаблонный стиль сделает make-файлы лучше. Мне кажется, что "логичнее"
получилось. Но, увы, чужой код никогда не станет "понятнее".

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


-- 
Oleg 



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