X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ian/git?p=subdirmk.git;a=blobdiff_plain;f=README;h=f2a129471978d43fe8a770777d8a0145c38ade36;hp=278ebb4e100e03fe237d041445665cff6b077f63;hb=80097a24dcbc044e36242a7e1d67bd57503e3eec;hpb=41b0c3f118d3ddd91662a439ff7c1e480d16151b diff --git a/README b/README index 278ebb4..f2a1294 100644 --- a/README +++ b/README @@ -216,7 +216,7 @@ STUFF $ THINGS .. STUFF $$ THINGS &${..$..} => ${eval ${call ..$$..}} (matches { } pairs to find the end) - content is $-doubled (unless it contains $- to turn that off) + content is $-doubled (unless it contains &$- to turn that off) Together &:macro and &${...} provide a more reasonable macro facility than raw make. They solve the problem that make @@ -300,7 +300,9 @@ includes. So if you want to get in early and set global variables, put them near the top of Dir.sd.mk. The file Final.sd.mk in the toplevel directory is processed and -included after all the other files. +the result included after all the other files. Its subdirmk +filtering context inherits warning suppressions from the toplevel's +Dir.sd.mk etc., but not anything else. subdirmk's filter script itself sets (only) these variables: top_srcdir @@ -398,6 +400,10 @@ suppressed with the &:warn directive. The warning tags are: The same VARNAME was used both with and without an & prefix. This can be confusing. Also, if you avoid this then you will get a warning iff you accidentally leave off a needed &. + The generation of this warning depends on scanning your + makefile for things that look like variable references, which + subdirmk does not do completely perfectly. Exciting make + syntax may evade this warning, or require suppressions. (You can suppress this warning for a particular VARNAME with the &:local+global directive.)