Warning, file /frameworks/syntax-highlighting/autotests/html/Jamroot.html was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 <!DOCTYPE html> 0002 <html><head> 0003 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 0004 <title>Jamroot</title> 0005 <meta name="generator" content="KF5::SyntaxHighlighting - Definition (Jam) - Theme (Breeze Light)"/> 0006 </head><body style="background-color:#ffffff;color:#1f1c1b"><pre> 0007 <span style="color:#644a9b;">project</span> 0008 <span style="color:#ca60ca;font-weight:bold;">:</span> requirements <span style="color:#644a9b;font-weight:bold;"><include></span>/home/ghost/Work/boost <span style="color:#644a9b;font-weight:bold;"><threading></span>multi 0009 <span style="color:#ca60ca;font-weight:bold;">;</span> 0010 <span style="color:#644a9b;">project</span> a <span style="color:#ca60ca;font-weight:bold;">:</span> <span style="color:#ca60ca;font-weight:bold;">:</span> debug <span style="color:#ca60ca;font-weight:bold;">;</span> 0011 0012 <span style="color:#644a9b;">exe</span> hello <span style="color:#ca60ca;font-weight:bold;">:</span> hello.cpp <span style="color:#ca60ca;font-weight:bold;">;</span> 0013 0014 <span style="color:#644a9b;">exe</span> hello 0015 <span style="color:#ca60ca;font-weight:bold;">:</span> hello.cpp 0016 <span style="color:#ca60ca;font-weight:bold;">:</span> <span style="color:#644a9b;font-weight:bold;"><include></span>boost <span style="color:#644a9b;font-weight:bold;"><threading></span>multi 0017 <span style="color:#ca60ca;font-weight:bold;">;</span> 0018 <span style="color:#644a9b;">exe</span> app <span style="color:#ca60ca;font-weight:bold;">:</span> app.cpp ../util/foo//bar <span style="color:#ca60ca;font-weight:bold;">;</span> 0019 <span style="color:#644a9b;">exe</span> important <span style="color:#ca60ca;font-weight:bold;">:</span> main.cpp helpers/<link>static <span style="color:#ca60ca;font-weight:bold;">;</span> 0020 0021 <span style="color:#644a9b;">exe</span> b <span style="color:#ca60ca;font-weight:bold;">:</span> <span style="color:#ca60ca;font-weight:bold;">[</span> <span style="color:#644a9b;">glob</span> *.cpp <span style="color:#ca60ca;font-weight:bold;">]</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0022 0023 <span style="color:#644a9b;">lib</span> tools <span style="color:#ca60ca;font-weight:bold;">:</span> 0024 <span style="color:#ca60ca;font-weight:bold;">[</span> <span style="color:#644a9b;">glob</span> *.cpp <span style="color:#ca60ca;font-weight:bold;">]</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0025 0026 <span style="color:#644a9b;">lib</span> tools <span style="color:#ca60ca;font-weight:bold;">:</span> <span style="color:#ca60ca;font-weight:bold;">[</span> <span style="color:#644a9b;">glob</span> *.cpp <span style="color:#ca60ca;font-weight:bold;">:</span> file_to_exclude.cpp bad*.cpp <span style="color:#ca60ca;font-weight:bold;">]</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0027 0028 <span style="color:#644a9b;">lib</span> network <span style="color:#ca60ca;font-weight:bold;">:</span> network.cpp 0029 <span style="color:#ca60ca;font-weight:bold;">:</span> <span style="color:#644a9b;font-weight:bold;"><conditional></span>@my-rule 0030 <span style="color:#ca60ca;font-weight:bold;">;</span> 0031 0032 <span style="color:#644a9b;">DEPENDS</span> foo.o <span style="color:#ca60ca;font-weight:bold;">:</span> foo.c <span style="color:#ca60ca;font-weight:bold;">;</span> 0033 0034 <span style="color:#644a9b;">using</span> msvc <span style="color:#ca60ca;font-weight:bold;">:</span> <span style="color:#ca60ca;font-weight:bold;">:</span> <span style="color:#bf0303;">"Z:/Programs/Microsoft Visual Studio/vc98/bin/cl"</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0035 <span style="color:#644a9b;">using</span> msvc <span style="color:#ca60ca;font-weight:bold;">:</span> <span style="color:#ca60ca;font-weight:bold;">:</span> echo Compiling && foo/bar/baz/cl <span style="color:#ca60ca;font-weight:bold;">;</span> 0036 <span style="color:#644a9b;">using</span> gcc <span style="color:#ca60ca;font-weight:bold;">:</span> 5 <span style="color:#ca60ca;font-weight:bold;">:</span> <span style="color:#ca60ca;font-weight:bold;">:</span> <span style="color:#644a9b;font-weight:bold;"><cxxflags></span><span style="color:#bf0303;">"-std=c++14 -O2"</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0037 <span style="color:#644a9b;">using</span> clang <span style="color:#ca60ca;font-weight:bold;">:</span> 3.9 <span style="color:#ca60ca;font-weight:bold;">:</span> <span style="color:#ca60ca;font-weight:bold;">:</span> <span style="color:#644a9b;font-weight:bold;"><cxxflags></span>-std=c++14 <span style="color:#644a9b;font-weight:bold;"><cxxflags></span>-O2 <span style="color:#ca60ca;font-weight:bold;">;</span> 0038 <span style="color:#644a9b;">exe</span> test3 <span style="color:#ca60ca;font-weight:bold;">:</span> test3.cpp <span style="color:#ca60ca;font-weight:bold;">:</span> <span style="color:#ca60ca;font-weight:bold;">-</span><span style="color:#644a9b;font-weight:bold;"><threading></span>multi <span style="color:#ca60ca;font-weight:bold;">;</span> 0039 <span style="color:#0057ae;">XYZ </span><span style="color:#ca60ca;font-weight:bold;">+=</span> <span style="color:#644a9b;font-weight:bold;"><cxxflags></span>-Wzero-as-null-pointer-constant<span style="color:#ca60ca;font-weight:bold;">&&</span>-Wno-zero-as-null-pointer-constant <span style="color:#ca60ca;font-weight:bold;">;</span> 0040 <span style="color:#644a9b;">exe</span> hello <span style="color:#ca60ca;font-weight:bold;">:</span> hello.cpp <span style="color:#ca60ca;font-weight:bold;">:</span> <span style="color:#644a9b;font-weight:bold;"><os></span>NT<span style="color:#ca60ca;font-weight:bold;">,</span><span style="color:#644a9b;font-weight:bold;"><toolset></span>gcc<span style="color:#ca60ca;font-weight:bold;">:</span><span style="color:#644a9b;font-weight:bold;"><link></span>static <span style="color:#ca60ca;font-weight:bold;">;</span> 0041 0042 <span style="color:#644a9b;">install</span> dist <span style="color:#ca60ca;font-weight:bold;">:</span> hello helpers <span style="color:#ca60ca;font-weight:bold;">:</span> 0043 <span style="color:#644a9b;font-weight:bold;"><variant></span>release<span style="color:#ca60ca;font-weight:bold;">:</span><span style="color:#644a9b;font-weight:bold;"><location></span>dist/release 0044 <span style="color:#644a9b;font-weight:bold;"><variant></span>debug<span style="color:#ca60ca;font-weight:bold;">:</span><span style="color:#644a9b;font-weight:bold;"><location></span>dist/debug <span style="color:#ca60ca;font-weight:bold;">;</span> 0045 <span style="color:#644a9b;">install</span> dist2 <span style="color:#ca60ca;font-weight:bold;">:</span> hello helpers <span style="color:#ca60ca;font-weight:bold;">:</span> <span style="color:#644a9b;font-weight:bold;"><location></span><span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">DIST</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0046 0047 <span style="color:#644a9b;">exe</span> app <span style="color:#ca60ca;font-weight:bold;">:</span> app.cpp <span style="color:#ca60ca;font-weight:bold;">:</span> <span style="color:#ca60ca;font-weight:bold;">[</span> <span style="color:#644a9b;">check-target-builds</span> has_foo <span style="color:#bf0303;">"System has foo"</span> <span style="color:#ca60ca;font-weight:bold;">:</span> <span style="color:#644a9b;font-weight:bold;"><library></span>foo <span style="color:#ca60ca;font-weight:bold;">:</span> <span style="color:#644a9b;font-weight:bold;"><define></span>FOO_MISSING=1 <span style="color:#ca60ca;font-weight:bold;">]</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0048 0049 <span style="color:#644a9b;">import</span> path <span style="color:#ca60ca;font-weight:bold;">:</span> * <span style="color:#ca60ca;font-weight:bold;">;</span> 0050 0051 <span style="color:#644a9b;">using</span> python 0052 <span style="color:#ca60ca;font-weight:bold;">:</span> 2.7 <span style="color:#898887;"># version</span> 0053 <span style="color:#ca60ca;font-weight:bold;">:</span> <span style="color:#898887;"># Interpreter/path to dir</span> 0054 <span style="color:#ca60ca;font-weight:bold;">:</span> /usr/include/python2.7 <span style="color:#898887;"># includes</span> 0055 <span style="color:#ca60ca;font-weight:bold;">:</span> /usr/lib/x86_64-linux-gnu <span style="color:#898887;"># libs</span> 0056 <span style="color:#ca60ca;font-weight:bold;">:</span> <span style="color:#898887;"># conditions</span> 0057 <span style="color:#ca60ca;font-weight:bold;">;</span> 0058 0059 <span style="color:#644a9b;">xx</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0060 <span style="color:#644a9b;">xx</span> ;; <span style="color:#ca60ca;font-weight:bold;">;</span> 0061 <span style="color:#644a9b;">xx</span> ;a <span style="color:#ca60ca;font-weight:bold;">;</span> 0062 <span style="color:#644a9b;">xx</span> a; <span style="color:#ca60ca;font-weight:bold;">;</span> 0063 <span style="color:#644a9b;">xx</span> ;a; <span style="color:#ca60ca;font-weight:bold;">;</span> 0064 0065 <span style="color:#898887;font-weight:bold;">## comment title</span> 0066 <span style="color:#898887;"># </span><span style="color:#ca9219;background-color:#451e1a;font-weight:bold;">BUG</span> 0067 <span style="color:#898887;"># </span><span style="color:#ca9219;background-color:#451e1a;font-weight:bold;">TODO</span> 0068 <span style="color:#898887;"># aTODOa</span> 0069 0070 <span style="color:#898887;">#| multi</span> 0071 <span style="color:#898887;">line</span> 0072 <span style="color:#898887;">comment</span> 0073 <span style="color:#ca9219;background-color:#451e1a;font-weight:bold;">TODO</span> 0074 <span style="color:#898887;">bla bla</span> 0075 <span style="color:#898887;">|#</span> 0076 0077 <span style="font-weight:bold;">if</span> cond <span style="color:#ca60ca;font-weight:bold;">{</span> 0078 <span style="color:#644a9b;">statements</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0079 <span style="color:#ca60ca;font-weight:bold;">}</span> 0080 <span style="font-weight:bold;">else</span> <span style="color:#ca60ca;font-weight:bold;">{</span> 0081 <span style="color:#644a9b;">statements</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0082 <span style="color:#ca60ca;font-weight:bold;">}</span> 0083 0084 <span style="font-weight:bold;">for</span> <span style="color:#0057ae;">var</span> <span style="color:#ca60ca;font-weight:bold;">in</span> list <span style="color:#ca60ca;font-weight:bold;">{</span> 0085 <span style="color:#644a9b;">statements</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0086 <span style="color:#ca60ca;font-weight:bold;">}</span> 0087 0088 <span style="font-weight:bold;">while</span> cond <span style="color:#ca60ca;font-weight:bold;">{</span> 0089 <span style="color:#644a9b;">statements</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0090 <span style="color:#ca60ca;font-weight:bold;">}</span> 0091 0092 <span style="font-weight:bold;">switch</span> value 0093 <span style="color:#ca60ca;font-weight:bold;">{</span> 0094 <span style="color:#ca60ca;font-weight:bold;">case</span> pattern1 <span style="color:#ca60ca;font-weight:bold;">:</span> statements <span style="color:#ca60ca;font-weight:bold;">;</span> 0095 <span style="color:#ca60ca;font-weight:bold;">case</span> pattern2 <span style="color:#ca60ca;font-weight:bold;">:</span> statements <span style="color:#ca60ca;font-weight:bold;">;</span> 0096 <span style="color:#bf0303;text-decoration:underline;">other</span> <span style="color:#bf0303;text-decoration:underline;">;</span> 0097 <span style="color:#ca60ca;font-weight:bold;">}</span> 0098 0099 <span style="font-weight:bold;">if</span> xxinxx <span style="color:#ca60ca;font-weight:bold;">{</span> 0100 <span style="color:#ca60ca;font-weight:bold;">}</span> 0101 0102 <span style="color:#644a9b;">ifxxx</span> s <span style="color:#ca60ca;font-weight:bold;">;</span> 0103 0104 <span style="font-weight:bold;">rule</span> <span style="color:#644a9b;">a?</span> <span style="color:#0057ae;">(</span> <span style="color:#0057ae;">x</span> <span style="color:#0057ae;">)</span> 0105 <span style="color:#ca60ca;font-weight:bold;">{</span> 0106 <span style="color:#644a9b;">echo</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">x</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0107 <span style="color:#ca60ca;font-weight:bold;">}</span> 0108 <span style="color:#644a9b;">a?</span> 23 <span style="color:#ca60ca;font-weight:bold;">;</span> 0109 0110 <span style="font-weight:bold;">local</span> <span style="font-weight:bold;">rule</span> <span style="color:#644a9b;">test</span> <span style="color:#0057ae;">(</span> <span style="color:#0057ae;">a</span> <span style="color:#0057ae;">)</span> 0111 <span style="color:#ca60ca;font-weight:bold;">{</span> 0112 <span style="color:#ca60ca;font-weight:bold;">}</span> 0113 0114 <span style="font-weight:bold;">rule</span> <span style="color:#644a9b;">example</span> 0115 <span style="color:#0057ae;">(</span> 0116 <span style="color:#0057ae;">parameter1</span> <span style="color:#ca60ca;font-weight:bold;">:</span> 0117 <span style="color:#0057ae;">parameter2</span> <span style="color:#0057ae;">?</span> <span style="color:#ca60ca;font-weight:bold;">:</span> 0118 <span style="color:#0057ae;">parameter3</span> <span style="color:#0057ae;">+</span> <span style="color:#ca60ca;font-weight:bold;">:</span> 0119 <span style="color:#0057ae;">parameter4</span> <span style="color:#0057ae;">*</span> 0120 <span style="color:#0057ae;">)</span> 0121 <span style="color:#ca60ca;font-weight:bold;">{</span> 0122 <span style="font-weight:bold;">if</span> <span style="color:#644a9b;font-weight:bold;"><variant></span>debug <span style="color:#ca60ca;font-weight:bold;">in</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">properties</span><span style="color:#ca60ca;">)</span> 0123 <span style="color:#ca60ca;font-weight:bold;">{</span> 0124 <span style="color:#0057ae;">OPTIONS </span><span style="color:#ca60ca;font-weight:bold;">on</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">targets</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;font-weight:bold;">=</span> --debug <span style="color:#ca60ca;font-weight:bold;">;</span> 0125 <span style="color:#ca60ca;font-weight:bold;">}</span> 0126 <span style="color:#ca60ca;font-weight:bold;">}</span> 0127 0128 <span style="font-weight:bold;">rule</span> <span style="color:#644a9b;">my-rule</span> <span style="color:#0057ae;">(</span> <span style="color:#0057ae;">properties</span> <span style="color:#0057ae;">*</span> <span style="color:#0057ae;">)</span> 0129 <span style="color:#ca60ca;font-weight:bold;">{</span> 0130 <span style="font-weight:bold;">local</span> <span style="color:#0057ae;">result</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0131 <span style="font-weight:bold;">if</span> <span style="color:#644a9b;font-weight:bold;"><toolset></span>gcc <span style="color:#644a9b;font-weight:bold;"><optimization></span>speed <span style="color:#ca60ca;font-weight:bold;">in</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">properties</span><span style="color:#ca60ca;">)</span> 0132 <span style="color:#ca60ca;font-weight:bold;">{</span> 0133 <span style="color:#0057ae;">result </span><span style="color:#ca60ca;font-weight:bold;">+=</span> <span style="color:#644a9b;font-weight:bold;"><define></span>USE_INLINE_ASSEMBLER <span style="color:#ca60ca;font-weight:bold;">;</span> 0134 <span style="font-weight:bold;">return</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">result</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0135 <span style="color:#ca60ca;font-weight:bold;">}</span> 0136 0137 <span style="font-weight:bold;">local</span> <span style="color:#0057ae;">m</span> <span style="color:#ca60ca;font-weight:bold;">=</span> <span style="color:#ca60ca;font-weight:bold;">[</span> <span style="color:#644a9b;">CALLER_MODULE</span> <span style="color:#ca60ca;font-weight:bold;">]</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0138 <span style="font-weight:bold;">local</span> <span style="color:#0057ae;">result</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0139 <span style="font-weight:bold;">for</span> <span style="color:#0057ae;">v</span> <span style="color:#ca60ca;font-weight:bold;">in</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">values</span><span style="color:#ca60ca;">)</span> 0140 <span style="color:#ca60ca;font-weight:bold;">{</span> 0141 <span style="font-weight:bold;">if</span> <span style="color:#ca60ca;font-weight:bold;">[</span> <span style="color:#644a9b;">modules.call-in</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">m</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;font-weight:bold;">:</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">f</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">v</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;font-weight:bold;">]</span> 0142 <span style="color:#ca60ca;font-weight:bold;">{</span> 0143 <span style="color:#0057ae;">result </span><span style="color:#ca60ca;font-weight:bold;">+=</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">v</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0144 <span style="color:#ca60ca;font-weight:bold;">}</span> 0145 <span style="color:#ca60ca;font-weight:bold;">}</span> 0146 <span style="font-weight:bold;">return</span> result <span style="color:#ca60ca;font-weight:bold;">;</span> 0147 <span style="font-weight:bold;">return</span> <span style="color:#644a9b;font-weight:bold;"><name></span><span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">name</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0148 <span style="font-weight:bold;">return</span> <span style="color:#ca60ca;font-weight:bold;">[</span> <span style="color:#644a9b;">virtual-target.register</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">t</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;font-weight:bold;">]</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0149 <span style="font-weight:bold;">return</span> <span style="color:#ca60ca;font-weight:bold;">[</span> <span style="color:#644a9b;">sequence.transform</span> virtual-target.register <span style="color:#ca60ca;font-weight:bold;">:</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">targets</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;font-weight:bold;">]</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0150 <span style="color:#ca60ca;font-weight:bold;">}</span> 0151 0152 <span style="font-weight:bold;">rule</span> <span style="color:#644a9b;">run</span> <span style="color:#0057ae;">(</span> <span style="color:#0057ae;">project</span> <span style="color:#0057ae;">name</span> <span style="color:#0057ae;">?</span> <span style="color:#ca60ca;font-weight:bold;">:</span> <span style="color:#0057ae;">property-set</span> <span style="color:#ca60ca;font-weight:bold;">:</span> <span style="color:#0057ae;">sources</span> <span style="color:#0057ae;">*</span> <span style="color:#0057ae;">)</span> 0153 <span style="color:#ca60ca;font-weight:bold;">{</span> 0154 <span style="font-weight:bold;">if</span> <span style="color:#ca60ca;font-weight:bold;">[</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">s</span><span style="color:#ca60ca;">)</span>.type <span style="color:#ca60ca;font-weight:bold;">]</span> <span style="color:#ca60ca;font-weight:bold;">=</span> PY 0155 <span style="color:#ca60ca;font-weight:bold;">{</span> 0156 <span style="color:#0057ae;">python </span><span style="color:#ca60ca;font-weight:bold;">=</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">s</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0157 <span style="color:#ca60ca;font-weight:bold;">}</span> 0158 0159 <span style="font-weight:bold;">local</span> <span style="color:#0057ae;">new-sources</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0160 <span style="font-weight:bold;">for</span> <span style="font-weight:bold;">local</span> <span style="color:#0057ae;">s</span> <span style="color:#ca60ca;font-weight:bold;">in</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">sources</span><span style="color:#ca60ca;">)</span> 0161 <span style="color:#ca60ca;font-weight:bold;">{</span> 0162 <span style="font-weight:bold;">if</span> <span style="color:#ca60ca;font-weight:bold;">[</span> <span style="color:#644a9b;">type.is-derived</span> <span style="color:#ca60ca;font-weight:bold;">[</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">s</span><span style="color:#ca60ca;">)</span>.type <span style="color:#ca60ca;font-weight:bold;">]</span> CPP <span style="color:#ca60ca;font-weight:bold;">]</span> 0163 <span style="color:#ca60ca;font-weight:bold;">{</span> 0164 <span style="font-weight:bold;">local</span> <span style="color:#0057ae;">name</span> <span style="color:#ca60ca;font-weight:bold;">=</span> <span style="color:#ca60ca;font-weight:bold;">[</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">s</span><span style="color:#ca60ca;">)</span>.name <span style="color:#ca60ca;font-weight:bold;">]</span> <span style="color:#ca60ca;font-weight:bold;">;</span> <span style="color:#898887;"># get the target's basename</span> 0165 <span style="font-weight:bold;">if</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">name</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;font-weight:bold;">=</span> <span style="color:#ca60ca;font-weight:bold;">[</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">python</span><span style="color:#ca60ca;">)</span>.name <span style="color:#ca60ca;font-weight:bold;">]</span> 0166 <span style="color:#ca60ca;font-weight:bold;">{</span> 0167 <span style="color:#0057ae;">name </span><span style="color:#ca60ca;font-weight:bold;">=</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">name</span><span style="color:#ca60ca;">)</span>_ext <span style="color:#ca60ca;font-weight:bold;">;</span> <span style="color:#898887;"># rename the target</span> 0168 <span style="color:#ca60ca;font-weight:bold;">}</span> 0169 <span style="color:#0057ae;">new-sources </span><span style="color:#ca60ca;font-weight:bold;">+=</span> <span style="color:#ca60ca;font-weight:bold;">[</span> <span style="color:#644a9b;">generators.construct</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">project</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">name</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;font-weight:bold;">:</span> 0170 PYTHON_EXTENSION <span style="color:#ca60ca;font-weight:bold;">:</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">property-set</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;font-weight:bold;">:</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">s</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">libs</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;font-weight:bold;">]</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0171 <span style="color:#ca60ca;font-weight:bold;">}</span> 0172 <span style="color:#ca60ca;font-weight:bold;">}</span> 0173 0174 <span style="color:#0057ae;">result </span><span style="color:#ca60ca;font-weight:bold;">=</span> <span style="color:#ca60ca;font-weight:bold;">[</span> <span style="color:#644a9b;">construct-result</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">python</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">new-sources</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;font-weight:bold;">:</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">project</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">name</span><span style="color:#ca60ca;">)</span> 0175 <span style="color:#ca60ca;font-weight:bold;">:</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">property-set</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;font-weight:bold;">]</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0176 <span style="color:#ca60ca;font-weight:bold;">}</span> 0177 0178 0179 <span style="font-weight:bold;">rule</span> <span style="color:#644a9b;">link</span> 0180 <span style="color:#ca60ca;font-weight:bold;">{</span> 0181 <span style="color:#644a9b;">DEPENDS</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;"><</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;font-weight:bold;">:</span> <span style="color:#ca60ca;font-weight:bold;">[</span> <span style="font-weight:bold;">on</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;"><</span><span style="color:#ca60ca;">)</span> <span style="font-weight:bold;">return</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">DEF_FILE</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;font-weight:bold;">]</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0182 <span style="color:#ca60ca;font-weight:bold;">}</span> 0183 0184 0185 <span style="font-weight:bold;">actions</span> link <span style="color:#0057ae;">bind</span> <span style="color:#0057ae;">DEF_FILE</span> 0186 <span style="color:#ca60ca;font-weight:bold;">{</span> 0187 <span style="color:#0057ae;">$(</span><span style="color:#0095ff;font-weight:bold;">.LD</span><span style="color:#0057ae;">)</span> .... /DEF:<span style="color:#0057ae;">$(</span><span style="color:#0095ff;font-weight:bold;">DEF_FILE</span><span style="color:#0057ae;">)</span> .... 0188 <span style="color:#ca60ca;font-weight:bold;">}</span> 0189 0190 <span style="font-weight:bold;">actions</span> create-file-from-another 0191 <span style="color:#ca60ca;font-weight:bold;">{</span> 0192 <span style="color:#0095ff;font-weight:bold;">create-file-from-another</span> <span style="color:#0057ae;">$(</span><span style="color:#0095ff;font-weight:bold;">OPTIONS</span><span style="color:#0057ae;">)</span> <span style="color:#0057ae;">$(</span><span style="color:#ca60ca;"><</span><span style="color:#0057ae;">)</span> <span style="color:#0057ae;">$(</span><span style="color:#ca60ca;">></span><span style="color:#0057ae;">)</span> 0193 <span style="color:#ca60ca;font-weight:bold;">}</span> 0194 0195 0196 <span style="color:#0057ae;">mypackage </span><span style="color:#ca60ca;font-weight:bold;">=</span> 0197 <span style="color:#ca60ca;font-weight:bold;">[</span> <span style="color:#644a9b;">pkg-config.import</span> mypackage <span style="color:#ca60ca;font-weight:bold;">:</span> usage-requirements <span style="color:#644a9b;font-weight:bold;"><conditional></span>@define_ns 0198 <span style="color:#ca60ca;font-weight:bold;">]</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0199 0200 <span style="color:#0057ae;">me </span><span style="color:#ca60ca;font-weight:bold;">=</span> <span style="color:#ca60ca;font-weight:bold;">[</span> <span style="color:#644a9b;">modules.binding</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">__name__</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;font-weight:bold;">]</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0201 0202 <span style="font-weight:bold;">local</span> <span style="color:#0057ae;">ZLIB_INCLUDE</span> <span style="color:#ca60ca;font-weight:bold;">=</span> <span style="color:#ca60ca;font-weight:bold;">[</span> <span style="color:#644a9b;">modules.peek</span> <span style="color:#ca60ca;font-weight:bold;">:</span> ZLIB_INCLUDE <span style="color:#ca60ca;font-weight:bold;">]</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0203 0204 <span style="font-weight:bold;">local</span> <span style="color:#0057ae;">t</span> <span style="color:#ca60ca;font-weight:bold;">=</span> <span style="color:#ca60ca;font-weight:bold;">[</span> <span style="color:#644a9b;">new</span> file-target <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">name</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;font-weight:bold;">:</span> CPP <span style="color:#ca60ca;font-weight:bold;">:</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">project</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;font-weight:bold;">:</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">a</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;font-weight:bold;">]</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0205 0206 <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">var</span><span style="color:#ca60ca;">)</span> <span style="color:#644a9b;">field1</span> <span style="color:#ca60ca;font-weight:bold;">:</span> field2 <span style="color:#ca60ca;font-weight:bold;">:</span> ... <span style="color:#ca60ca;font-weight:bold;">:</span> fieldN <span style="color:#ca60ca;font-weight:bold;">;</span> 0207 <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">var</span><span style="color:#ca60ca;">)</span><span style="color:#644a9b;">o</span> aaaa <span style="color:#ca60ca;font-weight:bold;">;</span> 0208 0209 <span style="font-weight:bold;">on</span> <span style="font-weight:bold;">target</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">var</span><span style="color:#ca60ca;">)</span> field1 <span style="color:#ca60ca;font-weight:bold;">:</span> field2 <span style="color:#ca60ca;font-weight:bold;">:</span> ... <span style="color:#ca60ca;font-weight:bold;">:</span> fieldN <span style="color:#ca60ca;font-weight:bold;">;</span> 0210 0211 <span style="color:#ca60ca;font-weight:bold;">[</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">var</span><span style="color:#ca60ca;">)</span> field1 <span style="color:#ca60ca;font-weight:bold;">:</span> field2 <span style="color:#ca60ca;font-weight:bold;">:</span> ... <span style="color:#ca60ca;font-weight:bold;">:</span> fieldN <span style="color:#ca60ca;font-weight:bold;">]</span> 0212 <span style="color:#ca60ca;font-weight:bold;">[</span> <span style="font-weight:bold;">on</span> <span style="font-weight:bold;">target</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">var</span><span style="color:#ca60ca;">)</span> field1 <span style="color:#ca60ca;font-weight:bold;">:</span> field2 <span style="color:#ca60ca;font-weight:bold;">:</span> ... <span style="color:#ca60ca;font-weight:bold;">:</span> fieldN <span style="color:#ca60ca;font-weight:bold;">]</span> 0213 0214 <span style="font-weight:bold;">local</span> <span style="color:#0057ae;">key</span> <span style="color:#ca60ca;font-weight:bold;">=</span> <span style="color:#bf0303;">"HKEY_LOCAL_MACHINE</span><span style="color:#3daee9;">\\</span><span style="color:#bf0303;">SOFTWARE</span><span style="color:#3daee9;">\\</span><span style="color:#bf0303;">Microsoft</span><span style="color:#3daee9;">\\</span><span style="color:#bf0303;">Windows</span><span style="color:#3daee9;">\\</span><span style="color:#bf0303;">CurrentVersion</span><span style="color:#3daee9;">\\</span><span style="color:#bf0303;">App Paths"</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0215 <span style="font-weight:bold;">local</span> <span style="color:#0057ae;">values</span> <span style="color:#ca60ca;font-weight:bold;">=</span> <span style="color:#ca60ca;font-weight:bold;">[</span> <span style="color:#644a9b;">W32_GETREGNAMES</span> <span style="color:#bf0303;">"</span><span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">key</span><span style="color:#ca60ca;">)</span><span style="color:#3daee9;">\\</span><span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">subkey</span><span style="color:#ca60ca;">)</span><span style="color:#bf0303;">"</span> <span style="color:#ca60ca;font-weight:bold;">:</span> values <span style="color:#ca60ca;font-weight:bold;">]</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0216 0217 <span style="color:#0057ae;">variable </span><span style="color:#ca60ca;font-weight:bold;">=</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">b</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">c</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0218 <span style="color:#0057ae;">variable </span><span style="color:#ca60ca;font-weight:bold;">+=</span> elements <span style="color:#ca60ca;font-weight:bold;">;</span> 0219 <span style="color:#0057ae;">variable </span><span style="color:#ca60ca;font-weight:bold;">on</span> targets <span style="color:#ca60ca;font-weight:bold;">=</span> elements <span style="color:#ca60ca;font-weight:bold;">;</span> 0220 <span style="color:#0057ae;">variable </span><span style="color:#ca60ca;font-weight:bold;">on</span> targets <span style="color:#ca60ca;font-weight:bold;">+=</span> <span style="color:#bf0303;">"elements"</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0221 <span style="color:#0057ae;">variable </span><span style="font-weight:bold;">default</span> <span style="color:#ca60ca;font-weight:bold;">=</span> elements <span style="color:#ca60ca;font-weight:bold;">;</span> 0222 <span style="color:#0057ae;">variable </span><span style="color:#ca60ca;font-weight:bold;">?=</span> elements <span style="color:#ca60ca;font-weight:bold;">;</span> 0223 0224 <span style="color:#0057ae;">defs </span><span style="color:#ca60ca;font-weight:bold;">+=</span> <span style="color:#644a9b;font-weight:bold;"><define></span>NAME='\"<span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">VALUE</span><span style="color:#ca60ca;">)</span>\"' <span style="color:#ca60ca;font-weight:bold;">;</span> 0225 0226 <span style="color:#0057ae;">x </span><span style="color:#ca60ca;font-weight:bold;">=</span> <span style="color:#ca60ca;">$($(</span><span style="color:#0057ae;">Z</span><span style="color:#ca60ca;">))</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0227 <span style="color:#0057ae;">x </span><span style="color:#ca60ca;font-weight:bold;">=</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">Z</span><span style="color:#ca60ca;">)</span>x <span style="color:#ca60ca;font-weight:bold;">;</span> 0228 <span style="color:#0057ae;">x </span><span style="color:#ca60ca;font-weight:bold;">=</span> x<span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">Z</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0229 <span style="color:#0057ae;">x </span><span style="color:#ca60ca;font-weight:bold;">=</span> x<span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">Z</span><span style="color:#ca60ca;">)</span>x <span style="color:#ca60ca;font-weight:bold;">;</span> 0230 0231 <span style="color:#0057ae;">x </span><span style="color:#ca60ca;font-weight:bold;">=</span> <span style="color:#bf0303;">"C:</span><span style="color:#3daee9;">\\</span><span style="color:#bf0303;">Program Files</span><span style="color:#3daee9;">\\</span><span style="color:#bf0303;">Borland"</span> <span style="color:#ca60ca;font-weight:bold;">;</span> <span style="color:#644a9b;">ECHO</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">x</span><span style="color:#0057ae;">:T</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0232 0233 <span style="font-weight:bold;">module</span> my_module <span style="color:#898887;"># my module</span> 0234 <span style="color:#ca60ca;font-weight:bold;">{</span> 0235 <span style="font-weight:bold;">rule</span> <span style="color:#644a9b;">salute</span> <span style="color:#0057ae;">(</span> <span style="color:#0057ae;">x</span> <span style="color:#0057ae;">)</span> <span style="color:#ca60ca;font-weight:bold;">{</span> <span style="color:#644a9b;">ECHO</span> <span style="color:#ca60ca;">$(</span><span style="color:#0057ae;">x</span><span style="color:#ca60ca;">)</span>, world <span style="color:#ca60ca;font-weight:bold;">;</span> <span style="color:#ca60ca;font-weight:bold;">}</span> 0236 <span style="font-weight:bold;">rule</span> <span style="color:#644a9b;">greet</span> <span style="color:#0057ae;">(</span> <span style="color:#0057ae;">)</span> <span style="color:#ca60ca;font-weight:bold;">{</span> <span style="color:#644a9b;">salute</span> hello <span style="color:#ca60ca;font-weight:bold;">;</span> <span style="color:#ca60ca;font-weight:bold;">}</span> 0237 <span style="color:#644a9b;">greet</span> <span style="color:#ca60ca;font-weight:bold;">;</span> <span style="color:#898887;"># ok</span> 0238 <span style="color:#ca60ca;font-weight:bold;">}</span> 0239 0240 <span style="font-weight:bold;">class</span> verbatim-scanner <span style="color:#ca60ca;font-weight:bold;">:</span> common-scanner 0241 <span style="color:#ca60ca;font-weight:bold;">{</span> 0242 <span style="font-weight:bold;">rule</span> <span style="color:#644a9b;">pattern</span> <span style="color:#0057ae;">(</span> <span style="color:#0057ae;">)</span> 0243 <span style="color:#ca60ca;font-weight:bold;">{</span> 0244 <span style="font-weight:bold;">return</span> <span style="color:#bf0303;">"//###include[ ]*</span><span style="color:#3daee9;">\"</span><span style="color:#bf0303;">([^</span><span style="color:#3daee9;">\"</span><span style="color:#bf0303;">]*)</span><span style="color:#3daee9;">\"</span><span style="color:#bf0303;">"</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0245 <span style="color:#ca60ca;font-weight:bold;">}</span> 0246 <span style="color:#bf0303;text-decoration:underline;">greet</span> <span style="color:#bf0303;text-decoration:underline;">;</span> <span style="color:#898887;"># error</span> 0247 <span style="color:#ca60ca;font-weight:bold;">}</span> 0248 0249 <span style="color:#898887;"># test crazy (and valid) name</span> 0250 <span style="color:#644a9b;">a<b></span> a<b> <span style="color:#ca60ca;font-weight:bold;">[</span> <span style="color:#644a9b;">a<b></span> a<b> a] <span style="color:#ca60ca;font-weight:bold;">]</span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0251 <span style="font-weight:bold;">rule</span> <span style="color:#644a9b;">a<b>()</span> <span style="color:#0057ae;">()</span> <span style="color:#ca60ca;font-weight:bold;">{</span> <span style="color:#ca60ca;font-weight:bold;">}</span> 0252 <span style="font-weight:bold;">actions</span> a<b> <span style="color:#ca60ca;font-weight:bold;">{</span> <span style="color:#ca60ca;font-weight:bold;">}</span> 0253 <span style="font-weight:bold;">local</span> <span style="color:#0057ae;">a<x></span> <span style="color:#ca60ca;font-weight:bold;">;</span> 0254 <span style="font-weight:bold;">local</span> <span style="color:#0057ae;">a<x></span> <span style="color:#ca60ca;font-weight:bold;">=</span> a<b> <span style="color:#ca60ca;font-weight:bold;">;</span> 0255 </pre></body></html>