The Ciao lpmake scripting facility

A portable make with all the power of Prolog inside
Facultad de Informática
Universidad Politécnica de Madrid
Manuel Hermenegildo
The Ciao Development Team

lpmake is a small Ciao application which uses the Ciao make library to implement dependency-driven scripts in a similar way to the Unix make facility. lpmake offers three main advantages. First, portability: compiled to bytecode it runs without need for recompilation on any platform where Ciao is supported. Second, improved programming capabilities. While lpmake itself is simpler than make, the full Ciao Prolog language is available within lpmake scripts. This allows establishing more complex dependencies and programming powerful operations without resorting to external packages or operating system commands. The latter is important because it allows execution on multiple operating systems without needing external facilities. Finally, lpmake offers autodocumentation: it allows adding comments to targets. These are used to report progress while running and also to document what lpmake can be used for in a given directory: calling lpmake (without arguments) in a directory explains what commands the configuration files in that directory implement and what these commands will do.

Parts of this manual