corresponding (allcaps) variable (e·g, set `MKDIR` to supply your own
`mkdir` implementation).
+- `awk`
- `cat`
- `cp`
- `date`
- `find`
- `mkdir` (requires support for `-p`)
- `mv`
+- `od` (requires support for `-t x1`)
- `printf`
- `rm`
- `sed`
- `touch`
- `tr` (requires support for `-d`)
- `uuencode` (requires support for `-m` and `-r`)
+- `xargs` (requires support for `-0`)
- `xmlcatalog` (provided by `libxml2`)
- `xmllint` (provided by `libxml2`)
- `xsltproc` (provided by `libxslt`)
- **`SRCDIR`:**
The location of the source files (default: `sources`).
+ Multiple source directories can be provided, so long as the same
+ file subpath doesn’t exist in more than one of them.
- **`INCLUDEDIR`:**
- The location of the source files (default: `sources/includes`).
+ The location of source includes (default: `sources/includes`).
This can be inside of `SRCDIR`, but needn’t be.
+ Multiple include directories can be provided, so long as the same
+ file subpath doesn’t exist in more than one of them.
- **`BUILDDIR`:**
The location of the (temporary) build directory (default: `build`).
Rules to use with `find` when searching for source files (default:
`-flags -nohidden -and -not -name '.*'`).
+- **`FINDINCLUDEOPTS`:**
+ Options to pass to `find` when searching for includes (default:
+ `$(FINDOPTS)`).
+
+- **`FINDINCLUDERULES`:**
+ Rules to use with `find` when searching for includes (default:
+ `$(FINDRULES)`).
+
- **`PARSERS`:**
A white·space‐separated list of parsers to use (default:
`$(THISDIR)/parsers/*.xslt`).
modes will additionally be called with a `<xslt:include>` element
corresponding to each transform.
If a transform has a `<书社:id>` top‐level element whose value is an
- i·r·i, its `<xslt:import>` element will have a corresponding
+ i·r·i, its `<xslt:include>` element will have a corresponding
`@书社:id` attribute.
This mechanism can be used to allow transforms to insert content
without matching any elements in the result; for example, the