summaryrefslogtreecommitdiff
path: root/devdocs/gnu_make/extending-make.html
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2024-04-07 13:41:34 -0500
committerCraig Jennings <c@cjennings.net>2024-04-07 13:41:34 -0500
commit754bbf7a25a8dda49b5d08ef0d0443bbf5af0e36 (patch)
treef1190704f78f04a2b0b4c977d20fe96a828377f1 /devdocs/gnu_make/extending-make.html
new repository
Diffstat (limited to 'devdocs/gnu_make/extending-make.html')
-rw-r--r--devdocs/gnu_make/extending-make.html16
1 files changed, 16 insertions, 0 deletions
diff --git a/devdocs/gnu_make/extending-make.html b/devdocs/gnu_make/extending-make.html
new file mode 100644
index 00000000..9b6a44b6
--- /dev/null
+++ b/devdocs/gnu_make/extending-make.html
@@ -0,0 +1,16 @@
+ <h1 class="chapter">Extending GNU make</h1> <p>GNU <code>make</code> provides many advanced capabilities, including many useful functions. However, it does not contain a complete programming language and so it has limitations. Sometimes these limitations can be overcome through use of the <code>shell</code> function to invoke a separate program, although this can be inefficient. </p> <p>In cases where the built-in capabilities of GNU <code>make</code> are insufficient to your requirements there are two options for extending <code>make</code>. On systems where it’s provided, you can utilize GNU Guile as an embedded scripting language (see <a href="guile-integration">GNU Guile Integration</a>). On systems which support dynamically loadable objects, you can write your own extension in any language (which can be compiled into such an object) and load it to provide extended capabilities (see <a href="load-directive">The <code>load</code> Directive</a>). </p> <table class="menu" border="0" cellspacing="0"> <tr>
+<td align="left" valign="top">• <a href="guile-integration" accesskey="1">Guile Integration</a>
+</td>
+<td> </td>
+<td align="left" valign="top">Using Guile as an embedded scripting language. </td>
+</tr> <tr>
+<td align="left" valign="top">• <a href="loading-objects" accesskey="2">Loading Objects</a>
+</td>
+<td> </td>
+<td align="left" valign="top">Loading dynamic objects as extensions. </td>
+</tr> </table><div class="_attribution">
+ <p class="_attribution-p">
+ Copyright © 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Free Software Foundation, Inc. <br>Licensed under the GNU Free Documentation License.<br>
+ <a href="https://www.gnu.org/software/make/manual/html_node/Extending-make.html" class="_attribution-link">https://www.gnu.org/software/make/manual/html_node/Extending-make.html</a>
+ </p>
+</div>