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!
Category Application Category Dev. Tools