make: Guile Interface
12.1.2 Interfaces from Guile to 'make'
--------------------------------------
In addition to the 'guile' function available in makefiles, 'make'
exposes some procedures for use in your Guile scripts. At startup
'make' creates a new Guile module, 'gnu make', and exports these
procedures as public interfaces from that module:
'gmk-expand'
This procedure takes a single argument which is converted into a
string. The string is expanded by 'make' using normal 'make'
expansion rules. The result of the expansion is converted into a
Guile string and provided as the result of the procedure.
'gmk-eval'
This procedure takes a single argument which is converted into a
string. The string is evaluated by 'make' as if it were a
makefile. This is the same capability available via the 'eval'
function (Eval Function). The result of the 'gmk-eval'
procedure is always the empty string.
Note that 'gmk-eval' is not quite the same as using 'gmk-expand'
with the 'eval' function: in the latter case the evaluated string
will be expanded _twice_; first by 'gmk-expand', then again by the
'eval' function.