Зависимость Makefile для включаемых файлов в нескольких подкаталогах - PullRequest
1 голос
/ 14 марта 2012

Я работаю с 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), в которой я застрял.

...