aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTharre <tharre3@gmail.com>2015-04-04 01:52:14 +0200
committerTharre <tharre3@gmail.com>2015-04-04 01:52:14 +0200
commit04cf7c6351f0802899d2cb5d8552b2a4b1c08acf (patch)
treeb0673a9916ecb706b6d1b61de76d2fd8348d1ae0
parent91bef81e00a7e289509125686418a97c591eb459 (diff)
downloadredo-04cf7c6351f0802899d2cb5d8552b2a4b1c08acf.tar.gz
redo-04cf7c6351f0802899d2cb5d8552b2a4b1c08acf.tar.xz
redo-04cf7c6351f0802899d2cb5d8552b2a4b1c08acf.zip
Add basic man pages for documentation
-rw-r--r--docs/redo-always.1.ronn31
-rw-r--r--docs/redo-ifchange.1.ronn34
-rw-r--r--docs/redo-ifcreate.1.ronn35
-rw-r--r--docs/redo.1.ronn84
4 files changed, 184 insertions, 0 deletions
diff --git a/docs/redo-always.1.ronn b/docs/redo-always.1.ronn
new file mode 100644
index 0000000..164877f
--- /dev/null
+++ b/docs/redo-always.1.ronn
@@ -0,0 +1,31 @@
+redo-always(1) -- rebuild always
+================================
+
+## SYNOPSIS
+
+`redo-always`
+
+## DESCRIPTION
+
+`redo-always` creates a 'always' dependency on `REDO_PARENT_TARGET` - it will be
+rebuilt every time. However, should multiple files depend on the same target
+it will only be rebuild once.
+
+This command should usually be called from within a .do script. See redo(1).
+
+## EXAMPLES
+
+(none yet)
+
+## ENVIRONMENT
+
+Requires `REDO_PARENT_TARGET` and `REDO_ROOT` to be defined. See redo(1) for a
+description of these variables.
+
+## SEE ALSO
+
+redo-ifchange(1), redo-ifcreate(1)
+
+## REDO
+
+Part of the redo(1) suite.
diff --git a/docs/redo-ifchange.1.ronn b/docs/redo-ifchange.1.ronn
new file mode 100644
index 0000000..6b9bcb6
--- /dev/null
+++ b/docs/redo-ifchange.1.ronn
@@ -0,0 +1,34 @@
+redo-ifchange(1) -- rebuild if target changes
+=============================================
+
+## SYNOPSIS
+
+`redo-ifchange` [<targets>...]
+
+## DESCRIPTION
+
+`redo-ifchange` creates a 'on change' dependency on the given <targets>. Should
+any of those change in the future, then `REDO_PARENT_TARGET` (usually the target
+that is being built by the .do script) is flagged out-of-date.
+
+All <targets> that are out-of-date will be rebuild **in random order** by the
+equivalent of _redo target_.
+
+This command should usually be called from within a .do script. See redo(1).
+
+## EXAMPLES
+
+(none yet)
+
+## ENVIRONMENT
+
+Requires `REDO_PARENT_TARGET` and `REDO_ROOT` to be defined. See redo(1) for a
+description of these variables.
+
+## SEE ALSO
+
+redo-ifcreate(1), redo-always(1)
+
+## REDO
+
+Part of the redo(1) suite.
diff --git a/docs/redo-ifcreate.1.ronn b/docs/redo-ifcreate.1.ronn
new file mode 100644
index 0000000..365feae
--- /dev/null
+++ b/docs/redo-ifcreate.1.ronn
@@ -0,0 +1,35 @@
+redo-ifcreate(1) -- rebuild if target is created
+================================================
+
+## SYNOPSIS
+
+`redo-ifcreate` [<targets>...]
+
+## DESCRIPTION
+
+`redo-ifcreate` creates a 'on create' dependency on the given (nonexistent)
+<targets>. Should any of those be created in the future, then
+`REDO_PARENT_TARGET` (usually the target that is being built by the .do script)
+is flagged out-of-date.
+
+If any of the <targets> already exist `redo-ifcreate` will return a nonzero exit
+code.
+
+This command should usually be called from within a .do script. See redo(1).
+
+## EXAMPLES
+
+(none yet)
+
+## ENVIRONMENT
+
+Requires `REDO_PARENT_TARGET` and `REDO_ROOT` to be defined. See redo(1) for a
+description of these variables.
+
+## SEE ALSO
+
+redo-ifchange(1), redo-always(1)
+
+## REDO
+
+Part of the redo(1) suite.
diff --git a/docs/redo.1.ronn b/docs/redo.1.ronn
new file mode 100644
index 0000000..1138507
--- /dev/null
+++ b/docs/redo.1.ronn
@@ -0,0 +1,84 @@
+redo(1) -- an elegant and minimal build tool
+============================================
+
+## SYNOPSIS
+
+`redo` [<options>...] [<targets>...]
+
+## DESCRIPTION
+
+`redo` is a powerful yet minimalistic tool for rebuilding files and their
+dependencies from source, based on rules specified in .do scripts. These
+scripts have the unique property of being language independent - they only
+require a valid shebang-like line.
+
+`redo` is inherently recursive, it works by executing .do scripts which call
+redo-ifchange(1) or other redo subcommands which in turn again execute .do
+scripts. This enables `redo` to be clean, modular and extremely fast.
+
+`redo` is also atomic, at no point in the build process exists a state in which
+a truncated file is left in place. Any changes to .do files immediately result
+in depending targets getting flagged out-of-date. This means the user doesn't
+have to care about the state his build is in anymore, it's all handled by `redo`
+
+## FILES
+
+The `redo` command expects to find a suitable .do script for the specified
+<targets>. If none is given, 'all' is assumed instead.
+
+Suitable .do script pathnames are determined using the following pattern in
+descending order:
+
+ * target filename + '.do'
+ * default.ext.do
+ * repeat for ../, except if we are already in REDO_ROOT
+
+Where '.ext' is everything following the last dot (.) that could be found in the
+target filename. `redo` will return an nonzero exit code should no suitable .do
+script exist.
+
+## ARGUMENTS
+
+If a suitable .do script was found then it will be executed with the following
+arguments:
+
+ * $1 - The filename of the target file.
+ * $2 - The target filename minus extension
+ * $3 - A temporary file that will be renamed to the target filename if the .do
+ script returns an nonzero exit code.
+
+For `redo` to function correctly the target that is being built by the .do
+script must be saved as $3.
+
+## SHEBANG
+
+(not documented yet)
+
+## OPTIONS
+
+ * `-j`[<maxjobs>], `--jobs`[=<maxjobs>]:
+ Execute no more than <maxjobs> .do scripts at any point in parallel. If
+ this option was given without an argument, then `redo` will not limit the
+ number of jobs. By default this equals the number of threads of the target
+ machine or 1 if this couldn't be determined.
+
+## EXAMPLES
+
+(none yet)
+
+## ENVIRONMENT
+
+ * `REDO_PARENT_TARGET`:
+ The target that shall be build by the .do script.
+
+ * `REDO_ROOT`:
+ The canonicalized absolute pathname corresponding to the 'root' directory
+ of `redo`, which contains the _.redo/_ directory.
+
+## SEE ALSO
+
+redo-ifchange(1), redo-ifcreate(1), redo-always(1)
+
+## REDO
+
+Part of the redo(1) suite.