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 (SeeEval 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.