1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
|
<!DOCTYPE html>
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Makefile</title>
<meta name="generator" content="KF5::SyntaxHighlighting - Definition (Makefile) - Theme (Breeze Dark)"/>
</head><body style="background-color:#232629;color:#cfcfc2"><pre>
<span style="color:#7a7c7d"># comment</span>
<span style="font-weight:bold">include</span> Makefile.in
<span style="font-weight:bold">-include</span> Makefile.doesntexist
<span style="color:#27ae60;font-weight:bold">.PHONY:</span><span style="color:#2980b9"> all</span>
<span style="color:#f67400">all</span><span style="color:#f67400">:</span><span style="color:#2980b9"> target</span>
<span style="color:#2980b9">foo</span> <span style="color:#3daee9">=</span><span style="color:#f44f4f"> bar </span><span style="color:#3daee9">$(</span><span style="color:#2980b9">var</span><span style="color:#3daee9">)</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">\</span>
<span style="color:#f44f4f"> </span><span style="color:#3daee9">$(</span><span style="color:#2980b9">baz</span><span style="color:#3daee9">)</span><span style="color:#f44f4f"> quux</span>
<span style="color:#fdbc4b;font-weight:bold">ifeq</span> (<span style="color:#3daee9">$(</span><span style="color:#2980b9">CC</span><span style="color:#3daee9">)</span>,gcc)
<span style="color:#2980b9">bla</span><span style="color:#3daee9">=$(</span><span style="font-weight:bold">call</span><span style="color:#f44f4f"> func</span><span style="font-weight:bold">,</span><span style="color:#f44f4f">param1</span><span style="font-weight:bold">,</span><span style="color:#f44f4f">param2</span><span style="color:#3daee9">)</span>
<span style="color:#fdbc4b;font-weight:bold">else</span> <span style="color:#fdbc4b;font-weight:bold">ifeq</span> <span style="color:#f44f4f">"x"</span> <span style="color:#f44f4f">"y"</span>
<span style="color:#3daee9">$(</span><span style="font-weight:bold">error</span><span style="color:#f44f4f"> this seems wrong</span><span style="color:#3daee9">)</span>
<span style="color:#fdbc4b;font-weight:bold">else</span>
<span style="color:#2980b9">libs</span><span style="color:#3daee9">=$(</span><span style="color:#2980b9">normal_libs</span><span style="color:#3daee9">)</span>
<span style="color:#fdbc4b;font-weight:bold">endif</span>
<span style="color:#f67400">target1</span><span style="color:#f67400">:</span>
<span style="color:#da4453;text-decoration:underline"> </span>error
<span style="color:#f67400">target2</span><span style="color:#f67400">:</span><span style="color:#2980b9"> bla.cpp </span><span style="color:#3daee9">$@</span>
<span style="color:#3daee9">$(</span><span style="color:#2980b9">CC</span><span style="color:#3daee9">)</span> bla.c -o bla.o
<span style="color:#3daee9">$(</span><span style="color:#2980b9">CC</span><span style="color:#3daee9">)</span> bla.o <span style="color:#3daee9">$<</span> <span style="color:#3daee9">\</span>
<span style="color:#3daee9">-</span><span style="color:#8e44ad">o bla.exe</span>
<span style="color:#3daee9">@</span><span style="color:#8e44ad">echo </span><span style="color:#f44f4f">"hello"</span><span style="color:#8e44ad"> </span><span style="color:#3daee9">\</span>
<span style="color:#8e44ad"> bla bla</span>
echo <span style="color:#f44f4f">"hello"</span> <span style="color:#3daee9">\</span>
bla bla
<span style="color:#f67400">target3</span><span style="color:#f67400">:</span><span style="color:#2980b9"> </span><span style="color:#3daee9">;</span> <span style="color:#3daee9">@</span><span style="color:#8e44ad">echo ’hello </span><span style="color:#3daee9">\</span>
<span style="color:#8e44ad">world’ ; echo </span><span style="color:#f44f4f">"hello </span><span style="color:#3daee9">\</span>
<span style="color:#f44f4f">world"</span>
<span style="color:#3daee9">@</span><span style="color:#8e44ad">echo </span><span style="color:#f44f4f">"hello"</span>
<span style="color:#f67400">target4</span><span style="color:#f67400">:</span><span style="color:#2980b9"> </span><span style="color:#3daee9">;</span> echo ’hello <span style="color:#3daee9">\</span>
world’ ; echo <span style="color:#f44f4f">"hello </span><span style="color:#3daee9">\</span>
<span style="color:#f44f4f">world"</span>
echo <span style="color:#f44f4f">"hello"</span>
<span style="color:#f67400">target5 </span><span style="color:#3daee9">\</span>
<span style="color:#f67400">target6 </span><span style="color:#3daee9">\</span>
<span style="color:#f67400">target7 </span><span style="color:#f67400">&::</span>
<span style="color:#3daee9">@</span><span style="color:#8e44ad">echo </span><span style="color:#f44f4f">"hello"</span>
<span style="color:#7a7c7d"># this should not break the rule</span>
<span style="color:#7a7c7d"># ifndef is a command</span>
ifndef
<span style="color:#7a7c7d"># String Substitution</span>
<span style="color:#2980b9">VAR</span> <span style="color:#3daee9">:=</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">$(</span><span style="color:#2980b9">ANOTHER_VAR</span><span style="font-weight:bold">:</span><span style="color:#da4453">%</span><span style="font-weight:bold">=</span><span style="color:#da4453">%+1</span><span style="color:#3daee9">)</span>
<span style="color:#7a7c7d"># Variable Assignment</span>
<span style="color:#2980b9">RELAXED</span> <span style="color:#3daee9">::=</span><span style="color:#f44f4f"> mello</span>
<span style="color:#2980b9">rempl</span> <span style="color:#3daee9">:=</span><span style="color:#f44f4f"> x</span>
<span style="color:#2980b9">foo</span> <span style="color:#3daee9">:=</span><span style="color:#f44f4f"> a b c</span>
<span style="color:#2980b9">bar</span> <span style="color:#3daee9">:=</span><span style="color:#f44f4f"> foo</span>
<span style="color:#2980b9">hello</span> <span style="color:#3daee9">:=</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">$($(</span><span style="color:#2980b9">bar</span><span style="color:#3daee9">)</span><span style="font-weight:bold">:</span><span style="color:#da4453">a</span><span style="font-weight:bold">=</span><span style="color:#3daee9">$(</span><span style="color:#2980b9">rempl</span><span style="color:#3daee9">))</span>
<span style="color:#2980b9">my??var</span><span style="color:#3daee9">=</span><span style="color:#f44f4f">value</span>
<span style="color:#2980b9">var?</span><span style="color:#3daee9">?=</span><span style="color:#f44f4f">value</span>
<span style="color:#2980b9">var</span><span style="color:#3daee9">?=</span><span style="color:#f44f4f">value</span>
<span style="color:#2980b9">var?</span> <span style="color:#3daee9">=</span><span style="color:#f44f4f"> value</span>
<span style="color:#2980b9">var</span> <span style="color:#3daee9">:::=</span><span style="color:#f44f4f"> value</span>
<span style="color:#2980b9">var</span> <span style="color:#3daee9">::=</span><span style="color:#f44f4f"> value</span>
<span style="color:#2980b9">var</span> <span style="color:#3daee9">+=</span><span style="color:#f44f4f"> value</span>
<span style="color:#2980b9">var</span> <span style="color:#3daee9">!=</span><span style="color:#f44f4f"> value</span>
<span style="color:#2980b9">var</span> <span style="color:#3daee9">=</span><span style="color:#f44f4f"> value\#nocomment</span>
<span style="color:#2980b9">var</span> <span style="color:#3daee9">=</span><span style="color:#f44f4f"> value</span><span style="color:#7a7c7d">#comment</span>
<span style="color:#2980b9">var</span> <span style="color:#3daee9">=</span><span style="color:#f44f4f"> value;value2</span>
<span style="font-weight:bold">override</span> <span style="color:#2980b9">var </span><span style="color:#3daee9">=</span><span style="color:#f44f4f"> a</span>
<span style="font-weight:bold">define</span> <span style="color:#2980b9">var</span> <span style="color:#3daee9">:::=</span>
<span style="color:#f44f4f">bar</span>
<span style="font-weight:bold">endef</span>
<span style="font-weight:bold">override</span> <span style="font-weight:bold">define</span> <span style="color:#2980b9">var</span> <span style="color:#3daee9">:::=</span>
<span style="color:#f44f4f">bar</span>
<span style="font-weight:bold">endef</span>
<span style="font-weight:bold">undefine</span><span style="color:#2980b9"> var</span>
<span style="font-weight:bold">override</span> <span style="font-weight:bold">undefine</span><span style="color:#2980b9"> var</span>
<span style="font-weight:bold">export</span><span style="color:#2980b9"> foo bar</span>
<span style="font-weight:bold">export</span><span style="color:#2980b9"> foo </span><span style="color:#3daee9">=</span><span style="color:#f44f4f"> bar</span>
<span style="font-weight:bold">unexport</span><span style="color:#2980b9"> foo bar</span>
<span style="color:#f67400">prog</span><span style="color:#f67400">:</span><span style="color:#2980b9"> </span><span style="font-weight:bold">private</span><span style="color:#2980b9"> EXTRA_CFLAGS </span><span style="color:#3daee9">=</span><span style="color:#f44f4f"> -L/usr/local/lib</span>
<span style="color:#f67400">prog</span><span style="color:#f67400">:</span><span style="color:#2980b9"> </span><span style="color:#2980b9">CFLAGS</span> <span style="color:#3daee9">=</span><span style="color:#f44f4f"> -g</span>
<span style="color:#f67400">prog</span><span style="color:#f67400">:</span><span style="color:#2980b9"> a.o b.o</span>
<span style="color:#7a7c7d"># Conditionals</span>
<span style="color:#2980b9">bar</span> <span style="color:#3daee9">=</span>
<span style="color:#2980b9">foo</span> <span style="color:#3daee9">=</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">$(</span><span style="color:#2980b9">bar</span><span style="color:#3daee9">)</span>
<span style="color:#fdbc4b;font-weight:bold">ifdef</span> bar
<span style="color:#2980b9">frobozz</span> <span style="color:#3daee9">=</span><span style="color:#f44f4f"> yes</span>
<span style="color:#fdbc4b;font-weight:bold">else</span> <span style="color:#fdbc4b;font-weight:bold">ifdef</span> foo
<span style="color:#2980b9">frobozz</span> <span style="color:#3daee9">=</span><span style="color:#f44f4f"> no</span>
<span style="color:#fdbc4b;font-weight:bold">endif</span>
<span style="color:#2980b9">error_type</span> <span style="color:#3daee9">:=</span><span style="color:#f44f4f"> 0</span>
<span style="color:#f67400">check</span><span style="color:#f67400">:</span>
<span style="color:#fdbc4b;font-weight:bold">ifeq</span> (<span style="color:#3daee9">$(</span><span style="color:#2980b9">error_type</span><span style="color:#3daee9">)</span>,0)
<span style="color:#fdbc4b;font-weight:bold">else</span> <span style="color:#fdbc4b;font-weight:bold">ifeq</span> (<span style="color:#3daee9">$(</span><span style="color:#2980b9">error_type</span><span style="color:#3daee9">)</span>,1)
<span style="color:#fdbc4b;font-weight:bold">else</span> <span style="color:#fdbc4b;font-weight:bold">ifeq</span> (<span style="color:#3daee9">$(</span><span style="color:#2980b9">error_type</span><span style="color:#3daee9">)</span>,2)
<span style="color:#fdbc4b;font-weight:bold">else</span> <span style="color:#fdbc4b;font-weight:bold">ifeq</span> (<span style="color:#3daee9">$(</span><span style="color:#2980b9">error_type</span><span style="color:#3daee9">)</span>,3)
<span style="color:#fdbc4b;font-weight:bold">endif</span>
<span style="color:#3daee9">$(</span><span style="font-weight:bold">info</span><span style="color:#f44f4f"> </span><span style="color:#f44f4f">"'"</span><span style="color:#3daee9">)</span>
<span style="color:#3daee9">$(</span><span style="font-weight:bold">info</span><span style="color:#f44f4f"> </span><span style="color:#f44f4f">'"'</span><span style="color:#3daee9">)</span>
<span style="color:#3daee9">$(</span><span style="font-weight:bold">info</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">$(</span><span style="color:#2980b9">??</span><span style="color:#3daee9">))</span>
<span style="color:#3daee9">$(</span><span style="font-weight:bold">eval</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">$(</span><span style="font-weight:bold">call</span><span style="color:#f44f4f"> Variable_rule</span><span style="font-weight:bold">,</span><span style="color:#f44f4f">target/compile_flags</span><span style="font-weight:bold">,</span><span style="color:#3daee9">$$</span><span style="color:#f44f4f">{CXX} </span><span style="color:#3daee9">$$</span><span style="color:#f44f4f">(CXXFLAGS)</span><span style="color:#3daee9">))</span>
<span style="color:#3daee9">$(</span><span style="font-weight:bold">eval</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">${</span><span style="font-weight:bold">call</span><span style="color:#f44f4f"> Variable_rule</span><span style="font-weight:bold">,</span><span style="color:#f44f4f">target/link_flags</span><span style="font-weight:bold">,</span><span style="color:#3daee9">$$</span><span style="color:#f44f4f">(CXX) </span><span style="color:#3daee9">$$</span><span style="color:#f44f4f">(LDFLAGS) </span><span style="color:#3daee9">$$</span><span style="color:#f44f4f">{LDLIBS}</span><span style="color:#3daee9">})</span>
</pre></body></html>
|