NAME¶
cook_bom - bill of materials
SYNOPSIS¶
cook_bom [
option... ]
dirname [
outfile ]
cook_bom -Help
cook_bom -VERSion
DESCRIPTION¶
The
cook_bom program is used to scan a directory and generate a cookbook
fragment containing a bill of materials for that directory. It also includes a
recursive reference, via an ``#include-cooked'' directive, to the bills of
materials for nested directories.
Output is sent to the standard output unless an output filename is specified.
OPTIONS¶
The following options are understood:
- -DIRectory pathname
- This option may be used to specify a directory search path, similar to
cook(1) [search_list] functionality.
- -Help
-
Provide some help with using the cook_bom program.
- -IGnore string
- This option may be used to specify filename patterns to be ignored. It may
be given as many times as required.
- -PREfix string
- This option may be manipulate the name of the manifest files. Defaults to
the empty string if not set.
- -SUFfix string
- This option may be manipulate the name of the manifest files. Defaults to
``/manifest.cook if not set.
- -VERSion
-
Print the version of the cook_bom program being executed.
All other options will produce a diagnostic error.
All options may be abbreviated; the abbreviation is documented as the upper case
letters, all lower case letters and underscores (_) are optional. You must use
consecutive sequences of optional letters.
All options are case insensitive, you may type them in upper case or lower case
or a combination of both, case is not important.
For example: the arguments "-help", "-HEL" and
"-h" are all interpreted to mean the
-Help option. The
argument "-hlp" will not be understood, because consecutive optional
characters were not supplied.
Options and other command line arguments may be mixed arbitrarily on the command
line.
The GNU long option names are understood. Since all option names for
cook_bom are long, this means ignoring the extra leading '-'. The
"
--option=value" convention is also
understood.
EXIT STATUS¶
The
cook_bom command will exit with a status of 1 on any error. The
cook_bom command will only exit with a status of 0 if there are no
errors.
EXAMPLE¶
The intended use of this command is to automatically generate a project file
manifest in an efficient way. If you have a cookbook of the form
all_files_in_. = ;
#include manifest.cook
manifest = [all_files_in_.];
set fingerprint mkdir unlink;
%0manifest.cook: ["if" [in "%0" ""] "then" "." "else" "%0"]
{
cook_bom
[addprefix '--dir=' [search_list]]
"--ignore='*~'"
[need]
[target]
;
}
At the end of this fragment, the manifest variable contains a complete list of
all files in the directory tree. This variable may then be taken apart with
the match_mask function to build ingredients lists.
The constructed
manifest.cook files work for both whole-project and
recursive (not recommended) builds.
COPYRIGHT¶
cook_bom version 2.33
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Miller
The
cook_bom program comes with ABSOLUTELY NO WARRANTY; for details use
the '
cook_bom -VERSion License' command. This is free software and you
are welcome to redistribute it under certain conditions; for details use the '
cook_bom -VERSion License' command.
AUTHOR¶