summaryrefslogtreecommitdiff
path: root/devdocs/gnu_make/guile-integration.html
blob: 681fa08850203ea50d80a3d54e65fa74572da173 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
  <h1 class="section">GNU Guile Integration</h1>   <p>GNU <code>make</code> may be built with support for GNU Guile as an embedded extension language. Guile implements the Scheme language. A review of GNU Guile and the Scheme language and its features is beyond the scope of this manual: see the documentation for GNU Guile and Scheme. </p> <p>You can determine if <code>make</code> contains support for Guile by examining the <code>.FEATURES</code> variable; it will contain the word <var>guile</var> if Guile support is available. </p> <p>The Guile integration provides one new <code>make</code> function: <code>guile</code>. The <code>guile</code> function takes one argument which is first expanded by <code>make</code> in the normal fashion, then passed to the GNU Guile evaluator. The result of the evaluator is converted into a string and used as the expansion of the <code>guile</code> function in the makefile. </p> <p>In addition, GNU <code>make</code> exposes Guile procedures for use in Guile scripts. </p> <table class="menu" border="0" cellspacing="0"> <tr>
<td align="left" valign="top">• <a href="guile-types" accesskey="1">Guile Types</a>
</td>
<td> </td>
<td align="left" valign="top">Converting Guile types to <code>make</code> strings. </td>
</tr> <tr>
<td align="left" valign="top">• <a href="guile-interface" accesskey="2">Guile Interface</a>
</td>
<td> </td>
<td align="left" valign="top">Invoking <code>make</code> functions from Guile. </td>
</tr> <tr>
<td align="left" valign="top">• <a href="guile-example" accesskey="3">Guile Example</a>
</td>
<td> </td>
<td align="left" valign="top">Example using Guile in <code>make</code>. </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/Guile-Integration.html" class="_attribution-link">https://www.gnu.org/software/make/manual/html_node/Guile-Integration.html</a>
  </p>
</div>