chiark / gitweb /
Syntax: Introduce &:changequote
[subdirmk.git] / README
diff --git a/README b/README
index bbec51884700b9776f8f9491f1b6375b0a9c1e0d..006b57f62eaeacb6cb0927dcfe67b3968121e15b 100644 (file)
--- a/README
+++ b/README
@@ -183,7 +183,7 @@ In more detail, with all the various options laid out:
              for      build     source       build         source
                                                        
   This       lc       &file     &^file       $(PWD)/&file  $(abs_src)/&file
-  directory  any      &/file    &^/file      $(PWD)/&file  $(abs_src)/&/file
+  directory  any      &/file    &^/file      $(PWD)/&/file $(abs_src)/&/file
              several  & f g h   &^ f g h     $(addprefix...)
                                              
   Top        lc       file      &~file
@@ -266,11 +266,11 @@ So pathname syntax is a subset of:
 &#     delete everything to end of line
        (useful if the RHS contains unrecognised & constructions)
 
-&!STUFF
+&:changequote STUFF
        changes the escape sequence from & to literally STUFF
        STUFF may be any series of of non-whitespace characters,
-       and is terminated by EOL or lwsp.  &!STUFF and the lwsp
-       are discarded.
+       and is terminated by EOL or lwsp.  The whole line is
+       discarded.
 
        After this, write STUFF instead of &, everywhere.
        The effect is global and lasts until the next setting.
@@ -278,9 +278,9 @@ So pathname syntax is a subset of:
        it back before using &:include.
 
        Notably
-               STUFFSTUFF      =>      STUFFSTUFF
-               \STUFF          =>      STUFF
-               STUFF!&         set escape back to &
+               STUFFSTUFF              => STUFFSTUFF
+               \STUFF                  => STUFF
+               STUFF:changequote &     => set escape back to &
 
 &TARGETS_things
        Handled specially.  If mentioned, declares that this
@@ -371,6 +371,13 @@ makefiles, you may find that just `make' is broken now and cannot get
 far enough to regenerate a working set of makefiles.  If this happens
 just rerun ./config.status by hand.
 
+If you go back and forth between different versions of your code you
+can sometimes find that `make' complains that one of your Subdir.sd.mk
+files is missing: typically, if iot was used and therefore a
+dependency in some other version of your code.  If you run `make
+clean' (or `make realclean') these dependencies are suppressed, which
+will clear up the problem.
+
 
 Legal information
 -----------------