Filter Chains Processor

DESCRIPTION

Filter Chains Processor (FCP) is a command line utility that handles multiple files transformations, automatically building filter chains in order to transform each input file from its format to the desired output format.

Each filter chain is computed dinamically, using external tools (defined by the user in a configuration file).

USAGE

Usage: fcp [OPTION]... [TRANSFORMATION]...

Options:
  -r, --rules=FILE        use alternate rules file
                          [default $HOME/.fcp/rules]
  -m, --max-depth=NUM     use NUM as max filter-chains depth
                          [default 16]
  -t, --temp-dir=DIR      use DIR as temporary directory
                          [default $HOME/.fcp/tmp]
  -s, --separator=CHAR    use CHAR as INPUTFILE/OUTPUTFILE separator
                          [default `:']
  -q, --no-std-rules      do not load standard rules
  -b, --dump-rules        dump rules base, then exit
  -n, --dry-run           display commands without modifying any files
  -f, --force             consider all files out of date
  -d, --debug             enable debugging traces
  -v, --verbose           verbosely report processing
  -h, --help              print this help, then exit
  -V, --version           print version number, then exit

Although some (maybe) sane default values are hardwired into the program, the following options allow overriding:

Rules file format

Input rules files use a stripped-down grammar which resembles Makefile's grammar. Input files contain: directives, comments and rules.

Directives

A "directive" is a command for `fcp' to do something special while reading the rules file. These include:

Comments

`#' in a line of a rules file starts a "comment". It and the rest of the line are ignored, except that a trailing backslash not escaped by another backslash will continue the comment across multiple lines. A line containing just a comment (with perhaps spaces before it) is effectively blank, and is ignored.

If you want a literal `#', escape it with a backslash (e.g., `\#').

Comments may appear on any line in the rules file, although they are treated specially in certain situations

Rules

A rule says how to build one or more files, called the rule's targets. A rule has the following format:

<INPUT_EXTENSION>:<OUTPUT_EXTENSION>:
         <COMMAND> [PARAMETERS]...
         <COMMAND> [PARAMETERS]...

The following special variables are available inside each target commands:

Examples

Dumping the actual rules-base
$ fcp -b

COPYING

FCP is licensed under the GNU General Public License, version 2

MAINTAINERS

Francesco Salvestrini

AUTHORS

Francesco Salvestrini

MAILING LISTS

The project has a single moderated mailing list, with an archive. In order to post a message to the mailing list you must be subscribed. Please consult the mailing list page for more information on subscribing to the mailing list.

REPORT A BUG

If you think you have found a bug then please send as complete a report as possible to <fcproc-generic@nongnu.org>. An easy way to collect all the required information, such as platform and compiler, is to include in your report the config.log file available at the end of the configuration procedure.

If you have a patch for a bug that hasn't yet been fixed in the latest repository sources, please be so kind to create it using the repository sources, not the release sources.