Editing Cake
HomePage
|
RecentChanges
|
EditorIndex
|
TextEditorFamilies
|
Preferences
Rewrite of [[make]] for generalization and flexibility '''Author:''' Zoltan Somogy '''Source:''' http://sites.google.com/site/texteditors/Home/files/cake.shar.zip '''Family:''' UnixMake '''Platform:''' Unix '''License:''' Open source ''Posted to comp.sources in 1987. A copy of the post is [http://groups.google.com/group/comp.sources.unix/browse_thread/thread/01aedc1863f587d6/3f98376cfc44fcc6 here.]'' Cake is a rewrite of make from the ground up. The main difference is one of attitude: cake is considerably more general and flexible, and can be extended and customized by the user to a much greater extent. It is applicable to a wide range of domains, not just program development: for example, standard cakefiles exist to handle documents and VLSI designs. The main differences between make and cake: * Cake dependencies may be dynamic, and their applicability may be conditional upon a test. * Cake rules have the same syntax and semantics as ordinary dependencies,and may more than one target. * There are no restrictions on the forms of either the targets or the sources. This enables cake to handle files in more than one directory and to interface with SCCS, RCS and archivers, among others, without any special arrangements. * Cake has a more general search algorithm than make. When seeking a target it considers all rules which could update it even if the corresponding intermediate files do not exist; it recreates them if (and only if) it is necessary to do so. * Cakefiles are passed through the C preprocessor. They may therefore #include other cakefiles (including standard ones) and use #if and #ifdef to customize themselves. * Cake allows the user to choose his own shell, and to include shell scripts in actions. * Cake can check to see if a newly 'updated' file has actually been changed via a byte-by-byte comparison, which works even if the modify date has been touched. If there is no change, cake avoids recomputing the file's dependents. * Cake has a lot more options (whether one considers these an improvement of course depends on whether one needs them). Cake is not backwards-compatible with make.
Summary:
This change is a minor edit.
Please calculate
*
=
(Visit
Preferences
to set your user name.)
View other revisions
HomePage
|
RecentChanges
|
EditorIndex
|
TextEditorFamilies
|
Preferences