Last update: 27th Jan 2004

smake is a utility that allows developers to build makefiles in 100% TCL (with the smake extensions). This allows one to use all the facilities that TCL provides to deal with large projects like namespaces, packages, database access etc. With the traditional UNIX make this is difficult and often ugly hacks are involved. Plus, with TCL you can easily replace the dependency checking routines to suit the needs of the project (f.ex. to automatically check and fetch new versions of the file from the net, without having to specify the operation for each target). The latest version includes a fairly sophisticated but easy to understand rule system, which (unlike make) offers the possibility to specify general rules and more specific exceptions to these rules

TCL is a syntactically simple, portable but powerful language which is easy to learn and expand. It takes less than an hour to learn enough to be able to create simple makefiles for smake (a simple example is included in the manpage). For further information on TCL see the official Tcl website.




smake is itself made in TCL so all that is required to use the software on any platform is a TCL installation and the smake tar package:


Kristoffer Lawson,