5 goaljobs - make and cron replacement and business rules manager
9 goaljobs [-o output] [lib.ml...] goals.ml
18 Goaljobs is a flexible build system and business rules manager similar
19 to make and cron, but much more powerful. You can use it to automate
20 many complex tasks that have multiple steps (even with manual steps)
21 that have to be carried out in dependency order.
23 =head2 GETTING STARTED
25 For a tutorial-like introduction to goaljobs, see
26 L<http://rwmj.wordpress.com/tag/goaljobs/>
28 For examples, see the C<examples/> directory in the source and
29 L<http://git.annexia.org/?p=goals.git;a=summary>
31 For reference documentation on how to write scripts, see the
32 L<goaljobs-reference(1)> man page.
34 To read about the Goaljobs API, look for the file C<goaljobs.mli> (in
35 the source code or installed as part of the goaljobs package), or see
36 the HTML documentation installed as part of the goaljobs package.
38 =head2 GOALJOBS WRAPPER SCRIPT
40 C<goaljobs> is a wrapper script that compiles your goals into a binary
41 (program) which can then be run. It takes a set of input files
42 (C<*.ml>) and writes a single output program. The output program has
43 the same name as the last input file minus C<.ml>, but you can
44 override this using the I<-o> option.
46 Note that the C<goaljobs> script is just a simple wrapper around the
47 OCaml compiler (L<ocamlopt(1)>).
55 Display short help and exit.
59 Enable debugging symbols in the output binary.
65 Pass these options directly to the OCaml compiler. You can use this
66 to include OCaml modules from another directory. The C<+package> form
67 includes a package relative to the OCaml library directory
72 Set the name of the output binary.
74 The default is to use the name of the final source file, after
75 removing the C<.ml> extension.
77 =item B<--package> package(s)
79 This passes I<-package package(s)> to L<ocamlfind(1)>. You can use it
80 to enable OCaml packages, eg:
82 goaljobs --package bigarray,libvirt source.ml
86 If goaljobs is installed in a non-standard directory, pass the name of
87 the directory using this option. You can also use this if you want to
88 run goaljobs without installing it (pass the goaljobs source
95 L<goaljobs-reference(1)>,
100 Richard W.M. Jones <rjones @ redhat . com>
104 (C) Copyright 2013 Red Hat Inc.,
106 This program is free software; you can redistribute it and/or modify
107 it under the terms of the GNU General Public License as published by
108 the Free Software Foundation; either version 2 of the License, or
109 (at your option) any later version.
111 This program is distributed in the hope that it will be useful,
112 but WITHOUT ANY WARRANTY; without even the implied warranty of
113 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
114 GNU General Public License for more details.
116 You should have received a copy of the GNU General Public License
117 along with this program; if not, write to the Free Software
118 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.