chiark / gitweb /
&:include feature
[subdirmk.git] / subdirmk / README
1 &CAPS           =>      subdir_CAPS                     or TOP_CAPS
2 &lc             =>      subdir/lc                       or lc
3
4 &_              =>      subdir_                         or TOP_
5 &/              =>      subdir/                         or nothing
6 &=_             =>      subdir                          or TOP
7 &=/             =>      subdir                          or .
8 &^              =>      $(top_srcdir)/subdir            or $(top_srcdir)
9 &~              =>      $(abs_top_srcdir)/subdir        or $(abs_top_srcdir)
10
11 &&              =>      &&
12 \&              =>      &
13
14 & thing thing... &      =>      each thing prefixed by &/ &^/ &~/ resp
15 & ^ thing thing... &            each thing is any non-ws
16 & ~ thing thing... &            & may be omitted before EOL or before \EOL
17                                 other &'s not recognised
18
19 start of line (maybe after ws):
20 &:<directive> <args>....
21 args are processed for & first
22 &:include filename              filename should usually be foo.mk.in
23 &:-include filename
24
25 CAPS is [A-Z][0-9_A-Z]*(?!\w)
26 lc is [a-z][-+,0-9_a-z]*(?!\w)
27
28 &!<spaces or tabs>      disables & *until* EOL (and disappears)
29
30 &!STUFF<lwsp>           STUFF is recognised instead of &
31                         the terminating lwsp is discarded too
32                         may also occur at eol
33
34 eg notably
35  STUFF!&        now & is recognised instead (ie back to normal)
36  STUFFSTUFF     STUFF
37
38 eg
39  &!@@@          @@@ is recognised instead of &
40  @@@!&          go back to &
41
42 &TARGETS[_things]               is handled specially
43                                 must be spelled precisely this way
44                                 if no _things, means _all
45
46 Also, `all' is weird in that it is present even if not specified