odin - software build and configuration management system
SYNOPSIS
odin [ -c cache ] [ -r ] [ -R ] [ command ... ]
DESCRIPTION
odin satisfies requests for files produced by software tools by automatically
invoking the minimum number of tools necessary to produce those files.
When a build step fails,
odin will continue with other build steps that do not depend on the output
of the failed build step.
If
odin is invoked with no command arguments,
odin commands are read from standard input.
A simple emacs-like command history and editing facility is provided
(see editline(3) ).
A basic
odin command consists of a source file name followed by a sequence of operations,
where an operation is either a parameterization, a derivation, or a selection.
A parameterization is specified as a plus sign, followed by a parameter type,
optionally followed by a parameter value.
If the parameter value is a file, it is placed in parentheses.
A derivation is specified as a colon followed by a file type.
A selection is specified as a slash followed by a label (a symbol).
A question-mark anywhere in an
odin command will generate a help message
indicating what could appear in the place of the question-mark.
All files computed by
odin are stored under a directory called a
cache. The location of the cache is the value of the
-c command line argument if specified;
otherwise, it is the value of the shell variable
ODIN if set; otherwise, it is the directory
.ODIN in your home directory.
If the cache does not exist, a cache is created with symbolic links to a
set of tool packages.
By default, tool packages from
/usr/lib/Odin are used. Additional packages can be included by specifying
a colon separated list of package directories in the
ODINPATH shell variable.
OPTIONS
-c cache
Use the directory
cache as the cache.
-r
Reset the cache.
This deletes all computed files currently stored in the cache.
-R
Reset the packages.
This resets the cache and installs the most recent version of each tool
package.
EXAMPLES
test.c :exe
is the executable produced from compiling and loading
test.c.
test.c +? :exe
would generate a list of the parameter types that are applicable to the
computation of
:exe from
test.c.
test.c,v +version=1.2 +inc_sp=(../include) :exe
is the executable produced from version 1.2 of
test.c where include files are found in the directory
../include.
test.c :output/DATA
is the output file named
DATA produced when running the executable for
test.c.