Provided by: cook_2.33-1_amd64 bug

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

        Peter Miller   E-Mail:   pmiller@opensource.org.au
        /\/\*             WWW:   http://miller.emu.id.au/pmiller/