From: Ian Jackson Date: Thu, 14 Nov 2019 13:30:44 +0000 (+0000) Subject: docs: New plan for directory references, new X-Git-Tag: subdirmk/0.1~20 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ian/git?p=subdirmk.git;a=commitdiff_plain;h=ea45444f2cdeb2543e25b53f760c89dbf060f87c;ds=sidebyside docs: New plan for directory references, new Not yet implemented. About to simplify this... Signed-off-by: Ian Jackson --- diff --git a/README b/README index 5bfb29e..0b95b98 100644 --- a/README +++ b/README @@ -141,17 +141,31 @@ config.status etc. is done for you. Summary of directory reference syntaxes --------------------------------------- +Path construction &-expansions, meanings summary: + + In build tree In source tree + This directory just & &, + Top level &. implies absolute &; + +Adding `@' means "absolute path". This is not needed with &. because +there is never any need to use &. since it would expand to nothing. +`/' terminates the escape (needed if the next thing is not a lowercase +character, or space). `=' means "just the value, no /". Space starts +multi-word processing. + Recommended In build tree In source tree when Relative Absolute Relative Absolute - This lc &file &~file &^file &^~file - directory any &/file &~/file &^/file &^~/file - several & f g h & ~ f g h & ^ f g h & ^~ f g h + This lc &file &@file &,file &@,file + directory any &/file &@/file &,/file &@,/file + several & f g h &@ f g h &, f g h &^, f g h - Top lc &@~file &@^file &@~^file - level any file &@~/file &@^/file &@~^/file + Top lc &.file &;file &@;file + level any file &./file &;/file &@;/file .mk.in file $(abs)/file $(src)/file $(abs_src)/file - several f g h & @~ f g h & @^ f g h & @~^ f g h + several f g h &. f g h &; f g h &@; f g h + &@. file + &@. f g h Substitution syntax -------------------