This is the mail archive of the
docbook@lists.oasis-open.org
mailing list for the DocBook project.
generating DocBook Makefile autodeps
- From: "Matt G." <matt_g_ at hotmail dot com>
- To: docbook at lists dot oasis-open dot org
- Date: Wed, 19 Dec 2001 09:39:45 +0000
- Subject: DOCBOOK: generating DocBook Makefile autodeps
- Bcc:
I use makefiles (with GNU Make, of course) to build my XML DocBook
documents. Parts of them (external entities) are automatically generated.
This means that, as I make changes to the source, from which these document
fragments are derived, or when I update changes made by others (through CVS,
a source/revision control system facilitating concurrent development), the
affected documents must get rebuilt. Currently, I codify the dependencies
manually, though this is quickly growing into a tedious, error-prone chore.
To solve this problem, GNU Make has some special features for automatically
generating makefile fragments, which can be included in a second pass of the
makefile that generated them. This is the mechanism I use to generate
(along with a special mode of gcc's cpp, which enumerates the tree of files
that are included by a source file and any of the files it includes or the
ones they include, etc.) autodeps for C/C++ code.
It was always my intention to do something similar w/ XML DocBook. This
would require writing a tool to enumerate dependencies resulting from use of
external entities and the DTD, as well as any DocBook-specific mechanisms
for referencing external files.
While I don't mind doing this, I thought I'd check to see if anyone is aware
of such an autodep tool, for XML DocBook or generally just XML. If the
latter case, it should have hooks to extend to new vocabularies that refer
to external files by means other than entity references - being able to
specify a list of XPath expressions, which indicate CDATA or PCDATA nodes to
be interpreted as system identifiers, might suffice.
Anyhow, if I do end up having to write the above tool, I'll probably post it
on a related SourceForge project I've got, and send a link to this list.
It'll be GPL'd.
Matt Gruenke
_________________________________________________________________
MSN Photos is the easiest way to share and print your photos:
http://photos.msn.com/support/worldwide.aspx