Make is a widely known UNIX software maintenance utility. Cake is a similar utility with important additional features. Cake is publicly available but much less well known than make. Nichol and Cole [1989] describe why cake is better suited than make for multivendor software maintenance. Here we explain why we at SEP are using cake in active documents. Besides being a more sophisticated document maintenance language, cake saves much storage space by allowing us to abandon many bulky intermediate files if they are buildable from other files. One reason that cake is better suited for this task is that it was designed as a general dependency processor for all types of files, whereas make was only designed as a tool for compiling software.
First we'll review make and see how it differs from cake in environments where some files are missing.