Я работаю с docbook и хотел бы использовать GNU Make для сборки.В моем подкаталоге верхнего уровня у меня есть два каталога doc
и html
и stylesheet.xsl
в каталоге верхнего уровня.В doc
есть файл docbook и папка с xinclude для этого docbook (например, article1.docbook и каталог с именем article1, содержащий все xinclude из article1.docbook).Вот так:
toplevel
|
|---doc
| |-article1.docbook
| |---article1
| | |
| | |---sect1.docbook
| | |---sect2.docbook
| |
| |-article2.docbook
| |---article2
| etc...
|
|---html
| |
| |---article1.html
| |---article2.html
|
|---stylesheet.xsl
Я создал этот make-файл.Он строит html по мере необходимости, но не знает о зависимостях в подкаталогах (например, sect1.docbook, если создается article1.docbook, даже если article1.docbook не был изменен):
XSL_HTML = stylesheet.xsl
HTML_OUT = html
DOCBOOK = $(wildcard doc/*.docbook)
HTML = $(patsubst doc/%.docbook,%.html,$(DOCBOOK))
all: $(addprefix html/, $(HTML))
html/%.html : doc/%.docbook
xsltproc --xinclude \
--stringparam root.filename '' \
--output $@ $(XSL_HTML) $<
Так что мне нужно добавить зависимость типа $(wildcard doc/%/*.docbook)
, в которой я застрял.