]> Lady’s Gitweb - Shushe/blobdiff - README.markdown
Run time‐related programs with command substitution
[Shushe] / README.markdown
index 9d518896eaed97d4e8903bde4c9390a71c1deda3..573fb86e51fe59b89c2ac7586986d5a23330c71b 100644 (file)
@@ -108,6 +108,7 @@ In every case, you may supply your own implementation by overriding the
 - `file`
 - `find`
 - `git` (optional; set `GIT=` to disable)
+- `ln`
 - `mkdir` (requires support for `-p`)
 - `mv`
 - `od` (requires support for `-t x1`)
@@ -164,31 +165,65 @@ The following additional variables can be used to control the behaviour
   This variable is used to find the ⛩️📰 书社 `lib/` folder, which is
     expected to be in the same location.
 
-- **`MAGICDIR`:**
-  The location of the magic files to use (default: `$(THISDIR)/magic`).
+- **`MAGIC`:**
+  A white·space‐separated list of magic files to use (default:
+    `$(THISDIR)/magic/*`).
+
+- **`EXTRAMAGIC`:**
+  The value of this variable is appended to `MAGIC` by default, to
+    enable additional magic files without overriding the existing ones.
 
 - **`FINDRULES`:**
   Rules to use with `find` when searching for source files.
-  The default ignores files that start with a period or hyphen‐minus
-    and those which contain a hash, buck, percent, asterisk, colon,
-    semi, eroteme, bracket, backslash, or pipe.
+  The default ignores files that start with a period or hyphen‐minus,
+    those which end with a cloparen, and those which contain a hash,
+    buck, percent, asterisk, colon, semi, eroteme, bracket, backslash,
+    or pipe.
+
+- **`EXTRAFINDRULES`:**
+  The value of this variable is appended to `FINDRULES` by default, to
+    enable additional rules without overriding the existing ones.
 
 - **`FINDINCLUDERULES`:**
   Rules to use with `find` when searching for includes (default:
     `$(FINDRULES)`).
 
+- **`EXTRAFINDINCLUDERULES`:**
+  The value of this variable is appended to `FINDINCLUDERULES` by
+    default, to enable additional rules without overriding the existing
+    ones.
+
 - **`PARSERS`:**
   A white·space‐separated list of parsers to use (default:
     `$(THISDIR)/parsers/*.xslt`).
 
+- **`EXTRAPARSERS`:**
+  The value of this variable is appended to `PARSERS` by default, to
+    enable additional parsers without overriding the existing ones.
+
 - **`TRANSFORMS`:**
   A white·space‐separated list of transforms to use (default:
     `$(THISDIR)/transforms/*.xslt`).
 
+- **`EXTRATRANSFORMS`:**
+  The value of this variable is appended to `TRANSFORMS` by default, to
+    enable additional transforms without overriding the existing ones.
+
 - **`XMLTYPES`:**
   A white·space‐separated list of media types to consider X·M·L
     (default: `application/xml text/xml`).
 
+- **`GENERATOR`:**
+  The name of the generator program (default: `⛩️📰 书社`).
+
+- **`VERSION`:**
+  The current version of `GENERATOR` (default: derived from the current
+    git tag/branch/commit).
+
+- **`SRCREV`:**
+  The current version of the source files (default: derived from the
+    current git tag/branch/commit).
+
 - **`VERBOSE`:**
   If this variable has a value, every recipe instruction will be
     printed when it runs (default: empty).
@@ -221,9 +256,12 @@ Source files whose media type does not have an associated X·S·L·T
   contain Ascii white·space, colons (`:`), semis (`;`), pipes (`|`),
   bucks (`$`), percents (`%`), hashes (`#`), asterisks (`*`), brackets
   (`[` or `]`), erotemes (`?`), backslashes (`\`), or control
-  characters, and must not begin with a hyphen‐minus (`-`).**
+  characters, must not begin with a hyphen‐minus (`-`), and must not
+  end with a cloparen (`)`).**
 The former characters have the potential to conflict with make syntax,
-  and a leading hyphen‐minus is confusable for a command‐line argument.
+  a leading hyphen‐minus is confusable for a command‐line argument, and
+  a trailing cloparen [activates a bug in G·N·U Make
+  3.81](https://stackoverflow.com/questions/17148468/capturing-filenames-including-parentheses-with-gnu-makes-wildcard-function#comment24825307_17148894).
 
 ## Parsers
 
@@ -393,16 +431,17 @@ The following params are made available globally in parsers and
 - **`BUILDTIME`:**
   The current time.
 
+- **`GENERATOR`:**
+  The value of the `GENERATOR` variable (if present).
+
 - **`SRCREV`:**
-  The tag or hash of the current commit in the working directory (if
-    `GIT` is defined and `./.git` exists).
+  The value of the `SRCREV` variable (if present).
 
 - **`SRCTIME`:**
   The time at which the source file was last modified.
 
 - **`VERSION`:**
-  The tag or hash of the current commit in `THISDIR` (if `GIT` is
-    defined and `$(THISDIR)/.git` exists).
+  The value of the `VERSION` variable (if present).
 
 The following params are only available in transforms :⁠—
 
This page took 0.055433 seconds and 4 git commands to generate.