chickadee » make » make/proc

make/proc SPEC ARGVprocedure

Performs a make according to SPEC and using ARGV selecting one or more targets. ARGV can either be a string or a vector or list of strings.

SPEC is a MAKE-SPEC:

 MAKE-SPEC = (list-of MAKE-LINE)
 MAKE-LINE = (list TARGET (list-of DEPEND-STRING) COMMAND-THUNK)
 TARGET = (union string (list-of string)) ; either a string or a list of strings
 DEPEND-STRING = string
 COMMAND-THUNK = (-> void)

To make a target, MAKE/PROC is first called on each of the target's dependencies. If a target is not in the spec and it exists, then the target is considered made. If a target is older than any of its dependencies, the corresponding COMMAND-THUNK is invoked. The COMMAND-THUNK is optional; a MAKE-LINE without a COMMAND-THUNK is useful as a target for making a number of other targets (the dependencies).