.\" .\" cook - file construction tool .\" Copyright (C) 1994, 1997, 2007, 2008, 2010 Peter Miller .\" .\" This program is free software; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by .\" the Free Software Foundation; either version 3 of the License, or .\" (at your option) any later version. .\" .\" This program is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public License .\" along with this program. If not, see .\" . .\" .SS "Release 1.5" .TP 2n .if t \(bu .if n * The .I c_incl program now correctly prints the names of absent include files, causing them to be cooked correctly in a greater number of cases. .TP 2n .if t \(bu .if n * Recipes with no ingredients are now only applied if the target is absent. To still use the previous behaviour, use the "set force" clause on the recipe. .TP 2n .if t \(bu .if n * It is now possible to supplement the last-modified time with a fingerprint, so cook does even fewer unnecesary recompilations than before. Put the statement .RS .ft CW set fingerprint; .ft R .RE somewhere near the top of your .I Howto.cook file for this to be the default for your project. .TP 2n .if t \(bu .if n * There is a new form of include directive: .RS .ft CW #include-cooked \fIfilename\fP... .ft R .RE When files are included in this way, .I cook will check to make sure they are up-to-date. If not, they will be cooked, and then .I cook will start again and re-read the cookbook. This is most often used for maintaining include-dependency files. .TP 2n .if t \(bu .if n * .B Cook now configured using a program called .IR configure , distributed with the package. The .I configure program is generated by GNU Autoconf. See the .I BUILDING file for more details. .TP 2n .if t \(bu .if n * The semantics of .I search_list have been improved. It is now guaranteed that when ingredients change they result in targets earlier in the .I search_list being updated. .TP 2n .if t \(bu .if n * There is now a .I make2cook translator, to translate .I Makefile files into .I Howto.cook files. Most of the GNU Make extensions are understood. There is no exact semantic mapping between .I make and .I cook, so manual editing is sometimes required. See .IR make2cook (1) for more information. .TP 2n .if t \(bu .if n * .I Cook now understands archive member references, in the same format as used by .IR make , et al. Archive member references benefit from stat caching and fingerprinting, just as normal files do.