stdlib: Implement dirname(), basename() and extension() functions.
[goals.git] / docs / goals.pod
index eca8876..cf67a45 100644 (file)
@@ -2,13 +2,14 @@
 
 =head1 NAME
 
-goals - an experimental tool that generalizes "make"
+goals - an experimental tool that generalizes “make”
 
 =head1 SUMMARY
 
  goals ['TARGET'] ['VAR=VALUE']
        [-C|--directory DIRECTORY] [-d] [-f|--file Goalfile]
-       [-I|--include DIRECTORY] [--no-prelude]
+       [-I|--include DIRECTORY] [-j|--jobs JOBS] [--no-prelude]
+       [-s|--silent|--quiet]
 
  goals --help
 
@@ -16,7 +17,17 @@ goals - an experimental tool that generalizes "make"
 
 =head1 DESCRIPTION
 
+Goals is a command line tool similar in concept to L<make(1)> — a way
+to express dependencies between tasks that need to be done.  Goals
+generalizes make so it can express dependencies between not just files
+but anything such as URLs, remote files, remote builds and more.  It
+is also very extensible using only shell scripting, and it fixes many
+problems that make suffers from.
 
+This manual page documents the command line tool and options.
+
+There is an introduction to and tutorial on writing goal files, as
+well as a reference manual in L<Goalfile(5)>.
 
 =head1 OPTIONS
 
@@ -57,13 +68,21 @@ if I<-C> was not used.
 Specify an include directory, used when including goal files using the
 C<include> directive.  You can use this option multiple times.  Later
 directories have priority over earlier ones.  There is also an
-implicit C<%stdlib> directory which is used for prelude files (see
-L<goals-reference(5)>).
+implicit C<%stdlib> directory which is used for prelude files.
 
 Note that if a relative path is given here, it is relative to the
 directory specified with the I<-C> option, or to the current directory
 if I<-C> was not used.
 
+=item B<-j> JOBS
+
+=item B<--jobs> JOBS
+
+Set the maximum number of commands that can run at the same time.
+Unlike make, goals defaults to running in parallel, setting the
+default to the number of cores on the machine.  To disable parallel
+jobs, you must use S<I<-j 1>>.
+
 =item B<--no-prelude>
 
 Do not load F<prelude.gl> from C<%stdlib>.  The default is that the
@@ -71,11 +90,20 @@ prelude is always loaded automatically before any initial goal file
 (but you can redefine prelude definitions in your goal file if you
 want).
 
+=item B<-s>
+
+=item B<--silent>
+
+=item B<--quiet>
+
+Don't print the shell commands that are run.  This is the same as
+turning all S<C<{ CODE }>> sections into S<C<@{ CODE }>> sections.
+
 =back
 
 =head1 SEE ALSO
 
-L<Goalfile(5)>, L<goals-reference(5)>, L<make(1)>.
+L<Goalfile(5)>, L<make(1)>.
 
 =head1 AUTHORS