X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ian/git?p=subdirmk.git;a=blobdiff_plain;f=README;h=e5e937fc7b1927561953a1992dd32d3285da87cc;hp=c4f9d0ea484881aba7058c604482957b948e727a;hb=e36c3e76d81cd2dc6d157234bc60b6c9bd156e0d;hpb=bde6b293e235070d0997cfccd9e408127f49ff00 diff --git a/README b/README index c4f9d0e..e5e937f 100644 --- a/README +++ b/README @@ -235,32 +235,17 @@ So pathname syntax is a subset of: &:include filename filename should usually be [&]foo.sd.mk &:-include filename tolerate nonexistent file - filenames are relative to $(top_srcdir) - RHS is &-expanded + RHS is &-expanded but filenames are relative to the top + srcdir. This implies that unqualified names are like &~/ + whereas &/ is like &^/. &^ and &~ do not work here because + they expand to constructions involving literally + `$(top_srcdir)', but the RHS is not make-expanded. &! disables & until EOL (and then disappears) &# delete everything to end of line (useful if the RHS contains unrecognised & constructions) -&:changequote NEWQUOTE - changes the escape sequence from & to literally NEWQUOTE - NEWQUOTE may be any series of of non-whitespace characters, - and is terminated by EOL or lwsp. The whole line is - discarded. - - After this, write NEWQUOTE instead of &, everywhere. - The effect is unscoped and lasts until the next setting, - or until the end of the current directory's Suffix.sd.mk. - It takes effect on &:include'd files too, so maybe set - it back before using &:include. - - Notably - NEWQUOTENEWQUOTE => NEWQUOTENEWQUOTE - NEWQUOTE\NEWQUOTE => NEWQUOTE - NEWQUOTE\$ => $ - NEWQUOTE:changequote & set escape back to & - &TARGETS_things Handled specially. If mentioned at the start of a line (possibly following whitespace), declares that this @@ -284,6 +269,24 @@ So pathname syntax is a subset of: `all' is extra special: every directory has an `all' target, which corresponds to &TARGETS. +&:changequote NEWQUOTE + changes the escape sequence from & to literally NEWQUOTE + NEWQUOTE may be any series of of non-whitespace characters, + and is terminated by EOL or lwsp. The whole line is + discarded. + + After this, write NEWQUOTE instead of &, everywhere. + The effect is unscoped and lasts until the next setting, + or until the end of the current directory's Suffix.sd.mk. + It takes effect on &:include'd files too, so maybe set + it back before using &:include. + + Notably + NEWQUOTENEWQUOTE => NEWQUOTENEWQUOTE + NEWQUOTE\NEWQUOTE => NEWQUOTE + NEWQUOTE\$ => $ + NEWQUOTE:changequote & set escape back to & + Dollar doubling and macro assistance ------------------------------------