chiark / gitweb /
README: Update copyright date
[subdirmk.git] / README
diff --git a/README b/README
index e5a415f8196c8088ee74d9c312e5ae6e0defad62..f79a280c5746f16954513f7023b5221deb2c0aef 100644 (file)
--- a/README
+++ b/README
@@ -130,6 +130,10 @@ So pathname syntax is a subset of:
 &:<directive> <args>....
        recognised at start of line only (possibly after lwsp)
 
+&:             =>      &:
+       for make multiple targets syntax
+       recognised anywhere *except* start of line
+
 &:include filename             filename should usually be [&]foo.sd.mk
 &:-include filename            tolerate nonexistent file
        RHS is &-expanded but filenames are relative to the top
@@ -166,6 +170,9 @@ So pathname syntax is a subset of:
        `all' is extra special: every directory has an `all'
        target, which corresponds to &TARGETS.
 
+Directives
+- - - - -
+
 &:warn [!]WARNTAG ...
        Suppress (with !) or re-enable (without !) warnings tagged
        WARNTAG (see section `Warnings', below).  The suppression list
@@ -222,15 +229,15 @@ STUFF $ THINGS    ..      STUFF $$ THINGS
 &{..$..}       =>      ${eval ${call ..$$..}}
        (matches { } pairs to find the end)
        content is $-doubled (unless it contains &$- to turn that off)
-       cf &(...), see "Convenience syntax for eval", below.
+       contrast &(...), see "Convenience syntax for call", below.
 
-Together &:macro and &${...} provide a more reasonable macro facility
+Together &:macro and &{...} provide a more reasonable macro facility
 than raw make.  They solve the problem that make expansions cannot
-directly generate multiple rules, variable, etc.; instead, `$(eval )'
+directly generate multiple rules, variables, etc.; instead, `$(eval )'
 must be used, but that re-expands the argument, meaning that all the
 literal text must be $-doubled.  This applies to the macro text and to
 the arguments.  Also `$(eval $(call ...))' is an unfortunate syntax.
-Hence &:macro and &${...}.
+Hence &:macro and &{...}.
 
 While dollar-doubling:
 - - - - - - - - - - -
@@ -246,7 +253,7 @@ A few contexts do not support $-doubling, such as directive arguments
 or places where this might imply $-quadrupling.  (There is no way to
 get $-quadrupling.)
 
-Convenience syntax for eval
+Convenience syntax for call
 - - - - - - - - - - - - - -
 
 &(thing                =>      $(call thing
@@ -258,6 +265,10 @@ Convenience syntax for eval
 
 Unlike &{...}, this does not involve any dollar-doubling.
 
+Use this when the expansion is going to be a piece of text to be used
+as part of a rule, filename, etc.  When the expansion is top-level
+make text (eg, rules), use &:macro and &{...}.
+
 
 Invocation, "recursive" per-directory targets
 ---------------------------------------------
@@ -531,8 +542,8 @@ Legal information
 =================
 
 subdirmk is
+ Copyright 2019-2020 Ian Jackson
  Copyright 2019 Mark Wooding
- Copyright 2019 Ian Jackson
 
     subdirmk and its example is free software; you can redistribute it
     and/or modify it under the terms of the GNU Library General Public