File indexing completed on 2024-05-19 15:23:12

0001 <!DOCTYPE html>
0002 <html><head>
0003 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
0004 <title>build.ninja</title>
0005 <meta name="generator" content="KF5::SyntaxHighlighting - Definition (Ninja) - Theme (Breeze Light)"/>
0006 </head><body style="background-color:#ffffff;color:#1f1c1b"><pre>
0007 <span style="color:#898887;"># comment</span>
0008 <span style="font-weight:bold;">rule</span> b
0009 <span style="font-weight:bold;">rule</span> c
0010 <span style="color:#898887;">#d</span>
0011 <span style="font-weight:bold;">rule</span> c
0012 <span style="color:#0057ae;">description</span><span style="color:#ca60ca;">=</span>a
0013 <span style="font-weight:bold;">rule</span> d
0014   <span style="color:#644a9b;font-weight:bold;">description</span> <span style="color:#ca60ca;">=</span> ds
0015   <span style="color:#644a9b;font-weight:bold;">description</span> <span style="color:#ca60ca;">=</span> ds
0016   <span style="color:#bf0303;text-decoration:underline;">rule=ds</span>
0017   <span style="color:#644a9b;font-weight:bold;">description</span> <span style="color:#ca60ca;">=</span> ds
0018 <span style="font-weight:bold;">rule</span> b
0019 
0020 <span style="font-weight:bold;">rule</span> c
0021 
0022 <span style="font-weight:bold;">rule</span> c
0023  <span style="color:#898887;"># ds</span>
0024  <span style="color:#bf0303;text-decoration:underline;">ds=ds</span>
0025 <span style="color:#0057ae;">description</span><span style="color:#ca60ca;">=</span>a
0026 <span style="font-weight:bold;">rule</span> d
0027   <span style="color:#bf0303;text-decoration:underline;">rule =description = ds</span>
0028 
0029 <span style="font-weight:bold;">rule</span> b
0030   <span style="color:#644a9b;font-weight:bold;">command</span> <span style="color:#ca60ca;">=</span> clang -MMD -MF <span style="color:#ca60ca;">$</span><span style="color:#644a9b;font-weight:bold;">out</span>.d -o <span style="color:#ca60ca;">$</span><span style="color:#644a9b;font-weight:bold;">out</span> -c <span style="color:#ca60ca;">$</span><span style="color:#644a9b;font-weight:bold;">in</span>
0031   <span style="color:#644a9b;font-weight:bold;">description</span> <span style="color:#ca60ca;">=</span> building <span style="color:#ca60ca;">$</span><span style="color:#644a9b;font-weight:bold;">out</span>
0032   <span style="color:#bf0303;text-decoration:underline;">unknown = xyz</span>
0033 
0034 <span style="font-weight:bold;">rule</span> dump
0035   <span style="color:#644a9b;font-weight:bold;">command</span> <span style="color:#ca60ca;">=</span> sleep 1<span style="font-weight:bold;">;</span> ls -l /proc/self/fd<span style="font-weight:bold;">;</span> exit 1
0036   <span style="color:#644a9b;font-weight:bold;">pool</span> <span style="color:#ca60ca;">=</span> link_pool
0037   <span style="color:#898887;"># blah blah</span>
0038   <span style="color:#644a9b;font-weight:bold;">pool</span> <span style="color:#ca60ca;">=</span> <span style="color:#644a9b;font-weight:bold;">console</span>
0039   <span style="color:#644a9b;font-weight:bold;">pool</span> <span style="color:#ca60ca;">=</span> <span style="color:#ca60ca;">$</span><span style="color:#0057ae;">console</span>
0040 
0041 <span style="font-weight:bold;">rule</span> xy-z_
0042 <span style="font-weight:bold;">rule</span> --xy-z_
0043 <span style="font-weight:bold;">rule</span> _xy-z_
0044 
0045 <span style="color:#898887;"># error</span>
0046 <span style="font-weight:bold;">rule</span> with <span style="color:#bf0303;text-decoration:underline;">error</span>
0047 <span style="font-weight:bold;">rule</span> a<span style="color:#bf0303;text-decoration:underline;">:a</span>
0048 <span style="font-weight:bold;">rule</span> a<span style="color:#bf0303;text-decoration:underline;">|a</span>
0049 <span style="font-weight:bold;">rule</span> a<span style="color:#bf0303;text-decoration:underline;">$</span>
0050 <span style="font-weight:bold;">rule</span> 0-<span style="color:#bf0303;text-decoration:underline;">@#d</span>
0051 
0052 <span style="color:#898887;"># browse_py.h is used to inline browse.py.</span>
0053 <span style="font-weight:bold;">rule</span> inline
0054   <span style="color:#644a9b;font-weight:bold;">command</span> <span style="color:#ca60ca;">=</span> <span style="font-weight:bold;">&quot;</span><span style="color:#ca60ca;">$</span><span style="color:#0057ae;">root</span>/src/inline.sh<span style="font-weight:bold;">&quot;</span> <span style="color:#ca60ca;">$</span><span style="color:#0057ae;">varname</span> <span style="font-weight:bold;">&lt;</span> <span style="color:#ca60ca;">$</span><span style="color:#644a9b;font-weight:bold;">in</span> <span style="font-weight:bold;">&gt;</span> <span style="color:#ca60ca;">$</span><span style="color:#644a9b;font-weight:bold;">out</span>
0055   <span style="color:#644a9b;font-weight:bold;">description</span> <span style="color:#ca60ca;">=</span> INLINE <span style="color:#ca60ca;">$</span><span style="color:#644a9b;font-weight:bold;">out</span>
0056 
0057 <span style="font-weight:bold;">default</span> foo bar
0058 <span style="font-weight:bold;">default</span> baz
0059 
0060 <span style="font-weight:bold;">include</span> ninja1.ninja
0061 
0062 <span style="font-weight:bold;">subninja</span> ninja2.ninja
0063 
0064 <span style="font-weight:bold;">pool</span> link_pool
0065   <span style="color:#644a9b;font-weight:bold;">depth</span> <span style="color:#ca60ca;">=</span> 4
0066   <span style="color:#bf0303;text-decoration:underline;">xxx = d</span>
0067 
0068 <span style="font-weight:bold;">pool</span> link_pool <span style="color:#bf0303;text-decoration:underline;">d</span>
0069   <span style="color:#644a9b;font-weight:bold;">depth</span> <span style="color:#ca60ca;">=</span> 4
0070 
0071 <span style="font-weight:bold;">build</span> a.o<span style="color:#ca60ca;">:</span> <span style="color:#644a9b;">b</span> a.c
0072 
0073 <span style="font-weight:bold;">build</span> a.o<span style="color:#ca60ca;">|</span><span style="font-style:italic;">c</span><span style="color:#ca60ca;">:</span> <span style="color:#644a9b;">b</span> a.c <span style="color:#ca60ca;">||</span><span style="font-style:italic;"> a </span><span style="color:#ca60ca;">|</span><span style="font-style:italic;"> b</span>
0074 
0075 <span style="font-weight:bold;">build</span> a.o <span style="color:#ca60ca;">|</span><span style="font-style:italic;"> c </span><span style="color:#ca60ca;">:</span> <span style="color:#644a9b;">b</span> a.c <span style="color:#ca60ca;">|</span><span style="font-style:italic;"> a </span><span style="color:#ca60ca;">||</span><span style="font-style:italic;"> b</span>
0076 
0077 <span style="font-weight:bold;">build</span> <span style="color:#ca60ca;">$</span><span style="color:#0057ae;">a</span>.o <span style="color:#ca60ca;">|</span><span style="font-style:italic;"> </span><span style="color:#ca60ca;">$</span><span style="color:#0057ae;">c</span><span style="font-style:italic;"> </span><span style="color:#ca60ca;">:</span> <span style="color:#644a9b;">b</span> <span style="color:#ca60ca;">$</span><span style="color:#0057ae;">a</span>.c <span style="color:#ca60ca;">|</span><span style="font-style:italic;"> </span><span style="color:#ca60ca;">$</span><span style="color:#0057ae;">a</span><span style="font-style:italic;"> </span><span style="color:#ca60ca;">||</span><span style="font-style:italic;"> </span><span style="color:#ca60ca;">$</span><span style="color:#0057ae;">b</span>
0078 
0079 <span style="font-weight:bold;">build</span> 0<span style="color:#ca60ca;">:</span> <span style="color:#644a9b;">sleep</span> README
0080 
0081 <span style="font-weight:bold;">build</span> 1<span style="color:#ca60ca;">:</span> <span style="color:#644a9b;">sleep</span> README
0082 
0083 <span style="font-weight:bold;">build</span> all<span style="color:#ca60ca;">:</span> <span style="color:#644a9b;font-weight:bold;">phony</span> 0 1
0084 <span style="color:#0057ae;">deps</span> <span style="color:#ca60ca;">=</span> xxx
0085 <span style="color:#0057ae;">CMD</span> <span style="color:#ca60ca;">=</span> cc
0086 <span style="font-weight:bold;">build</span> all<span style="color:#ca60ca;">:</span> <span style="color:#644a9b;font-weight:bold;">phony</span> 0 1
0087 
0088 <span style="font-weight:bold;">build</span> <span style="color:#ca60ca;">$</span><span style="color:#0057ae;">builddir</span>/browse_py.h<span style="color:#ca60ca;">:</span> <span style="color:#644a9b;">inline</span> <span style="color:#ca60ca;">$</span><span style="color:#0057ae;">root</span>/src/browse.py <span style="color:#ca60ca;">|</span><span style="font-style:italic;"> </span><span style="color:#ca60ca;">$</span><span style="color:#0057ae;">root</span><span style="font-style:italic;">/src/inline.sh</span>
0089   <span style="color:#0057ae;">varname</span> <span style="color:#ca60ca;">=</span> kBrowsePy
0090 
0091 <span style="font-weight:bold;">build</span> <span style="color:#ca60ca;">$</span><span style="color:#0057ae;">builddir</span>/subprocess-posix.o<span style="color:#ca60ca;">:</span> <span style="color:#644a9b;">cxx</span> <span style="color:#ca60ca;">$</span><span style="color:#0057ae;">root</span>/src/subprocess-posix.cc
0092 <span style="font-weight:bold;">build</span> <span style="color:#ca60ca;">$</span><span style="color:#0057ae;">builddir</span>/libninja.a<span style="color:#ca60ca;">:</span> <span style="color:#644a9b;">ar</span> <span style="color:#ca60ca;">$</span><span style="color:#0057ae;">builddir</span>/browse.o <span style="color:#ca60ca;">$</span><span style="color:#0057ae;">builddir</span>/build.o <span style="color:#3daee9;">$</span>
0093 <span style="color:#3daee9;">    </span><span style="color:#ca60ca;">$</span><span style="color:#0057ae;">builddir</span>/build_log.o <span style="color:#ca60ca;">$</span><span style="color:#0057ae;">builddir</span>/clean.o <span style="color:#ca60ca;">$</span><span style="color:#0057ae;">builddir</span>/debug_flags.o <span style="color:#3daee9;">$</span>
0094 <span style="color:#3daee9;">    </span><span style="color:#ca60ca;">$</span><span style="color:#0057ae;">builddir</span>/depfile_parser.o <span style="color:#ca60ca;">$</span><span style="color:#0057ae;">builddir</span>/deps_log.o
0095 
0096 <span style="font-weight:bold;">build</span> <span style="color:#ca60ca;">$</span><span style="color:#0057ae;">root</span>/doc/manual.pdf<span style="color:#ca60ca;">:</span> <span style="color:#644a9b;">dblatex</span> <span style="color:#ca60ca;">$</span><span style="color:#0057ae;">builddir</span>/manual.xml <span style="color:#ca60ca;">|</span><span style="font-style:italic;"> </span><span style="color:#3daee9;">$</span>
0097 <span style="color:#3daee9;">    </span><span style="color:#ca60ca;">$</span><span style="color:#0057ae;">root</span><span style="font-style:italic;">/doc/dblatex.xsl</span>
0098 
0099 <span style="font-weight:bold;">build</span> out<span style="color:#ca60ca;">:</span> <span style="color:#644a9b;">cat</span> in <span style="color:#ca60ca;">|@</span><span style="font-style:italic;"> validate1 validate2 </span><span style="color:#ca60ca;">|@</span><span style="font-style:italic;"> validate1 </span><span style="color:#ca60ca;">|</span><span style="font-style:italic;"> dep</span>
0100 <span style="font-weight:bold;">build</span> out<span style="color:#ca60ca;">:</span> <span style="color:#644a9b;">cat</span> in <span style="color:#ca60ca;">||</span><span style="font-style:italic;"> dep </span><span style="color:#ca60ca;">|@</span><span style="font-style:italic;"> validate</span>
0101 
0102 <span style="color:#644a9b;font-weight:bold;">builddir</span><span style="color:#ca60ca;">=</span>/
0103 <span style="color:#644a9b;font-weight:bold;">builddir</span> <span style="color:#ca60ca;">=</span>/
0104 <span style="color:#644a9b;font-weight:bold;">builddir</span><span style="color:#ca60ca;">=</span> /
0105 <span style="color:#0057ae;">ldflags</span> <span style="color:#ca60ca;">=</span> -L<span style="color:#ca60ca;">$</span><span style="color:#0057ae;">builddir</span>
0106 
0107 <span style="color:#0057ae;">xx</span> <span style="color:#bf0303;text-decoration:underline;">x</span>
0108 
0109 <span style="color:#0057ae;">x</span> <span style="color:#ca60ca;">=</span> <span style="color:#ca60ca;">$</span><span style="color:#0057ae;">a</span>
0110 <span style="color:#0057ae;">x</span> <span style="color:#ca60ca;">=</span> <span style="color:#ca60ca;">$</span><span style="color:#0057ae;">-a_</span>
0111 <span style="color:#0057ae;">x</span> <span style="color:#ca60ca;">=</span> <span style="color:#ca60ca;">${</span><span style="color:#0057ae;">a</span><span style="color:#ca60ca;">}</span>
0112 <span style="color:#0057ae;">x</span> <span style="color:#ca60ca;">=</span> <span style="color:#ca60ca;">${</span><span style="color:#0057ae;">-a</span><span style="color:#ca60ca;">}</span>
0113 <span style="color:#0057ae;">x</span> <span style="color:#ca60ca;">=</span> <span style="color:#ca60ca;">$</span><span style="color:#0057ae;">a</span>@
0114 <span style="color:#0057ae;">x</span> <span style="color:#ca60ca;">=</span> <span style="color:#ca60ca;">$</span><span style="color:#bf0303;text-decoration:underline;">@</span>
0115 <span style="color:#0057ae;">x</span> <span style="color:#ca60ca;">=</span> <span style="color:#3daee9;">$$</span>
0116 <span style="color:#0057ae;">x</span> <span style="color:#ca60ca;">=</span> <span style="color:#3daee9;">$:</span>
0117 <span style="color:#0057ae;">x</span> <span style="color:#ca60ca;">=</span> <span style="color:#3daee9;">$ </span>a
0118 <span style="color:#0057ae;">x</span> <span style="color:#ca60ca;">=</span> <span style="color:#3daee9;">$</span>
0119 <span style="color:#3daee9;">    </span>b
0120 <span style="color:#0057ae;">x</span> <span style="color:#ca60ca;">=</span> <span style="color:#3daee9;">$</span>
0121 <span style="color:#3daee9;">    $</span>
0122 <span style="color:#3daee9;">    </span>a
0123 <span style="color:#0057ae;">x</span> <span style="color:#ca60ca;">=</span> <span style="color:#3daee9;">$</span>
0124 <span style="color:#3daee9;">    </span><span style="color:#ca60ca;">$</span><span style="color:#0057ae;">a</span>
0125 <span style="color:#0057ae;">x</span> <span style="color:#ca60ca;">=</span> <span style="color:#ca60ca;">$</span><span style="color:#0057ae;">a</span> a
0126 <span style="color:#0057ae;">x</span> <span style="color:#ca60ca;">=</span> <span style="color:#ca60ca;">${</span><span style="color:#0057ae;">a</span><span style="color:#ca60ca;">}</span> a
0127 <span style="color:#0057ae;">x</span> <span style="color:#ca60ca;">=</span> <span style="color:#3daee9;">$$</span> a
0128 <span style="color:#0057ae;">x</span> <span style="color:#ca60ca;">=</span> <span style="color:#3daee9;">$:</span> a
0129 <span style="color:#0057ae;">x</span> <span style="color:#ca60ca;">=</span> <span style="color:#ca60ca;">$</span><span style="color:#bf0303;text-decoration:underline;">! a</span>
0130 <span style="color:#0057ae;">x</span> <span style="color:#ca60ca;">=</span> <span style="color:#ca60ca;">${</span><span style="color:#0057ae;">a</span><span style="color:#bf0303;text-decoration:underline;"> b ds</span>
0131  <span style="color:#bf0303;text-decoration:underline;">x = a</span>
0132 </pre></body></html>