manpagez: man pages & more
info make
Home | html | info | man

File: make.info,  Node: Guile Interface,  Next: Guile Example,  Prev: Guile Types,  Up: Guile Integration

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 (*note 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.

© manpagez.com 2000-2025
Individual documents may contain additional copyright information.