2004-10-04 [VI] Short for Setok's and Venkat's make. A tcl based replacement for the traditional make. The concepts are the same as the great [smake]. Here's whats different. Also see [smake musings] * There is no setRule command. target accepts patterns as well as names and they're treated the same, resulting in shorter more elegant code. * There is no upTarget command. The whole stack of targets built is available in the local variable stack. * Exec is now called system and has options to be quiet and to ignore errors (a la make) * Target changed is more inline with the traditional make. There are four cases when a target is considered changed. (a) when the code does a [return] 1 (b) when any dependency is built. (c) when a dependency is not built, but is a file with an older timestamp than the target and (d) when the target does not exist as a file at the end of the code. And to a lesser extent: * (commentable) auto logging of commands run * accept multiple targets on command line * allow definition of global variables on the command line * single file (< 300 lines) with no external dependencies (other than tcl). Perfect for the wiki. * new commands dputs (for debug) and log (for logging) and tcl (print command before running). * no compile and link commands (not really core). I have used it extensively. Hope it works for someone else too! ----